My “first” blog post on OneStream. I started working on OneStream dashboards and funny enough when I started with Hyperion, I started with WebAnalysis. Well, I cannot compare WA with OneStream as OS is light years ahead 🙂
I always had this theory that it is a good thing to start learning something from the other end of the spectrum, as that gives you more ideas on how the user consumes things.
You might wonder why I said OS is light years ahead. Think about this, MarketPlace, where OneStream hosts the add-on solutions (think of it as an App Store), is a OneStream application.
Here I am in MarketPlace.
The MarketPlace is built using OneStream Dashboarding capabilities.
You are landing on a dashboard. You can search for solutions, download them and install that’s it, pretty neat right. 🙂
This blog post is about a dashboard component. When I say one of the components, you might wonder “How many components are there?”
Here is a screenshot of all possible components that you can create.
In this blog post, we are going to talk about Combo Boxes. If you are someone who is familiar with Java Swing application or WPF application or Windows forms, you know what I am talking. If not think about it as a drop-down list of items.
If I compare with the competition, then combo box items must come from metadata in a cube. In OneStream’s case, much more is possible.
Combo Boxes are driven by parameters to create the list. There are many options available to get the list you want.
I can do something as simple as a delimited list combo box.
I can say display items are Yes, No and their values are 1, 0
Most dashboards use Delimited Lists or Member lists for combo boxes. Very straightforward.
Here is an example of a member list based on a dimension in the cube
For advanced solutions, the fun does not stop there like with other tools. You can run a SQL query against an external table or run a REST API code and return them as combo box items. Based on the user selection you can render a dashboard. Again, most use cases will not need this, but the cool thing, is that you are not limited to one option if the need presents itself.
I can write SQL queries against the application or external tables and show the result as a combo box.
If I want to do something more powerful (you are now thinking, more powerful than a SQL query? Oh yeah that is covered too), you can run a business rule and return combo box items.
Let’s say you want to run a REST API against Workday and show an employee’s data points on a dashboard; this is the place to do it.
Results Table Name is the result of the DataTable that gets returned from the business rule, display member, and value member is self-explanatory.
You can name a DataTable two different ways.
- Dim dtTasks As DataTable = New DataTable(“TaskList”)
- Dim dtTasks As DataTable = Nothing
Populate the table
dtTasks.TableName = “TaskList”
You might ask what the difference is
Let’s say you go by the first method. You cannot use the DataTable name specified in the code.
It did not return any combo box items!
Let’s look at the values.
It worked. Yayy, however, what happened to my data table name?
The DataTable name got replaced with the SQL table name. Hmm, so let’s change the table name to the SQL table name and see what happens.
Now think about a SQL query with joins, similar to the one below.
For this to work, you need to change the table name to the last table used in the SQL join. In the case above change the table name to XFW_UTM_TaskListInstance
Let’s try and use the 2nd way of naming the DataTable.
Now that is how you name a table and here is the result.