Input controls and linked analyis in Analytics Designer
Creating interactive applications without having to type code or at least minimizing the lines of code is a frequent request from SAP customers. The good news is that it is now possible to do so thanks to 2 new features delivered in Analytics Designer : the input control widget and the link analysis diagram.
New input control Widget
Input control is a dimension member filter that enables you to change which dimension members to display for the widgets in your analytic application. Widgets that are supported by an input control are : chart, table, R visualization, geo map and value driver tree. By default, all the widgets from the same data source will display any selected dimension members in the input control.
If you have more than 1 input control in your application, you can turn on cascading effect. By doing this any value selection changes in one input control will affect others from the same data source and vice versa.
As an example, I have created a simple application with 2 input controls, 1 chart and 1 table all based on the same data source. My 2 input controls interact with the chart and the table.
Because I turn on the cascading effect when I select “Nevada” in my Location input Control, the list of the Sales Manager in my 2nd input control is updated. At the same time the table and the chart are filtered on Nevada.
By default, the cascading effect is on for all input controls. You can activate or deactivate the Cascading effect at design time.
So as you can see, you can create a basic application without writing any line of code. And in this case my application is already operational. This does not mean that you will not then add a few lines of code to improve your application but it shows that with a minimum of knowledge you can already create an operational application. It is in this sense that Analytics Designer is part of the low code / no code initiative launched by SAP. The idea is to simplify the task of application developers by writing as little code as possible.
Define your interactions in an application: Link Analysis Diagram
The linked analysis diagram is a graphic representation of interaction among widgets, which you can drag, zoom in on and zoom out on to view how widgets affect each other. It helps to manage relationships especially when there’s many widgets in your application. Currently linked analysis diagram can visualize the following cases:
- filter line linked to chart or table
- input control linked to chart, table, R visualization, geo map or value driver tree
- linked analysis among chart, table or geo map
- linked analysis from chart, table or geo map to R visualization
This diagram is accessible at design time.
The diagram of the previous application shows that the InputControl_1 and InputControl_2 are both linked to Chart_1 and Table_1. This means that each time we select some values in one of the input controls the chart and the table are updated in consequence. From this graphical interface it is possible to modify the links. For instance, you can remove links or create new links.
If a widget is connected to no other widget it is not shown by default in the diagram. You can display it by checking the option “include unlinked widgets” as shown below (Table_1).
To view linked widgets to a specific widget, you can directly select its ID from the dropdown. You’ll see all its source and target widgets on the diagram
We have seen how we can create an interactive application without writing a single line of code in Analytics Designer. With Input Control and link analysis we can define manually the interactions between different widgets. And if we have a lot of widgets in our application thanks to the link analysis diagram we can quickly identify the different interactions.
Thanks for sharing this interesting blog. I will try this for sure.
New linked analysis (Analytic Application)
is there any way to reset all filters at once via script?
the removeDimensionFilter has no effect. I‘m using a bw live query as a model.
thank you & best regards
No you can't . The removeDimensionFilter(dimension: string | DimensionInfo) is the only API to delete a filter and apply only to one dimension at a time