Plateau Report Designer
Plateau Report Designer
i
SuccessFactors Proprietary and Confidential
Contents
Introduction............................................................................... 1
Audience for This Document ............................................................................... 1
Software Referenced by This Document ................................................................. 1
Books About BIRT Report Designer ........................................................................ 1
Basic Orientation......................................................................... 2
Files you use in Plateau Report Designer ................................................................ 2
Required Files .............................................................................................. 2
Supporting Files ............................................................................................ 2
The Graphical User Interface (GUI) ....................................................................... 3
The Resources Pane ....................................................................................... 4
The Layout Pane ........................................................................................... 5
The Properties Pane ...................................................................................... 5
GUI Tips ........................................................................................................ 6
Linked to Library Symbol................................................................................. 6
Context Sensitivity of Interface ........................................................................ 6
Create/Unpack Report Package ........................................................................ 6
Preview Report ............................................................................................ 6
Linking the .properties File to See Labels ............................................................ 7
Refresh ...................................................................................................... 7
Fundamental Concepts ................................................................. 8
Plateau Report Designer and BIRT ......................................................................... 8
Plateau Report Designer Extensions to BIRT Report Designer ........................................ 8
Opening and Saving Report Packages .................................................................. 8
Support for Operators .................................................................................... 9
Addition to Data Sets ..................................................................................... 9
Security ........................................................................................................ 9
SuccessFactors Learning Administration Security ................................................... 9
SuccessFactors Learning End User Security ......................................................... 10
User Input on Result Sets ................................................................................. 10
Filtering Result Sets..................................................................................... 10
Sorting/Ordering Result Sets .......................................................................... 11
Grouping Result Sets ....................................................................................... 12
Data Localization ........................................................................................... 13
Using Report Context to Return Localized Values ................................................. 13
Manually Joining Tables to Return Localized Values .............................................. 13
Common Tasks........................................................................... 15
Selecting Data in a Data Set .............................................................................. 15
SQL Syntax for Data Sets ............................................................................... 15
Bracket Syntax ................................................................................................................... 16
SuccessFactors Learning Comments in SQL ................................................................... 16
Result Set Filtering ......................................................................................... 17
Domain Security ............................................................................................ 20
Sorting/Ordering Result Sets ............................................................................. 21
Create Parameter for Ordering ....................................................................... 22
Refer to the Parameter in the SQL Statement ..................................................... 22
Grouping Result Sets ....................................................................................... 23
Creating a CSV Output Report ........................................................................... 25
Development Strategy ................................................................. 27
Testing Reports ............................................................................................. 27
iii
SuccessFactors Proprietary and Confidential
Test Early and Often .................................................................................... 27
Create Realistic Test Cases ............................................................................ 27
Promote and Test ....................................................................................... 27
Planning Reports ............................................................................................ 28
Colors, Images, and Fonts ............................................................................. 29
Data Representation .................................................................................... 29
Result Set Filters ........................................................................................ 29
Security ................................................................................................... 30
Ordering and Grouping ................................................................................. 30
Research and Retrieve Data .............................................................................. 30
Researching the SuccessFactors Learning Database............................................... 30
Writing SQL to Retrieve the Data ..................................................................... 31
Map Data Sets onto Layout ............................................................................... 31
Checklist for Importing Reports to SuccessFactors Learning ....................................... 31
Example................................................................................... 33
As-is Sign-in Sheet Report................................................................................. 33
To-be Sign-in Sheet Report ............................................................................... 33
Changing the Layout: Fonts, Colors, Images, and Text .............................................. 35
Adding the Logo to the Library ....................................................................... 35
Adding the Logo to the Report ........................................................................ 36
Creating a Theme in the Library and Adding Styles ............................................... 36
Associating the ACMETheme to the Report ......................................................... 37
Associating Styles with Report Elements ............................................................ 37
Adding Elements to Report Body ..................................................................... 38
Splitting Cells ............................................................................................ 39
Adding Internationalized Text ........................................................................ 39
Moving and Deleting Report Elements ............................................................... 40
Changing Data: Getting New Data, Adding Conditional Text ....................................... 40
Placing Preexisting Data in the Report .............................................................. 41
Researching and Placing E-Mail Address via Select Statement Addition ....................... 41
Researching and Placing Organization Description via Join ..................................... 42
Aggregating Data to Create Totals ................................................................... 43
Inserting Dynamic Text ................................................................................. 44
Formatting Data ............................................................................................ 46
Automatic Formatting Based on Data Type ......................................................... 46
Using Expression Builder to Format Data ........................................................... 47
iv
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Introduction
Plateau Report Designer extends the BIRT Report Designer. The BIRT
Report Designer is an open source application built in the Eclipse
framework. This document describes some basic concepts of the Plateau
Report Designer, the underlying BIRT Report Designer, and the BIRT
reporting engine.
Introduction ● 1
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
Basic Orientation
Required Files
SuccessFactors Learning Reports must have the following two files. Because
they are required, SuccessFactors Learning bundles them together in a report
package.
.rptlibrary—.rptlibrary files are report library files. They contain shared
resources such as styles, data sources, and images. SuccessFactors
Learning contains three libraries:
PlateauThemes.rptlibrary contains the images (like logos) and
style sheets (themes) that control the look of reports.
PerformanceThemes.rptlibrary contains the images and style
sheets (themes) that control the look of performance reports.
Plateau.rptlibrary contains everything else, like report parameters.
In general we recommend that you do not change
Plateau.rptlibrary.
Performance.rptlibrary is a specific library that applies to the
Printed Performance Review Template only. Unless you are
changing the printed performance review, you can ignore it.
TalentPoolsUserLibrary.rptlibrary is a specific library that applies
to the printed reports for Talent Pools.
.rptdesign—.rptdesign files are report design files. They contain information
unique to the report and links to shared resources in the library.
When you pass reports between SuccessFactors Learning and Plateau Report
Designer, you pass a .zip file package that contains an optional .properties
file.
Supporting Files
SuccessFactors Learning reports often use the following supporting files.
2 ● Basic Orientation
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
.properties—Reports often use one .properties file per report for I18N
labels. Any report delivered by SuccessFactors Learning, for example, is
internationalized and so uses a .properties file.
Review.xml—Review.xml is used by one .rptdesign file in SuccessFactors
Learning, the printed Performance Review Template.
Supporting files are not necessarily part of the report package. You obtain
them in other ways, such as the label import/export wizard for .properties
files.
Basic Orientation ● 3
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
4 ● Basic Orientation
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Styles—Styles define the look of content in the layout pane much like
CSS.
Libraries—Every report needs at least one library, which contains shared
resources.
See the BIRT help for specific information and usage of tabs like the Data
Explorer, Outline, Palette, and Resource Explorer.
Basic Orientation ● 5
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
GUI Tips
When working in Plateau Report Designer, keep the following tips in mind
for the interface.
Preview Report
When working on a report, you can and should test it often. You can test it
in two ways:
Click the View Report button in the toolbar.
Click the Preview tab in the layout pane.
6 ● Basic Orientation
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Refresh
Plateau Report Designer can require you to refresh the interface to pick up
changes. Most commonly, you need to refresh:
Data bindings—You often need to refresh data binding, particularly
when you change a data set.
Resource explorer—When you add a new resource to the workspace, you
can refresh the resource explorer to bring new files into the Properties
pane.
Basic Orientation ● 7
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
Fundamental Concepts
8 ● Fundamental Concepts
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Security
Report security controls two aspects of reporting:
The reports that a user can access to run: security can allow a given set of
users access to run a given set of reports and likewise deny a set of users
access.
The records in the result set of a report: security can ensure that reports
return only records that the report runner has access to.
Security works differently in SuccessFactors Learning Administration and the
SuccessFactors Learning end user environment.
10 ● Fundamental Concepts
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Users click the Filter button in the User field to open the filter of the search
selector. There, they can submit a filter by selecting user attributes. Note that
the User search selector also contains a User Status field, which the report
runner can use to filter his or her result set. The User Status Plateau Report
Designer parameter is on the first page for convenience.
Users submit, for example, a filter that returns all users in a given role who
are not active. The report runs and returns a result set of only those users.
Fundamental Concepts ● 11
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
In the following example, you see the run-time results of order (called sorting
in this case, for ease of use for the user). The user can order by Competency,
Trend, or Current Rating.
In Plateau Report Designer at design time, you match the ordering parameter
with the ORDER BY statement in the SQL of a data set. Plateau Report
Designer handles ordering in the SQL statement for greater performance. It
passes the ordering on to the DBMS, which can handle it more efficiently
than the application server. If you need to understand the details of ordering,
see the Sorting/Ordering Result Sets section on page 21.
Each of the five is a different .rptdesign file. Each .rptdesign file has its
grouping set in the Layout pane of Plateau Report Designer.
We experimented with other methods to handle dynamic grouping in a single
.rptdesign file, such as using the Plateau Report Designer scripting engine to
switch layouts dynamically. The dynamic approaches proved overly complex
12 ● Fundamental Concepts
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
and difficult to maintain. The simpler approach was to create the report
groups. If you need to understand the details of grouping, see the Grouping
Result Sets section on page 23.
Data Localization
Starting in Learning 6.2.0, we localized some fields. Localized fields allow
data, like an item title, to appear to users in their native language.
Administrators create one item and translate the item’s title into many. Users
searching for items in French, for example, retrieve the item title in French
and English speakers return the title of the exact same item in English.
To make data localization work, the system stores a label ID instead of plain
text. For example, if you ran a SQL query and retrieved item titles, you see an
ID: title.Item.0b657a134574bed6bdbb7d8e6dfd7fff. Learning cross
references the user’s locale with the ID to return the localized label value.
Fundamental Concepts ● 13
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
14 ● Fundamental Concepts
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Common Tasks
Common Tasks ● 15
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
Bracket Syntax
Data sets you create are SQL SELECT statements written against the
SuccessFactors Learning transactional data. As such, you must have a solid
understanding of SQL syntax.
SuccessFactors Learning custom reporting, however, adds syntax that it can
interpret after you import the report. The additional syntax is contained in
brackets, and therefore called bracket syntax.
If you download a delivered report and look at its data set, syntax outside the
brackets is standard SQL syntax. Syntax inside the brackets is SuccessFactors
Learning syntax. The following are examples of bracketed syntax:
[UserSearch]
[security:PA_STUDENT]
[order_by_parameter OrderBy
“FNAME=a.fname;LNAME=a.lname”]
[sub-select:ApprovedState "status_val=1"]
The syntax is interpreted by the SuccessFactors Learning server and,
therefore, works after you import the report to SuccessFactors Learning.
16 ● Common Tasks
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
You test the security on the PA_STUDENT table and the UserSearch
filter after you import to SuccessFactors Learning.
The opening comment syntax (/**) contains two asterisks instead of the
usual one for Java comment syntax. It must have two so that the import
wizard in SuccessFactors Learning can recognize the comment and strip
the characters on import.
The convention of adding WHERE 1=1 is for your ease of design. It
ensures that you have a WHERE clause so that you know everything in
the comments can use the AND conjunction.
After you import the report to SuccessFactors Learning, the SQL in the
report is recognized as:
SELECT a.fname, a.lname
FROM pa_student a
WHERE 1=1
AND a.stud_id in [UserSearch]
AND [security:pa_student a]
Common Tasks ● 17
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
The result, at run time, is the User Search Selector (filter). The user sees the
User fields, as below:
You can also create your own parameters and call them in the SQL
statement. The example, UserPlanStatusBySup.rptdesign, includes such a
parameter, ActiveFilter.
1. Create a parameter in the Report Parameters folder of the report. For
example, you can create an ActiveFilter parameter to appear like the User
Status list (below) at run time. It is a Plateau Report Designer parameter
that is a list of values: active, not active, and both.
18 ● Common Tasks
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
3. Add the ActiveFilter parameter to the SQL statement in the data source.
The parameter must go into in the comment notation as
described in the SuccessFactors Learning Comments in SQL
section on page 16.
The parameter must go in brackets [] and must be typed exactly
as it is in the library.
The parameter must not contain white space.
Common Tasks ● 19
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
Domain Security
This section assumes that you understand the concept of SuccessFactors
Learning security as described in the SuccessFactors Learning Administration
Security section on page 9. It describes how you use Plateau Report Designer
SQL syntax to enforce domain security in the result set.
To use SQL syntax to enforce domain security on reports’ result sets, first
choose the table/entity that closely matches your SELECT statement. It can
be any table that includes a DMN_ID (Domain ID) column. For example, if
you write a report to return users, use the user record (pa_student table). If
you write a report to return learning items, use the learning item record
(pa_cpnt). If you write a report to return the users enrolled in a given
learning item, think about how you want to restrict the report: by the report
runner’s access to users or the report runner’s access to learning items.
After you select a record to enforce domain security, you insert the following
syntax into the WHERE clause, inside the comments (as described in the
SuccessFactors Learning Comments in SQL section on page 16). The syntax
is interpreted at runtime by SuccessFactors Learning to generate a more
complex query for domain filtering. The object of WHERE clause takes the
syntax:
[security:the domain restricted entity]
For example, if you use the pa_student entity for domain restriction, type:
[security:pa_student]
The syntax [security:pa_student] filters all records in the result set where the
report runner is denied access to users (students) because of the domain
associated with the user record. If the report runner is in the manufacturing
20 ● Common Tasks
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
domain and is restricted from seeing users in the sales domain, the report
returns no users from the sales domain.
The following SQL query selects the user ID, first name, and last name from
the pa_student table.
Use the Special comment characters in the where clause to prevent the where
clause from executing while you design the SQL statement.
SELECT a.stud_id, a.lname, a.fname
FROM pa_student a
WHERE a.active = ?
/** AND a.stud_id in [UserSearch]
AND [security:pa_student a]
ORDER BY [order_by_parameter OrderBy
"FNAME=a.fname;LNAME=a.lname"]
*/
If the data in the table is as follows:
STUD_ID Active LNAME FNAME DMN_ID
GW Y Washington George Manufacturing
TJ Y Jefferson Thomas PUBLIC
AL Y Lincoln Abe Sales
TR N Roosevelt Theodore Manufacturing
RR Y Reagan Ronald Administration
The WHERE clause returns the following students under report runners
with access to domains. PUBLIC is a special domain that allows public
access.
Report runner with access to... Can return these users...
Manufacturing George Washington, Thomas Jefferson, Theodore
Roosevelt
PUBLIC Thomas Jefferson
Sales & Administration Thomas Jefferson, Abe Lincoln, Ronald Reagan
Common Tasks ● 21
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
Notice that the name of the parameter is OrderBy. The values that the user
can select from the OrderBy parameter are FNAME (representing the first
name of the users) and LNAME (representing the last name of the users).
22 ● Common Tasks
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
The DBMS is uniquely suited for tasks like ordering data and will perform it
better and faster than the application server.
In the report query, include the text:
[order_by_parameter:BIRT Parameter
"SelectionValue1=Column1;SelectionValue2=Column2"]
Replace:
"SelectionValue1" and "SelectionValue2" with the selection values as you
defined them in your parameter.
"BIRT Parameter" with the parameter you created for user input at run
time. "Column1" and "Column2" for the columns in your SELECT
statement that match the parameter selection values.
Use comment characters. To use the parameter above, the statement
resembles the following:
SELECT a.stud_id, a.lname, a.fname
FROM pa_student a
WHERE a.active = ?
/** AND a.stud_id in [UserSearch]
AND [security:pa_student a]
ORDER BY [order_by_parameter OrderBy
"FNAME=a.fname;LNAME=a.lname"]
*/
Common Tasks ● 23
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
Grouped by Status:
Grouped by Supervisor:
24 ● Common Tasks
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Common Tasks ● 25
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
2. In the File Name box, type a name for your report design file. Click
Next.
3. In the Report Templates box, select Blank Report. Click Finish.
Plateau Report Designer creates your report.
4. In the Outline tab, right-click Libraries, select Plateau.rptlibrary, and
then click OK.
5. Drag the ReportDestinationCSV and ReportFormatCSV from the
Resource Explorer tab>Plateau.rptlibrary>Report Parameters
folder and into the Outline tab>[your report]>Report Parameters
folder. The two variables must always be in the first and second position,
no matter what other parameters you add.
6. Create the rest of the report as if it were any other report, except for the
following:
Because CSV reports are a flat file, you cannot use any grouping.
Because CSV reports are a text file, you cannot include a logo,
colors, or any other styles to the report.
7. Import the report to SuccessFactors Learning, selecting the appropriate
report group, as described at the beginning of this section.
26 ● Common Tasks
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Development Strategy
This section describes how you should go about creating custom reports,
including hints and shortcuts.
Testing Reports
We recommend that you use the following testing strategies throughout the
report development process.
Development Strategy ● 27
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
with promoting and testing reports. Generally speaking, test in the following
ways:
1. Test the report in Plateau Report Designer. When you test in Plateau
Report Designer:
You likely test against staging data, so the data source changes
when you import to a test or production environment.
You cannot test security, ordering, parameters, or any bracketed
syntax in Plateau Report Designer. Those functions only work
after you import to SuccessFactors Learning.
You might need to insert some report elements specifically for
testing. For example, if you create a report that returns scheduled
offerings, you might hard code some scheduled offering IDs in
the WHERE clause of the data set to return only scheduled
offerings that match your test cases.
2. Import the report to a SuccessFactors Learning development/test
environment. When you import to a development/test environment:
Remove any elements you added specifically for testing within
Plateau Report Designer. For example, if you added a WHERE
clause for testing, comment it out. You can comment it out by
using standard SQL comments: two dashes (--).
Test any bracketed syntax, such as security, ordering, or
parameters after you import.
Test any localization, including labels, time zones, and data
patterns after you import.
3. Import the report to production. When you import to a production
environment:
Switch the data sources to the production data source.
Remove/comment out testing elements.
Import the report as unpublished. When a report is in the
unpublished state, common users cannot see it. Testers, however,
can see the report and test it against production data. After you
have tested the report in the unpublished state, and it has passed
your test cases, publish it.
Planning Reports
When you plan reports, you either start with an existing report and modify it
to suit your needs or you build a report from scratch.
If you start with an existing report, print it out and mark up the report.
If you start from scratch, sketching out the to-be report.
Consider the following elements of the report layout.
28 ● Development Strategy
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Data Representation
Consider how you want the data in the report to be represented. For
example, how do you want dates to be formatted? Do you want the text to
change color if the data reaches some kind of limit? Do you want user IDs to
be masked.
Plateau Report Designer has the following tools to help you change the way
data is represented:
Data typing: You can change the way that a data element displays by
changing its data type. For example, data sets commonly return datetime
but report users want just the date. If you change the data element to the
date data type, then the report users see only the date.
Expression Building: You can use the expression builder in Plateau
Report Designer to concatenate values, change the format of values (for
example from mm/dd/yyyy to m/d/yy), or to perform arithmetic on
values.
Conditionality: You can use the expression builder to build conditionality
into data. For example, if an item on a user’s learning plan is overdue,
you can display the text overdue in a column. You use the expression
builder and dynamic text to build the rule. The expression builder uses
JavaScript syntax (it is a Rhino engine).
Operators: You can use operators, which are an advanced concept, to
access data stored in the users’ session. For example, if you want to
display a date in the current user’s time zone, you need to call an operator
to get his or her time zone from the session and make the conversion.
Operators are discussed in detail in the Reporting SDK document.
Development Strategy ● 29
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
Security
When you consider security for administrator reports, choose a table/entity
for the security look up that closely matches what you want to select from
the transactional tables. For example, if you write a report to return users, use
the user entity (pa_student table). If you write a report to return learning
items, use the learning item entity (pa_cpnt). If you write a report to return
the users enrolled in a given learning item, think about how you want to
restrict the report.
Additionally, consider the users who should be able to run reports. Each
report has its own workflow when you import it. You assign the permissions
to edit the report or run the report to users’ roles.
30 ● Development Strategy
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Development Strategy ● 31
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
32 ● Development Strategy
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Example
The report groups segments by the scheduled offering, and users by segment.
Users sign in next to their name to prove they have attended the segment in
the scheduled offering.
Example ● 33
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
34 ● Example
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Example ● 35
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
36 ● Example
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Example ● 37
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
1. In the Outline tab, go to the Body node and then open the tree to find
the element that you want to associate with the new style. In these
examples, you select the dark blue and the green header rows as shown
above.
2. After you select the row, go to Properties
pane>Properties>General>Style.
3. Select the new style for the element.
You can also change the properties without associating the new style to the
element, but we do not recommend that approach. Using styles creates a
reusable design.
1. In the Outline of the sign-in sheet, expand the Body node and select the
grid. Notice that the grid is highlighted in the layout pane.
2. Right-click Body>Grid, and then click Insert Row. A new row appears at
the bottom of the grid. If you do not see the row in Layout pane, refresh
the report.
3. Open the Body node to the new row you inserted and select the cell
where you want to insert the lines (as shown in the image above).
4. Right-click the cell, and then click Insert Element. Select Grid and then
click OK.
38 ● Example
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
5. In the Insert Grid dialog box, make a grid of three columns and two
rows (six cells).
6. In each of the six cells:
Insert a Text element: Right-click the cell, and then click Insert
Element. Select Text and then click OK.
Add the underscore: In the Edit Text Item, add the line so that it
appears as above (press the Underscore key _).
Splitting Cells
In the as-is report, the User Name heading has under it two columns: 1) for
the user’s first and last name and 2) for the user’s ID. The following is how
the table appears in Plateau Report Designer (ignore the TBD syntax, this
document covers that later).
In the to-be report, you want to remove the User ID and insert a new
heading, for Email Address. To create the space for the heading, you need to
split the User Name cell.
1. In the Layout Pane, right-click the cell that contains User Name.
You need to select the cell, and not the label. This means that you need to
very carefully click the margin around User Name.
2. Click Split Cells.
The result is that you have an additional heading cell to the right of User
Name. Later in these instructions, you insert text in the heading.
Repeat these steps for the Supervisor cell. To the right of the Supervisor cell,
you insert Organization.
Example ● 39
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
1. If you have not done so already, associate the report with the .properties
resource file. Select the report in the Outline and then go to: Report
Properties>Resources>Resource File.
2. Locate the cell to hold the Email Address heading. It is the cell you created
by splitting in the Splitting Cells section on page 39.
3. Right-click the cell, point to Insert, and then select Label. Plateau Report
Designer automatically selects the label you inserted and changes the
Properties pane to the label.
4. In the Properties pane, select Localization.
5. In the Text key box, type label.EmailAddress. This is the key whose value
is “Email Address” in English. You can also look up the label by clicking
the ellipsis button (…).
6. Repeat the steps above for the Organization heading. The key for
organization is label.Organization.
40 ● Example
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Example ● 41
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
1. Find the table and column that contains the data you want. In this case,
e-mail address and organization are both stored in PA_STUDENT.
2. Go to Outline>Data Sets>EnrollmentInfo_Child. Double-click it to
open it.
3. In the Query section, modify the SELECT statement of to also gather
data in the EMAIL_ADDR column.
4. Go to the Preview Results section to check the query.
The test depends on a defaulted Scheduled Offering ID in the Parameters
section. If you do not see any results and you think your SQL is correct, it is
likely that you need to change the defaulted parameter value.
5. Click OK to close the data set. You should now see EMAIL_ADDR and
SUPER under the data set.
6. Drag EMAIL_ADDR to its correct place in the table.
7. Refresh the bindings.
concat(concat(concat(concat(st.lname,','),st.fname),'
'),st.mi) as user_fn,
null as stud_sig, null as stud_sig_date,
st.super, sup.LNAME as lname_sup, sup.FNAME as
fname_sup,sup.MI as mi_sup,
concat(concat(concat(concat(sup.lname,','),sup.fname),
' '),sup.mi) as sup_fn
from pa_enroll_seat en, pa_student st, pa_student sup,
pa_enroll_stat es, pa_org po
where en.schd_id = ?
and en.enrl_stat_id = es.enrl_stat_id
and es.enrl_stat_typ_id = 'E'
42 ● Example
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
Example ● 43
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
If the minimum enrollment for the scheduled offering is greater than the
number of users in the sign-in sheet, then the following text should
display: “Minimum enrollment not met”
If the minimum enrollment for the scheduled offering is equal to or less
than the amount of users in the sign-in sheet, then the following text
should display: “Minimum enrollment met.”
The condition can be expressed:
If Minimum Enrollment>Users in Course then show “Minimum
enrollment not met” else “Minimum enrollment met”
You can build such an expression in the expression builder, but first, you
must have the operands of the expression. If you aggregated the rows as
described in the Aggregating Data to Create Totals section on page 43, then
you have the total number of users, but you still need minimum enrollment.
For purposes of the example, you get minimum enrollment from the
Schedule_Master data set even though you want to use minimum enrollment
in a table bound to EnrollmentInfo_Child. You might do this for very
practical reasons: the Schedule_Master data set is already going to the
SCHD_ID table, where the MIN_ENRL column stores the minimum
enrollment.
1. Modify Schedule_Master to select MIN_ENRL.
2. Refresh the bindings for the Schedule Master table.
3. Go to the data binding of the user table (Table>Properties
pane>Binding).
4. Click Add. In the New Data Binding dialog box:
In the Column Binding Name box, type MIN_ENRL
In the Display Name box, type Min Enrollment
In the Data Type list, select Integer
5. Click the Expression Builder button.
6. In the Expression Builder window, select Available Column
Bindings>Table—Schedule Master, and then double-click MIN_ENRL.
44 ● Example
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
7. Click OK to return to the New Data Binding dialog box, and then click
OK to save and close the new binding.
8. Refresh the data binding.
When you return to the binding, you now have the two operands of the
expression: the Total Users aggregation and the minimum enrollment data
binding from schedule master. You can now build your expression.
The expression builder is a Rhino JavaScript engine, which means it uses
JavaScript syntax. The expression builder extends the syntax, however, to
give you easy access to the data in the report, as variables. Until you are
comfortable with the extended syntax, it might help you to write pseudo-
code. This example uses pseudo-code to explain the expression.
Start with the expression as written above:
If Minimum Enrollment>Users in Course then show “Minimum
enrollment not met” else “Minimum enrollment met”
Translate the expression to JavaScript syntax pseudo-code (where ME is
minimum enrollment and UIC is users in course.
Example ● 45
SuccessFactors Proprietary and Confidential
Getting Started with Plateau Report Designer SuccessFactors
if (ME>UIC) {" Minimum enrollment not met "} else { " Minimum
enrollment met" }
With the pseudo-code, you are ready to add the expression:
1. Right-click the cell where you want to add the dynamic text, point to
Insert, and then click Dynamic Text.
2. Paste the pseudo-code into the expression builder at line 1. Notice the
syntax highlighting.
3. Also notice:
The buttons at the top, including the Syntax Checker button. We
recommend you use the syntax checker before you save any
expression.
The operator buttons, which insert common operators into the
expression.
The categories of bindings, parameters, functions, and operators.
The operators is an extended list of operators.
4. Delete the placeholder for minimum enrollment (ME) and place the
cursor in its place. Click Available Column Bidings>Table—
EnrollmentInfo_Child and then double-click MIN_ENRL.
5. Delete the placeholder for users in course (UIC) and then repeat the
steps above, selecting the aggregation you created in the Aggregating
Data to Create Totals section on page 43. If you named it as
recommended, it is TOTAL_USERS.
6. When you are finished, the code should appear as follows
if (row["MIN_ENRL"]>row["TOTAL_USERS"]) {" Minimum
enrollment not met "} else { " Minimum enrollment met" }
7. Click OK.
Formatting Data
The to-be report improves the formatting of data, particularly the start and
end date/times of the segment. It also changes the instructor’s full name to
the instructor’s last name.
46 ● Example
SuccessFactors Proprietary and Confidential
SuccessFactors Getting Started with Plateau Report Designer
the date and time in the instructor’s time zone based on the instructor’s
settings.
However, in most cases, it is the start date and time for the scheduled
offering is in the time zone of the location where it is being held. Therefore,
you can format the date and time in a more readable manner, using the data
type formatting.
1. Delete the Text element from the End Date/Time. By deleting the text
element, you delete the operator.
2. Drag the End Time data element from the SegmentInfo_Child data set
to the End Date/Time column.
3. Double-click the data element you just added and ensure that the Data
Type is Date Time. The data appears as (for example) Feb 25, 2009 9:00
AM.
Example ● 47
SuccessFactors Proprietary and Confidential