Creating a SmartList: Linking Smartlists to Web Forms
- Allows for creation of custom lists that can be used in data forms
- Goes beyond the limitations of Essbase: these lists are not limited to numbers only
- Users select a member from a designated list (each Smart List cell has a dropdown arrow that expands to allow member selection in web forms)
Examples…
- Active Period: Manage Forecast/Budget months by setting them to either “Active” or “Inactive”
- Employee Status: Set employee status to “Full Time” or “Part Time”
- Justification: Choose from “Research”, “Customer Feedback”, or “Expansion”
Creating a Smart List
First, create a new dimension (File-> New-> Dimension) with SmartList as the dimension type:
Next, create children of ActivePeriod. These will be the members of the Smart List (Right click on ActivePeriod, Create Member-> As Child):
Set the properties for each of the Smart List’s members. The label will be what appears in the dropdown menu, while the value is the number that will be assigned to that member in Essbase. The list will be sorted from smallest to largest. Here are the properties for Inactive:
And the properties for Active:
The way this Smart List is currently set up, Inactive will appear above Active because 0 precedes 1.
Set the properties for the Smart List:
Here is a description of each of the Smart List Dimension Properties referenced from Oracle’s knowledge base:
Property |
Description |
Label |
Enter the text to display when the Smart List is selected. Smart Lists and Smart List members must have a Label assigned. Spaces and special characters are allowed.
|
Auto Generate ID |
Generate a numeric ID for each Smart List entry. If you do not select this option, you can customize Smart List ID values.
|
Start Value |
Populates the Value property of the first member in the Smart List. For example, if the Smart List dimension is ActivePeriod with Start Value set to 0, the first member added to this list has a value of 0.
|
Increment |
This value is appended to the value of the last member in the list to determine the value for the selected member. For example: ActivePeriod (Start Value=0, Increment=1) Inactive (Value=0) Active (Value=1)
|
Display Order |
Smart Lists can be sorted in the dropdown menu by 1 of 3 ways: ID: Unique number that sets the order for the Smart List entry Name: Unique name containing only letters/numbers & underscores. (i.e. “Active”). No special characters or spaces. Label: Displayed text for the Smart List entry in the dropdown
|
#Missing Data Form Label |
How #Missing values are displayed in Smart List cells: Dropdown: Displays the label set in #Missing Drop Down Label Grid: This selection determines what the cell will display on a form when the cell is not highlighted/selected
|
#Missing Drop Down Label |
Enter a label to be displayed as an entry in the Smart List whose value is #Missing
|
Linking a Smart List to a Web Form
Create and/or use an already existing member in a dimension that is being used in the application to be associated with the Smart List. In this example the account associated with the Smart List is called “Active Period”. Notice that this member has a space in the middle, unlike our Smart List dimension “ActivePeriod”, which is all one word:
Set the properties for “Active Period” so that the Smart List property is tagged to ActivePeriod and the Data Type is SmartList:
The most critical step before deploying the application is to set the Data Type Evaluation Order for the Planning application. In order for Smart Lists to appear on web forms, the dimension that the Smart List is associated with (in this case the Account dimension) must be included in the evaluation order. From the local library, right-click on the application:
Move the account dimension over to the selected dimensions pane for the selected plan type:
Deploy the application for the changes to take effect so that the Smart List can be utilized in a web form.
Next, select the form that will be using the Smar tList. Edit it and go to the Layout tab. For this example, “Active Period” is placed as the lone member of the account dimension in the rows:
Save the form and open it to check that the Smart List is working properly. The list is functioning correctly if a dropdown arrow appears in the highlighted cell:
Click the dropdown to make a selection:
The Smart List has been successfully created and linked to a Planning web form. This feature offers great functionality for users that require text data, as this is not available through Essbase alone. Smart Lists can also be utilized in member formulas and business rules.
For more detailed technical information on Smart Lists, here is a link to the Oracle documentation:
http://docs.oracle.com/cd/E1282501/epm.111/epmarchitect/frameset.htm?ch04s16.html
Update for ASO (1/12/2015):
Recently, I was attempting to create Smart List functionality in an ASO cube. My only previous experience had been with BSO cubes, so I was not prepared for the couple of key differences that came up that hindered my progress. Here are the steps I took to successfully create a Smart List associated with an ASO cube. First, create a Smart List dimension by right clicking on the application in the dimension library:
For this example, I’ve named the Smart List “ClientSource”:
The Smart List has one member in it, “PV”:
And the Smart List will be associated with the account member, “ClientSource”:
In the account dimension, select the member that will have the Smart List associated with it (“ClientSource”), and update the following 2 highlighted settings. This is the first part of the process that differs from that outlined above. In BSO, the settings are labeled “Data Type” & “Smart List”, rather than “Type” & “Smart List”:
After saving, I figured that the Smart List was good to go, but on deployment, I received the following error:
After some trial & error, the issue turned out to be coming from the data storage settings on the parents of “ClientSource”. After setting both parents (“AttributeInfo” & “Accounts”) to “LabelOnly”, the application deployed successfully.
To recap, there are 2 key differences between ASO & BSO cubes when setting up Smart Lists:
- For BSO, the user must set “Data Type” to “SmartList” for the associated member. While in ASO, the user must set “Type” to “SmartList”
- Before deploying the ASO application, the parent members of the member that is associated with the Smart List must be set to “LabelOnly”
I hope that this can help a few of you from having to spend time troubleshooting the difference between Smart Lists in ASO & BSO.