for sap lumiradoldyn.com/help/d2-vdt-impl-guide-1-2.pdfvalue driver trees for sap lumira the dolphin...
Post on 05-Mar-2020
3 Views
Preview:
TRANSCRIPT
P a g e | 1
Doc id: d2-vdt-impl_guide-2-0
Implementation Guide
Version 2.0
Value Driver Trees
for SAP Lumira
P a g e | 2
Doc id: d2-vdt-impl_guide-2-0
Contents Definitions ............................................................................................................................................... 4
Introduction ............................................................................................................................................ 5
What is a Value Driver Tree? .............................................................................................................. 5
The traditional approach .................................................................................................................... 5
Value Driver Trees for SAP Lumira ...................................................................................................... 5
Use cases ............................................................................................................................................. 5
Key Features ........................................................................................................................................ 6
Visualise KPI’s and driver relationships like never before ............................................................................. 6
Simulate any drivers in parallel and see impacts instantly ............................................................................ 7
Flexible and powerful modelling.................................................................................................................... 9
Simple integration of real-time data ............................................................................................................ 10
Performance Built In .................................................................................................................................... 10
Rapid Implementation and low TCO ............................................................................................................ 10
Getting Started ...................................................................................................................................... 12
Pre-requisites .................................................................................................................................... 12
Installing the Value Driver Tree Extension in SAP BusinessObjects Design Studio ........................... 12
Creating your first Value Driver Tree App ......................................................................................... 17
Configuring Value Driver Trees ............................................................................................................. 22
Defining the Tree .............................................................................................................................. 22
Calculation Methods .................................................................................................................................... 27
Settings.............................................................................................................................................. 29
Data Binding ...................................................................................................................................... 33
Data Source Structure .................................................................................................................................. 33
Adding Data Source to App .......................................................................................................................... 34
Link Single Data Source to Component ........................................................................................................ 34
Configure Result Set and Node Mapping ..................................................................................................... 35
Link Multiple Data Source to Component .................................................................................................... 37
Data Series and Time Aggregation ............................................................................................................... 39
License............................................................................................................................................... 41
About................................................................................................................................................. 41
Configuring the Navigation Panel ......................................................................................................... 42
Binding a Navigation Panel to a Value Driver Tree ...................................................................................... 42
Configuration Options.................................................................................................................................. 42
P a g e | 3
Doc id: d2-vdt-impl_guide-2-0
Application Programming Interface ...................................................................................................... 46
Deploying to BusinessObjects Platform ................................................................................................ 48
Installing the Extension on BusinessObjects Platform ...................................................................... 48
Updating the Extension on BusinessObjects Platform ..................................................................... 49
Removing the Extension from the BusinessObjects Platform .......................................................... 49
Known Issues and Limitations ............................................................................................................... 51
P a g e | 4
Doc id: d2-vdt-impl_guide-2-0
Definitions Design Studio SAP BusinessObjects™ Design Studio 1.6
Lumira Designer SAP Lumira Designer 2.0
Value Driver Tree Extension Value Driver Trees for SAP by Dolphin Dynamics
Value Driver Tree Mathematical or conceptual business models visualised
in a way that links the business KPI’s (what
management or stakeholders care about) to the
operational drivers (the things that can be influenced
to change the KPI’s).
Node A generic reference to a unique KPI or Value Driver in a
value driver tree
Node Widget The visualisation of a KPI or Value Driver in a value
driver tree
Derived Node Additional Information for a node but not directly
related to the calculation hierarchy. This will often be
key benchmarking KPI’s such as cost/production unit.
Parent A reference to the Node one level above in the Value
Driver Tree
Children A reference to the collection of nodes immediately
below a Node
P a g e | 5
Doc id: d2-vdt-impl_guide-2-0
Introduction Welcome to the Value Driver Tree for SAP Lumira. The software works equally well for SAP
BusinessObjects™ Design Studio (Design Studio). This implementation guide is meant for the team
creating the Design Studio application and configuration using the Value Driver Tree Components. It
is assumed that the reader is familiar with the basic functionality of Design Studio.
What is a Value Driver Tree? Value Driver Trees are mathematical or conceptual business models visualised in a way that links the
business KPI’s (what management or stakeholders care about) to the operational drivers (the things
that can be influenced to change the KPI’s).
The traditional approach Spreadsheet models are often used to support planning and forecasting. They often contain a high
number of parameters. Visualising, simulating and sharing models is challenging and the models
often become personal tools only understood by the accountant or engineer who created it.
Integrating data real-time and dynamically in spreadsheets is difficult resulting in the models that
often are static, point-in-time and for a single period.
Value Driver Trees for SAP Lumira The Dolphin Dynamics Value Driver Tree is an extension for SAP Lumira Designer and SAP
BusinessObjectsTM Design Studio allowing businesses to model, calculate, visualize and analyse KPI’s
and value driver relationships in ways users will love.
With its powerful modelling and purpose built embedded calculation engine, users can simulate
changes to value drivers in parallel and see the impacts on any dependent KPI’s instantly.
Delivered as an exstension, it is installed in minutes with nothing else to add. It uses any existing
data connections making it simple to integrate real-time data. The package contains all components
required for building dynamic value driver tree Apps. It can also be combined with standard Design
Studio component as well as other add-ons makes the possible design patterns endless.
The user experience is optimised for iPads and iPhones as well as desktops taking full advantage of
the resolution available on large monitors. Together with the dynamic data integration and the
intuitive visualisation and simulation, this redefines who in your business uses models and for what
purpose. The accountants/engineers will still define the model and use the value driver trees. Senior
management as well as operational managers are however now empowered to navigate
relationships, see definitions and formulas, break down variances and simulate on dynamically
selected real-time data. Rather than a report with a few prepared scenarios, managers can now
themselves understand the results and drivers and work through an endless number of scenarios
creating business insight based on facts and redefine the drivers we focus on.
Use cases The scope of value driver trees varies from a breakdown of specific functions or KPI’s to enterprise
wide consolidated trees. The depth also vary as some trees are being primarily financial and others
P a g e | 6
Doc id: d2-vdt-impl_guide-2-0
include the true operational drivers. A great approach is to have a vision of desired end state but
start implementing a simpler tree first by reducing depth in areas or starting with a narrower scope.
The value will be immediate and learnings from the initial implementation can be applied when
delivering the full scope.
The D2 Value Driver Tree can visualise and compare two “versions” at the same time. It also has
unique simulation and time aggregation features which allows you to only apply changes to future
periods. This drastically opens up the possible use cases as we can now use the model to visualise
and simulate on the common periodical reporting, forecasting and budgeting cycles using Actuals vs.
Budget, Forecast vs Budget, Budget Draft A vs budget Draft B etc.
The App concept can vary. The value driver trees can be the primary visualisation of your App or it
can be used to calculate KPI’s in a dashboard and provide a calculation and drill down capability in a
pop-up window.
Irrespective of scope, breath or App concept, you will find the Add-on to be a great way to model
and visualise relationships creating instant business insight.
Table 1 Common Value Driver Tree Use Cases:
Reporting and Analytics Budgeting and Business
Planning
Business Improvements and
Organisational Learning
• Consolidated Financial Reporting: Monthly Plan vs Actuals Reporting. Calculate KPI’s, understand where and why there are variations and simulate fully costed impacts on possible remedial actions
• Operational Reporting: Monthly Plan vs. Actuals Reporting. Calculate KPI’s, understand where and why there are variations and simulate impacts on remedial actions.
• KPI Dashboards: Leverage the calculation engine to calculate KPI’s. Use value drivers to visualise and analyse variances in dashboards
• Strategic Target Setting: Incorporate changes in external and internal drivers and simulate fully costed scenarios based on current forecast, budget or actuals. Share justified clear targets to businesses for bottom up planning process.
• Annual Budgeting: Compare budget versions. Understand variations in budget drafts. Identify opportunities for cost savings by playing through unlimited scenarios rather than basic pct. cost savings
• Monthly Reforecast: Compare budget vs forecast. Identify root causes for variances. Play through scenarios for the remainder of the year to identity remedial actions.
• Identify key value drivers
• Redefine business focus by understand sensitivity of various drivers
• Better decision making by increase understanding of what and how drivers impacts your business
• Reduce sub optimisation and creating understanding of how actions impacts others
• Identify where data is missing for effective management.
• Valuation of business initiatives
Key Features
Visualise KPI’s and driver relationships like never before 1. Visualise true Value Driver Trees (not just a hierarchy) combining cost, prices and physical
metrics calculated on the fly based on configuration.
P a g e | 7
Doc id: d2-vdt-impl_guide-2-0
2. Complement your bottom-up planning and forecasting process with a model driven
visualisation capability to gain immediate interim insight.
3. Compare two versions such as forecast vs. budget and calculate status and variance.
4. Widget generated for each value driver showing value, variance, status, and trend spark line.
5. Interactive navigation by opening and collapsing nodes allowing for trees with 100’s of
nodes without losing the context.
6. “Map Style” navigation with pinch/mouse wheel scroll for zoom and swipe/drag for panning
making it easy to navigate.
7. Dynamic panning as you open or collapse nodes to automatically show the new content
8. Ability to show both period and aggregated year data.
9. Ability to auto-scale relevant nodes on the fly (important when you swop between period
and year).
10. Side panel with navigation options including an option to configure lists of key drivers and
KPI’s.
11. Optimised for desktops, tablets and phones.
12. Detail screen automatically generated for any node showing trend, definition, formula,
status, variances etc.
Simulate any drivers in parallel and see impacts instantly 1. Simulate variations on any driver or KPI in the tree irrespective of whether they are
calculated or sourced externally (unless locked explicitly). No special simulation functions to
be written.
2. See simulation results immediately as the entire tree recalculates dynamically on the fly.
3. Create collections of multiple scenarios in seconds and compare them on the fly.
4. Partial year simulation to support current year forecast processes where changes are only
applied to future periods, not the past.
5. Linked simulation changes. I.e. production volumes may appear both in the sales and
production branch. Simulating one place automatically change it everywhere (networks not
trees).
6. Simulate as many parallel changes as you like and see the cumulative impact.
P a g e | 8
Doc id: d2-vdt-impl_guide-2-0
7. Impact analysis Waterfall diagrams automatically generated for any node showing how
much active simulations contribute to a change in a dependent KPI or driver.
8. Engine keeps track of the original values allowing variance calculation comparing baseline,
simulation and comparison version.
Figure 1 Simulate a change in any driver (both sourced and calculated) and see the instant impact
P a g e | 9
Doc id: d2-vdt-impl_guide-2-0
Flexible and powerful modelling 1. “Drag and drop” value driver tree structure maintenance makes it easy to model and
remodel.
2. Predefined node calculation methods such as aggregation of child nodes makes it simple to
configure when the requirement is simple.
3. From a technical perspective, Value Driver Trees are often networks rather than trees where
the same driver impacts many areas. Complex node calculation capabilities can be used
when required using any node in the tree. Simple math as well as complex constructs such
as if-then and cross data series calculations can be leveraged in formulas.
4. Automatically determines calculation order
5. Time aggregation of drivers can be simple sums, averages, weighted averages or formula
6. Linked nodes as well as linked simulations
7. “Derived node” concept where additional nodes can be shown as outputs underneath a
node and are visually differentiated.
8. Flexible time models. I.e. yearly or monthly
Figure 2 Powerful value driver tree modelling with drag and drop tree design capabilities
P a g e | 10
Doc id: d2-vdt-impl_guide-2-0
Simple integration of real-time data 1. Can use any Design Studio data source including SAP HANA, SAP BW, CSV and custom data
sources.
2. No backend planning engine such as BPC required. Value Driver Trees are however great
ways to complement a bottom-up plan with a top down model and simulation capability.
3. Takes two versions as input but also works with a single version.
4. Very simple data integration as the tree doesn’t require a hierarchical source but instead
uses a flat input structure similar to spreadsheets.
5. Ability to combine up to 6 data sources on the fly across systems
6. Automatic node mapping using either key or text pattern mapping. Direct node mapping can
be configured where required on an exception level.
Performance Built In • Simulation performance drastically improved through custom embedded calculation engine
as the data sources as well as server app state do not require refresh during simulations.
• Smooth and fast tree navigation as server round trips are completely eliminated during tree
and detail screens navigation.
• Simple flat query structure puts little pressure on back-end analytical engine.
• Faster source queries as planning application layer (i.e. BPC Application layer) are not
required and underlying Cubes/DSO’s, HANA Views or ? are queried directly.
Figure 3 Click or tab on any driver or KPI to see details incl. a waterfall impact analysis of how active simulations contributes to the change of the specific KPI or driver.
P a g e | 11
Doc id: d2-vdt-impl_guide-2-0
Rapid Implementation and low TCO • Delivered as a component for Design Studio. If you are already using BusinessObjects,
existing configuration and components are leveraged drastically reducing the complexity
and tasks related to delivery and continued support:
– No additional servers or cloud solution
– No separate user account administration or AD integration
– no separate authentication and authorisation
– no separate system connections
• Fast and iterative prototyping through manual data configuration. Solution specifically
designed so you can model the output and calculation first using manual data and only do
data integration when the requirement is clear. This greatly reduced delivery time, cost and
uncertainty.
• Can be used in multiple apps or you can have multiple value driver trees inside one app.
• Value Driver Tree API provided allowing for programmatic interaction between the Trees
and any other components in the App allowing you to integrate into existing Apps and
leverage existing implementation skills.
• Events API’s for custom actions when users click on nodes, periods, simulates etc. This can
be used for custom actions in general or specific nodes creating flexibility where needed on
an exception basis only.
P a g e | 12
Doc id: d2-vdt-impl_guide-2-0
Getting Started
Pre-requisites The Value Driver Tree Extension requires SAP Lumira Designer or SAP BusinessObjects Design Studio 1.6.3 or higher. Before proceeding, you will need to ensure you have a licensed copy installed. You can find out how to on the dedicated SAP help page https://help.sap.com/boad for Design Studio.
To complete the installation process, you need the following information:
• The Download site user name and password
• Your Value Driver Tree license key.
You will have received both in your welcome e-mail which was sent to your primary contact address or provided in your contract.
Installing the Value Driver Tree Extension in SAP BusinessObjects
Design Studio The Value Driver Tree Extension is installed using the dedicated installation site by following the
below simple procedure:
1. Open SAP BusinessObjects Design Studio/Lumira Designer and choose Tools->Install
Extension to Design Studio... / Lumira Designer.
2. Copy or enter the url for the value driver tree cloud installation site for version 1x and click
ok:
http://www.download.doldyn.com/vdt
P a g e | 13
Doc id: d2-vdt-impl_guide-2-0
3. You will now be prompted for the download username and password. Please enter the
username and password provided and click ok:
4. The installer will identify the available features from the cloud site:
P a g e | 14
Doc id: d2-vdt-impl_guide-2-0
5. Select the check box next to the Dolphin Dynamics Value Driver tree and click Finish. You will
now be guided through the installation steps for the feature:
P a g e | 15
Doc id: d2-vdt-impl_guide-2-0
6. Select the Value Driver Tree Feature and click next twice and you will be presented with the
License Agreement. Please read the agreement carefully and if you accept the terms, select
accept and Finish. If you do not accept the terms, please select cancel:
7. You will receive a warning that the jar files are unsigned. This is expected behaviour. Please
click OK
8. You have finished the installation. Design Studio will need to restart for it to take effect.
Select Yes to restart immediately.
P a g e | 16
Doc id: d2-vdt-impl_guide-2-0
9. After the restart, you now have the new Value Driver Tree Components available in Design
Studio and you are ready to create your first Value Driver Tree App:
P a g e | 17
Doc id: d2-vdt-impl_guide-2-0
Creating your first Value Driver Tree App You can create your first Value Driver Tree App from Scratch by creating a new blank App by
selecting CTRL+N, give the App a name (here HELLO_VDT) and select Standard -> BLANK and click
Create:1
1 Note that if you are running Lumira Designer in Document Mode, you will need to first create a document and Right click on the document and follow the above process.
P a g e | 18
Doc id: d2-vdt-impl_guide-2-0
You now have a new App with a blank canvas:
Add the Core Value Driver Tree Component to the Canvas by dragging it from the Components Panel
onto the Canvas and press F5 to refresh the App. Set the left Margin to 300 and the other margins to
0 in the properties panel.
P a g e | 19
Doc id: d2-vdt-impl_guide-2-0
After 10 Sec, you will receive a notice that the VDT requires a License Key. Click on the Value Driver
Tree component on the canvas and select the License bap in the Additional Properties Panel. Please
enter the license key that you have received from us. If you do not have a key, please contact us for
a trial or full license key. Do not continue to use the software without a valid license as it violates the
terms and conditions. After you have entered a valid key, the license is validated and the license
details are displayed.
Click on the canvas and press F5 to refresh the canvas and you should now see the dummy value
driver tree rendered:
P a g e | 20
Doc id: d2-vdt-impl_guide-2-0
Drag the component Navigation Panel for Value Driver Tree on to the canvas and set the left, top
and bottom margins to 0px and set the Linked Value Driver Tree Parameter to the Technical ID of the
Value Driver Tree component you originally created. By default, this is VDT_1.
Congratulations! You have now created your first executable App. We are now ready to run. Press
Ctrl+F11 to run App locally. You will now see your App in your IE Browser and can navigate the
dummy tree that is displayed when no configuration is provided.
P a g e | 21
Doc id: d2-vdt-impl_guide-2-0
P a g e | 22
Doc id: d2-vdt-impl_guide-2-0
Configuring Value Driver Trees If you have not done so already, please refer to the Get Started section to understand how to add
Value Driver Trees to your App.
The configuration of the value driver tree can be split into 3 distinct steps:
1. Defining the Tree
Define the structure of the drivers and KPI’s in the tree, their relationships and visualisation
2. Settings
Define the initial state of the value driver tree, status calculations, colours and custom
events
3. Data Binding
Link the value driver tree to live data sources
You can define the tree even with manual data without binding it to a data source. It is strongly
recommended that you leverage this functionality when defining your tree as it allows you to iterate
many times over the definition, share it with your users and only build the data source once the
requirements are clear and the business has approved your prototype.
Defining the Tree The value driver tree structure, calculation and definition is defined in the additional properties
sheet under the Tree Tab. Click on the Value Driver Tree Component on the Canvas and select the
Tree Tab in the Additional Properties Panel:
P a g e | 23
Doc id: d2-vdt-impl_guide-2-0
When you first open the tab, there is no value driver tree configuration but instead 3 options to
create one:
Create New Create a new blank tree with one node
Create New from Sample Data Create a preconfigured tree demonstrating key
functionalities
Import (expert Function) Import function from configuration
spreadsheet. This function should only be used
by experienced partners and is not for general
use.
To Explore the configuration options, please select the 2nd option – “Create New from Sample Data”.
A demo tree configuration is now generated for you to explore and adapt:
When working with the tree structure, it is beneficiary to make the Properties panels wider or
maximise the panel. If too narrow, you may not be able to see the embedded buttons next to a
selected node.
When selecting a node, you can add new children by clicking the “+” next to it. You can increase the
level and reduce the level by clicking the two arrows (“<<”, “>>”) to the left and right. You can delete
the node by clicking the trashcan icon. Note that you can’t delete a node if it is reference in formulas
or any other way.
P a g e | 24
Doc id: d2-vdt-impl_guide-2-0
You can also move nodes with all its children around the tree by dragging and dropping it from one
location to another. Once dragged to a new position, it may be necessary to adjust the levels to suit
(press “>>” to make it a child if the node before, press “<<” to bring it up one level).
By default, the changes you make are synchronised with the entire App “live”. If you are making
many changes to a large tree, it is recommended to switch this off by clicking the “live” button in the
top right corner of the Additional Properties panel. You can then apply the changes by clicking
“Apply”. It will automatically be applied if you deselect the panel.
When you click on a node, the configuration details for the node is displayed on the right-side panel.
Below is a description of each parameter:
Unique Id Unique identifier for node in tree. This is very
important as this is how we can reference the node
later in formulas and other references.
Title The node title as displayed on the node in the value
driver tree. It is good to be short and precise on this.
Review how it looks in the tree and adjust description
for best overall outcome. Use the title prefix to make it
unique outside the context of the tree. That way you
can keep it precise inside. I.e. You may have a node
called Fuel Cost and underneath the fuel price. You can
name the node “Price” in the tree and then “Fuel” as
the Title Prefix.
Title Prefix when outside Tree Prefix added to description shown outside the actual
tree such as in the navigation panel or a pop-up
scenario comparison.
Calculation:
Calc. Method Method used for calculating node value. It can be one
of the following options:
• Data Source
• Sum Children (a+b+c...)
• Subtract Children (a-b-c...)
• Multiply Children (a*b*c...)
• Divide Children (a/b/c...)
• Formula
• Manual
• Linked See detailed section below on calculation method for
further details.
Time Aggregation The Value Driver Tree calculates the aggregated result
such as year based on a time aggregation of the period
results. Can be “Sum of Periods”, “Average” or
“Formula” or “Last”. The formula option uses the same
formula for calculating the full year as for the periods.
P a g e | 25
Doc id: d2-vdt-impl_guide-2-0
If Average is selected it can either be a simple average
or a weighted average based on another node. If you
want a weighted average, please also specify the node
Id to use for the weighting of the values.
Desired Trend Can be “Decrease” or “Increase”. This defines the way
the status is calculated. If it is a cost, a decrease is
good. If it is revenue, prices etc. increase is good.
Value Range An option to define a minimum and maximum value for
the node. If a max is defined, the capacity utilisation for
the node is also calculated. Both min and max can be
used for constraints alerting. (see side panel
configuration later)
Display:
Visual Style Can be Normal, Derived or Hidden. Derived nodes are displayed with a punctuated line out of the node and is visually different. Hidden nodes can be used for calculation etc. but will not be visualised. Only "Normal" nodes are used in the automatic formulas based on the children of a node.
Scale The component has a user selectable auto-scaling
functionality where values can be shown as 1m, 1k or
full number etc. and the user can change that on the
fly. It has no impact on the calculations. Value Driver
Trees are per definition mixed scale/mixed unit which
means that we can’t scale everything. I.e. it makes little
logic to scale a price or a production factor. It does
however generally make sense to scale revenue, cost
and possible driver volumes with the same scale.
It is strongly recommended that you set the User-
selected option for all Amounts and then set the most
appropriate scale as the default under the settings tab.
This allows reduced clutter in the tree while still
offering to see the details if and when required. There
is also options for fixed auto-scale for millions,
thousands and percentages. In particular the
percentage option simplifies the tree as you can store
the data as .8 and visualise as 80%.
Prefix Number Prefix such as “$”
Decimals Decimal places for number
Suffix Number Suffix such as “t”, “/kg”, “%”, “min”
Features - Simulation If selected, the simulation slider is visible and the user
can simulate on the node. Note that you can simulate
P a g e | 26
Doc id: d2-vdt-impl_guide-2-0
on calculated nodes as well as sourced nodes by
default unless you switch this off for a particular node.
Features - Status Color If selected, the status bar will be added to the node
widget (red, amber, neutral, green)
Features - Details on Click If selected, the default node detail screen pop-up will
be shown when the user click on the node.
Simulation
Default Method Default simulation method for the node when the user
simulates. 3 methods are available:
• % Change applied to baseline in future periods
• Constant Value for future periods
• % Growth applied to baseline in future periods
Note that the user can choose any of the options
during a simulation but depending on the nature of the
node, a default is logical. I.e. for cost nodes, the first
option is often the preferred approach. For a price
node, the Constant Value option is often preferred.
Link Simulation Nodes can be linked for simulation purposes. (I.e. you
have defined multiple fuel price nodes as your realised
price differs but want to simulate future prices as the
same for all of them. To do that, you consider one of
the nodes as being the primary and then reference that
node in all other nodes you want to link to it. That way,
a simulation change to any of the nodes will be applied
to the primary node and all the referenced nodes.
From a summary of active simulations, only the
primary node will be displayed.
Business Definition
Description The business description of the driver or KPI. This is
displayed on the detailed screen underneath the title.
If it is sourced, it is often useful to include the context
such as selection criteria’s to allow the user to
understand where it is coming from. If it is calculated
within the tree, there is no need to include the formula
as a human readable formula will be generated
automatically beneath. It is however good practice to
provide any business definition and guidance to
understand it from a business perspective
Header The context displayed above the title in the detailed
screen. If nothing is provided, a “bread crumb” path for
the parent and parent’s parent node is generated and
P a g e | 27
Doc id: d2-vdt-impl_guide-2-0
displayed. This is often necessary to understand a node
as the same name may exist multiple places
Footer A short guidance displayed at the bottom of the
detailed screen. Use this for a specific hint if there is
something you want to highlight to the user when
looking at this particular node.
Calculation Methods Method used for calculating node value. It can be one of the following options:
• Data Source
• Sum children (a+b+c…)
• Subtract children (a-b-c…)
• Multiply children (a*b*c…)
• Divide children (a/b/c…)
• Manual
• Linked
• Formula
The Data Source options allows the node value to be mapped to a row in the data source. If this
option is selected, the engine can automatically map it to a node in the data source with the same
Id. If the Id is different in the source, you can select a row in the data source in the additional
information field called Source key that is available if this method is selected. (see later for
configuration of data binding for further context).
The Sum, Subtract, Multiply and Divide are automatic formulas that are generated based on the
children to the node. If a new child is added or one is removed, the calculation is automatically
adjusted. Child nodes that are marked as “Derived” or “Hidden” (see above) is ignored in these
calculations.
When Manual is selected, two additional fields are available to enter a manual value for the Primary
and Comparison Versions value. If you enter just a constant value, then this becomes the value for
each period for the data series. If you want to vary the values for the periods, you can enter an array
with as many values as you have defined periods like this: [1,2,2.2,2,2,2,2,2,3,3,3,4]
Entering single values or arrays are great ways to initially prototype a value driver tree structure
before creating a data source as it allows you to validate requirements and calculations early.
Linked will make the value identical to the linked source and also transfer any simulation changes between the linked node and all referenced nodes. You can give it a difference description and settings compared to the node that it is linked to. It can be particularly useful to differ the desired trend if a driver such as sold tonnes is shown under both cost and revenue.
The Formula option displays a formula field that allows you to create formulas referencing any node
in the tree. This is a truly powerful functionality as it not only allows you to reference the children to
P a g e | 28
Doc id: d2-vdt-impl_guide-2-0
the node but any node in the tree. This is a typical scenario in a value driver tree as we often see the
same driver impact different parts of the tree. I.e. production tonnes may impact cost as well as
revenue (we can sell more). This effectively means that the Value Driver Tree calculation is not a
hierarchical calculation but a true network calculation. The only thing you can’t do is make circular
formulas as these can’t logically be resolved.
You express a formula as you would calculate an individual period. The calculation engine then takes
care of extrapolating this single period formula to a formula that can be applied to all periods and
versions and take all simulation into account as well as aggregation models, variance calculations
and status.
The formula engine uses the standard JavaScript calculation and logic notation and you can
reference any node in the tree by using {node Id} convention. I.e. you have a node that you have
given the unique Id 11. You can now reference the node in a formula using {11}.
The majority of formulas will typically have use node reference, standard mathematical operators
and brackets to define calculation orders and constants in a pattern like this:
( {node A} – {Node B} ) / ( {node C} / 100 )
Using JavaScript Math object, you can in simple ways do things like picking the maximum of values.
Here is an example of a formula that picks a value if it is greater than zero or otherwise makes it
zero.
Math.max({node A} – {Node B}, 0)
You can also do if-then-else following the javascript shorthand notation
{node A} > {Node B} ? {node A} : {node B}
What this says is that if the value of Node A is greater than the Value of Node B, then return the
value of Node A, otherwise return the Value of Node B.
These can be nested by using brackets and be combined with any other constructs. For information
on the Javascript comparison operators, please refer to this guide.
The calculation engine keeps track of 3 data series
• act (the active simulation)
• base (the baseline value without simulations)
• tgt (the comparison version)
There are specific use cases where you may require formulas that traverses the data series in a way
where the calculation is differentiated depending on the data series. This could be if the comparison
version should be calculated differently from the baseline or active simulation. A very specific use
case for this is if you have a node that you want to calculate but do not want to be impacted by
simulations applied to the referenced nodes. This is very useful if you create a reconciliation node
where you calculate the baseline balance between modelled nodes and a posted total value. There is
an example of that in the demo app node Id 40. Before the method is called for a particular data
P a g e | 29
Doc id: d2-vdt-impl_guide-2-0
series, the variable “dataSeries” is set to id of the data series (act, base or tgt). Below is the example
from the demo app:
dataSeries == "tgt" ? ( {39}.tgt - {23}.tgt - {41}.tgt - {42}.tgt ) : ( {39}.base - {23}.base -
{41}.base - {42}.base )
What the formula essentially does is that it first checks if the data series is tgt. If it is, in then uses
the tgt data series in the calculation. Otherwise, it uses the base data series for the calculation. This
effectively means that the active simulation version also uses the base values for its calculations and
thus ignores the simulations applied to the referenced nodes. Albeit a specific case, this is a very
powerful way to model this concept.
Settings The settings tab provides general configuration options that applies to all nodes in the tree:
P a g e | 30
Doc id: d2-vdt-impl_guide-2-0
Below is a description of each of the options:
Initial State
Active Period The currently selected period from and to. This is used
to highlight the period and simulations are applied to
this interval of periods. If you are simulating a current
year forecast, you would typically set this from current
period to 12. If you are looking at a future budget year,
you would typically set this to 1-12. This can be set
P a g e | 31
Doc id: d2-vdt-impl_guide-2-0
dynamically via script and can also be set by the user
via the navigation panel.
Top Node You can define a value driver tree and then
programmatically or via the Navigation Panel set a sub
node to the top node. By default, this option will
choose the first node as the top node but you can set
the default node here should you wish it to be
different. This can also be used if you have nodes you
want to use for calculations but want to hide them
from the visualised tree. Set a collective top node with
you top node for visualisation and hidden nodes as
children and then set the top node for visualisation as
the default Top Node. Can also be set by the user via
the navigation panel.
Primary Value Defines the initial time agnation for the tree. Can be
Active Period, Total to Period (i.e. YtD), Total of Periods
or the selected simulation periods. Can also be set by
the user via the navigation panel.
Auto Scale Sets the default scaling level. Can be 0b, 0.0b, 0m,
0.0m, 0.00m, 0k or 0. Can also be set by the user via
the navigation panel.
Zero Display Defines how zero values are displayed. Can be None, “-
“ or 0.
Hint Hint text displayed at the top of the canvas if no active
simulations. Can be used to promote functionality.
Status:
Status Determines the thresholds for Red, Amber, Neutral and
Green. It takes into account the desired trend of the
individual nodes to ensure the correct status is
calculated.
Colors:
Canvas Background The canvas uses a combination of colors to generate a
pleasing negative space for the value driver tree. You
can change these to suit or overwrite the background
setting in your stylesheet.
Tree Widget Here you can define the font, background and border
colors used for the nodes in the tree display
Tree Links This defines the color of the links between the nodes in
the tree.
Standard Palettes Buttons that applies once of the standard colour
settings. Click the button and press F5 to refresh to see
P a g e | 32
Doc id: d2-vdt-impl_guide-2-0
the impact. You can adjust the colours to suit
afterwards
Events:
On Node Click Design Studio Scripting Event for when a node is
clicked. This can be used to display a custom panel
when a node is clicked. The API can be used to get the
selected node:
var nodeClicked = this.getSelectedNode().name;
Default Action The default action when the user select a node. By
default, the built in Standard Detail Panel is displayed
for the node. You can choose to switch this off for all
nodes by selecting “None” in this attribute. I more
common scenario would be that you switched it off for
a specific node in the Tree configuration and then used
the On Node Click event to do something specific for a
few nodes.
After Calculation Event fired each time the tree calculation is completed.
After Simulation Event fired when the user finishes the drag of the
simulation slider. This event could be used to call a
planning function in the back-end if that was required
for a specific node. This would however trigger a
refresh of the data sources and the functionality should
only be used if it is not practical to model the scenario
within the tree.
On PopUp Chart Column Click Event fired when a user clicks on a period column
within the Standard Detail Popup screen. The period he
selects and the node can be retrieved via the API. This
event can be used to offer drill through to more
detailed slice and dice analysis or drill through to the
underlying system.
P a g e | 33
Doc id: d2-vdt-impl_guide-2-0
Data Binding The Value Driver tree can use data from any Design Studio Data Source such as SAP HANA, SAP BW
and Universes.
The Value Driver tree can use a single Data Source or combine up to 6 different data sources into
one tree.
Data Source Structure Whether you use a single or multiple data sources, the conceptual structure of them remains the
same.
To make node mapping simple, fast and agile, the value driver trees rely on a simple ”spreadsheet”
style two-dimensional layout with a row for each node requiring input data and the version/period
data in the columns. The first n columns being the primary data series and the next n columns being
the comparison data series. You would typically use variables to let the user select the versions, year
and other filters such as company code in your App.
Below is an example view of such as data source structure:
The above example is a simple query with two structure. The column structure is structure defined
based on restrictions on period and version with year and version as variables. This could also be a
drill down on version and period depending on your underlying source data model. The row
structure is the key figure structure using filters on the various relevant dimensions to make the
selections of the data or formulas calculating the input value.
The aspect of formulas for input values is an important concept. Often, we do not have the actual
input parameter stored in the underlying system but we do have the elements required to calculate
it. Consider a realised average price. We know the quantity sold and we know the posted revenue.
By selecting posted revenue and quantity sold, we can now calculate the input parameter realised
average price as revenue / quantity sold. This pattern is relevant for many prices and usage ratios for
cost drivers.
P a g e | 34
Doc id: d2-vdt-impl_guide-2-0
If you are using BW as the underlying system, you would typically define a Multi or Composite
Provide to bring together the relevant underlying datasets or use the option to link multiple Data
Sources to one Value Driver Tree. This would typically include your cost management InfoProvders
as well as physical statistics/KPI providers. It is highly recommended to have an approach for
including manual metrics either via Excel upload or via manual input layouts for completeness and
agility.
Adding Data Source to App To bind a Value Driver tree to a Data Source, Add the data source to the App as per usual Design
Studio procedure by right clicking on the Data Sources in the outline panel and select Add Data
Sources:
Follow the normal process of adding the data source. You can also use CSV data sources for local
testing and prototyping.
Link Single Data Source to Component If you only have a single data source for the value driver tree, you can assign it directly to the tree in
the Properties Sheet (not Additional Properties). Select the Component and select the Data Source
from the drop down list in the Data Binding:
P a g e | 35
Doc id: d2-vdt-impl_guide-2-0
Configure Result Set and Node Mapping You have now linked the Data Source to the Component. You now need to decide how to map the
individual rows in the data source to the input nodes in the Tree. This is configured under the Data
tab of the Additional Properties.
P a g e | 36
Doc id: d2-vdt-impl_guide-2-0
The Result Set options allows you to restrict the result set from the data source. It is unlikely you will
use this configuration option as you will most likely design your data source in a way that it returns
the input parameters required. Nevertheless, you can if required reduce the data set exposed to the
calculation engine at this level.
Using the Node Mapping options, the result set rows can be mapped to the value driver tree in
different ways.
If the keys in the data source are the same as the technical Id, you can choose 'Automatic based on
key' and the Result Set rows will automatically be linked to the tree nodes.
In some scenarios, you can however not control the technical ID of a row but you can control the
description (i.e. when using a BW structure the technical id becomes a generated GUID). In these
situations, you can use the 'Automatic based on text' option. The text for the row is then analysed
and the key is derived from the text before the separator (i.e. if “:” is set as the separator, and the
description is “11: Sales”, the row will automatically be mapped to the node with the unique Id “11”
if it exists).
P a g e | 37
Doc id: d2-vdt-impl_guide-2-0
If Manual is chosen as the mapping option, you will have to map the individual nodes to the Result
Set rows inside the Tree Configuration tab for the individual nodes. This is however not the
recommended approach.
The option “Use Manual Data as defaults if sourced nodes not available in result set” will look for
manual default values maintained as manual data for the node, if the mapped id does not exist in
the source. This can be used for two purposes. The first one is to have a default value for nodes that
are not always available in the source. The 2nd is when defining the tree, you prototype the solution
and as you define the source query, not all is available from the beginning. This allows you to
incrementally add new metrics to the source while still testing it holistically in an iterative process.
Link Multiple Data Source to Component As mentioned above, you can multiple data sources to a single value driver tree.
Add the multiple data sources to your App as per usual process. Once done, add the “Value Driver
Tree Input Data Merger” component to the App:
Select the new component. At the properties sheet, you can now bind up to 6 data sources by
clicking on the “+” sign:
P a g e | 38
Doc id: d2-vdt-impl_guide-2-0
You can configure the mapping approach for each data source in the same way as you do for the
value driver tree when directly assigning the source: use the text with a separator or the key directly.
You can also configure the number of columns per data series in the merger. This defaults to 12 for a
year.
Once the merger is configured, the only outstanding task is to point the Value Driver Tree
component to the merger rather than a data source:
P a g e | 39
Doc id: d2-vdt-impl_guide-2-0
Data Series and Time Aggregation The Value Driver Tree uses two data series, a primary series for simulation and a secondary for
comparison. You can set the labels here statically as part of the configuration or set them
programmatically using setPrimaryVersionTitle and setSecondaryVersionTitle. The dynamic option is
useful if the user selects version or year via variables in the App. You can also define the number of
columns in each data series. By default, this is 12 and useful for a year view.
You can also configure the labels for the periods as well as for the time aggregations. Combined with
the selection of periods, this allows you to define Value Driver Trees with different time grains or
switch time grain for one value driver tree. The default view is set up for a year broken down to 12
months.
P a g e | 40
Doc id: d2-vdt-impl_guide-2-0
P a g e | 41
Doc id: d2-vdt-impl_guide-2-0
License To use the App, you require a valid license. If you do not have a valid license, please contact
license@dolphindynamics.com.au. You are not entitled to use the component without a valid
license.
If the license type is Trial, you are only entitled to install the Component on locally and Development
and Test systems. Under no circumstances can a Trial License be used for productive purposes.
About The about tab provides context about the application and links to the documentation.
P a g e | 42
Doc id: d2-vdt-impl_guide-2-0
Configuring the Navigation Panel If you have not done so already, please refer to the Get Started section to understand how to add
Value Driver Trees to your App.
A navigation panel is not a required component for a value driver tree app. It does however provide
an easy way to offer the user control over the visualisation, selection, key inputs and drivers with no
programming required.
Binding a Navigation Panel to a Value Driver Tree In its basic form, all a Navigation panel require in order to work is a binding to a value driver tree
component. This is done by adding a navigation panel component to the canvas and set the Linked
Value Driver Tree Property to the technical id of a value driver tree component as we did in the Get
Started section. In the below example, we have linked the navigation panel to a Value Driver Tree
Component in the App with the technical Id VDT_1:
Once linked, changes in the value driver tree will automatically update the navigation panel
irrespective whether they are data driven, user driven or through the API. When the user selects an
option on the navigation panel, this will then in turn update the value driver tree or navigate in the
value driver tree.
Configuration Options The Navigation Panel component offers several configuration options that defines the sections
available and their content. You can therefore choose to have one integrated panel or have multiple
panels with different sub sections.
As the configuration is relatively simple, it is all done in the properties sheet instead of the
Additional Properties as it was the case for the Value Driver Tree. Below are the options and a
description of each:
P a g e | 43
Doc id: d2-vdt-impl_guide-2-0
P a g e | 44
Doc id: d2-vdt-impl_guide-2-0
Data Binding
Linked Value Driver Tree Technical Id within App of Value Driver Tree to link
Panel to
Display
CSS Class Custom CSS class to be added to the component for
custom styling
Display Section Headers If true, the collapsible section headers are displayed
Filter lists based on selected top node Filter assumptions, KPI’s and constraints to nodes
within the sub tree of the selected top node.
Title for Scenarios Section The text displayed at the Scenarios Section Header
Scenarios Section Visibility If true, this section is included in the panel display
Title for Top Node Section The text displayed at the Top Node Section Header
Top Node Section Visibility If true, this section is included in the panel display
Selectable Top Nodes List with the technical ID of nodes that you would like
the user to be able to set as top nodes in the tree. In
other words, by clicking on these nodes, the user filters
the tree to the sub node and its children. If you add a
text that is not a valid ID, it will be treated as a
grouping header.
Title for Key Assumptions Section The text displayed at the Key Assumption Header
Key Assumptions Section Visibility If true, this section is included in the panel display
Key Assumptions to be displayed as list List with the technical ID of nodes that you would like
to list as key assumption and which the user can click
to jump to the node in the tree. If you add a text that is
not a valid ID, it will be treated as a grouping header.
Title for KPI List Section The text displayed at the KPI List Section Header
KPI List Section Visibility If true, this section is included in the panel display
Key KPI’s to be displayed as list List with the technical ID of nodes that you would like
the list as Key KPI’s and which the user can click to
jump to the node in the tree. If you add a text that is
not a valid ID, it will be treated as a grouping header.
Title for Value Display Section The text displayed at the Value Display Section Header
Value Display Section Visibility If true, this section is included in the panel display
Selectable scales If left blank, the default of 0.0m, 0k and 0 is selected.
You can add your own list based on the following
possible values: 0b, 0.0b, 0m, 0.0m, 0.00m, 0k, 0.
Title for Simulation Period Section The text displayed at the Simulation Period Section
Header
Simulation Period Section Visibility If true, this section is included in the panel display
P a g e | 45
Doc id: d2-vdt-impl_guide-2-0
Title for Constraints List Section The text displayed at the Constraints List Section
Header
Constraints List Section Visibility If true, this section is included in the panel display
Constraints to be displayed as list List with the technical ID of nodes that you would like
the list as Constraints and which the user can click to
jump to the node in the tree. If you add a text that is
not a valid ID, it will be treated as a grouping header. If
left blank, the list will be generated automatically
based on all nodes with a min or max constraint
defined.
Sort Constraints based on utilisation If true, the list of constraints will automatically be
sorted based on utilisation with the highest utilisation
first.
Theme Dark or light theme for side panel.
P a g e | 46
Doc id: d2-vdt-impl_guide-2-0
Application Programming Interface Both the Value Driver Tree component as well as the Navigation Panel has an extensive API that can
be used to manipulate the visualisation, perform actions such as Export to Excel as well as getting
the current state such as selected node.
This can in turn be used in other Design Studio Components. A common example of that is to create
a button that can Export the raw calculated data to Excel.
In the below example, we have a Value Driver Tree in the App with the technical id VDT.
We have added a standard Button to the canvas and for the onClick event, we have added the
following code:
VDT.exportToExcel();
When the user clicks on the button, the exportToExcel command is fired to for the Value Driver Tree
VDT and will as a result, generate a raw Excel XML download of the calculated result and key node
definitions.
There are many options in the API. Descriptions of API methods and their parameters has been
embedded into the value help of the Scripting Editor. The easiest way to explore the options is to
open the script editor somewhere (i.e. in onClick event for a button), type a technical id for a value
driver tree component in your App followed by a . and explore the methods and their parameters.
Below is an example of the setTopNode method that allows you to programmatically filter the tree
P a g e | 47
Doc id: d2-vdt-impl_guide-2-0
to a particular sub node the same way as if you used the standard navigation panel. If a navigation
panel is linked and the node is in the top nodes defined, this would in turn also be highlighted.
P a g e | 48
Doc id: d2-vdt-impl_guide-2-0
Deploying to BusinessObjects Platform Under the Getting Started section, we described how you install the Value Driver Tree extension to
your local runtime. This allows you to develop, test and demonstrate the applications from your
local runtime. In order to share your new App, you need to deploy the Value Driver Tree Extension
to the SAP BusinessObjects Platform. This is done in minute following the below simple steps. If you
haven’t yet installed it in your local DesignStudio runtime, please do so first following the steps from
Getting Started.
Installing the Extension on BusinessObjects Platform To perform this task, you need administration rights on the BusinessObjects Platform. If you do not
have the necessary access, please contact your BusinessObjects Administrator.
Open Design Studio Logged onto the BusinessObjects Platform (not local mode). Select Tools ->
Platform Extensions:
You will now see a dialog with a list of extensions in your local Design Studio Environment. To install
on the server, simply select the Extension from your Local list and click Install on Platform:
P a g e | 49
Doc id: d2-vdt-impl_guide-2-0
The extension is now installed on the Platform. No restart required:
Updating the Extension on BusinessObjects Platform To update an extension, you simply go through the local update process and then perform the steps
in this section to update the servers once ready for deployment.
Removing the Extension from the BusinessObjects Platform You use the same dialog to uninstall an extension from the Platform server. You simply select the
extension in the right hand side panel and click uninstall.
You will be prompted to make sure that you really want to uninstall the extensions:
P a g e | 50
Doc id: d2-vdt-impl_guide-2-0
The extension is then removed:
P a g e | 51
Doc id: d2-vdt-impl_guide-2-0
Known Issues and Limitations Below are the known issues as of the writing of the document. This list will be updated in the online
version to reflect the current state at any point in time.
Inconsistent rendering if Components
are destroyed
A known issue in Design Studio is that the Event flow is
not called correctly if a Component is destroyed. This is
causing inconsistencies in rendering. Until this issue is
resolved with SAP, you should not destroy the Value
Driver Tree components as part of your navigation. The
most common way that components are destroyed is if
you change the general Visible property of a
component in your App. This is in fact not setting the
visibility but destroys the Container in the App
including all the children and regenerates the other
children. It is in this re-generation that the events are
not called correctly.
Work Around. If you need to set the visibility of a
component and experience the issue, instead of using
the visibility, you can use the setCSSClass on the
component in question as follow:
To Hide: NAV.setCSSClass('hidden');
To Show: NAV.setCSSClass('');
Where NAV is the technical Id of the component.
Do not set Visible to false for Value
Driver Tree
The standard property visible = false doesn’t mean that
the component is included in the processing but not
visible. It essentially means that the Component is
excluded from processing.
If you require the result from the value driver tree, use
the setCSSClass instead to hide the component. You
can configure this directly on the Component or you
can set it programmatically by the following:
To Hide: VDT.setCSSClass('hidden');
To Show: VDT.setCSSClass('');
Where VDT is the technical Id of the Value Driver Tree
component.
Pinch zoom is not supported in IE on
Windows touch enabled devices
The Pinch zoom doesn’t work within Windows touch
interfaces. A zoom slider has been added to ensure
users has access to zoom even when
Value Driver Trees tested up to 1500
nodes in single tree
As your tree becomes bigger, the most likely challenge
becomes your data source performance. As the data
source is not refreshed during navigation, this major
performance impact is however only material when
P a g e | 52
Doc id: d2-vdt-impl_guide-2-0
you open the App. It is a little like opening an Excel
workbook. As they become larger, they take longer to
load. You can leverage the multiple query data source
to load groups in parallel.
Value Driver Trees are tested up to 1500 nodes and
calculation, visualisation and simulation is almost
instant on all tested devices.
We can however not guarantee performance beyond
our tested level. Drag and drop tree maintenance will
degrade as you reach these very large node numbers. It
is recommended to switch off the Live update when
maintaining the tree in the design time if it is an issue.
P a g e | 53
Doc id: d2-vdt-impl_guide-2-0
34 / 22 Florence Street, Teneriffe, QLD 4005, Australia ACN 149 557 095 contact@dolphindynamics.com.au www.dolphindynamics.com.au
top related