APD (Analysis Process and Designer)
Analysis Process Designer (APD) is a workbench for creating, executing, and monitoring analysis processes. The analysis process is primarily based on data that was consolidated in the Data Warehouse and that exists in InfoProviders. One of the applications of APDs from a technical point of view would be feeding query results into a DataStore object or an attribute of a characteristic. In this post I review a few examples on how consultants may use APDs for addressing particular analysis tasks.
The Analysis Process Designer (APD) is a workbench with an intuitive graphical user interface for creating, executing, and monitoring analysis processes. The analysis process is primarily based on data that was consolidated in the Data Warehouse and that exists in InfoProviders.
Different set of Data Sources, Transformations and Data Targets are available in APD.
Analysis Process Designer allows you to set up a model where you move data from source to target and do some transformations on the way. As a source we can use any InfoProvider in the data model.
The following types of Data Sources are available in the Analysis Process Designer:
· Read Attributes of Characteristics
· Read Data from Info Providers
· Use Query to Read data
· Read Data From File
· Read Data From DB Table
· Read Analysis Authorizations
The following types of Transformations are available in the Analysis Process Designer:
· Aggregate Data
· ABAP Routine
· ABC Classification
· Weighted Table Scoring
· Regression Analysis
· Prediction with Decision Tree
· Prediction with Cluster Model
· Prediction with 3rd Party Data Mining Model
The following types of data target are available in the Analysis Process Designer:
· Attributes of a characteristic
· DataStore objects
· CRM attributes
· Analytical Index
· Training the decision tree
· Training the clustering model
· Training the scoring model (regression)
· Training data mining models from third parties
· Creating association analysis models
- ABC classification for customers
In ABC classification we assign customers to certain categories based on business rules. For example, you can classify your customers into three classes A, B and C according to the sales revenue or profit they generate. When you choose ABC classification in APD you have to specify the characteristic for which the classification is to be performed, its attribute, key figure, appropriate query, and threshold values for the individual ABC classes.
Scoring (traffic light) model
In a number of BI scenarios we may have a requirement for generating scoring or traffic light indicators for a certain set of KPIs. We may want to know, for example, how close the actual value is to the budgeted one. A range of traffic lights (red/yellow/green) needs to be displayed by geography, product group, profit center, etc.
As values for traffic light indicators are not cumulative they have to be calculated separately for each level of granularity. Knowing indicators at the lowest level of granularity does not help much in deriving them for upper levels, as there is a business rule defined for each level separately. Therefore, we have to build a set of queries for each level of data model where traffic light indicators need to be displayed. APD would help us feeding query resultsinto the cube reporting on scoring results.
2. Example of data flow for scoring model
The following data flow model can be used for calculating scoring results. The infocube contains measures (KPIs) used for scoring, such as sales volume and sales budget. It also has a set of traffic light KPIs that need to be populated with indicators for each granularity level.
It is important to note that in the scoring model instead of APD/Query approach one can use a transformation (formerly known as an update rule) connecting cube to itself. In the start/end routine we can build business logic required for scoring results calculations.
However, this approach requires complex development in ABAP. Specific scoring requirements have to be documented by a business user in advance, which usually makes development cycle longer. Any adjustments to the scoring logic require ABAP code modifications.
Alternatively, when we use Query/APD approach, analysts are able to define scoring requirements in the queries, test and modify them whenever it is needed. They can also run queries and check preliminary results. Needless to say, it is usually easier to modify and test queries rather than transformations with ABAP code.
Step by step Process of creating APD:
Here we are going to create an APD on top of a Query and then storing the result into a Direct Update DSO. Here I am taking a simple example for our understanding.
Step: 1 Go to RSA1 -> Edit -> Analysis Process Designer (or) RSANWB
Step: 2 General -> Rt Click ->Create Analysis Process -> Enter the Description
Step: 3 Now we can drag and drop the source & target objects which are there in the Functional Area. We can map Source & Target by using the Transformations. We can use several functions which are available in “Transformations”. (Join, Aggregate, Filter, Formula, ABAP Routine etc)
As per our requirement, we have to send the Query result to a DSO. So drag and drop Query (Use Query to Read Data) form Data Sources in the Graphical Work Area.
Maintain the source details in the Data Source: Query window -> enter Description and choose query -> Enter Query Variant. (There should be a Variant for the Query which is data Source for the APD)
A query variant is a query for which the variable values have already been selected. You can also use the variants for opening the query in the online display and for background processing.
Go to RSRT -> Enter Query name ->Query Variants -> New -> Enter variant name and Description -> Select the value in the Variable Selection screen -> Save Values.
Hence the Query variant is created. We have to enter the Query Variant in the APD Data Source: Query screen. APD result will be based on the Query Variant (We have given priority: “High” in the Query variant.)
Step: 5 Drag and drop the Data Target which is DSO (Direct Update) and enter the DSO details.
Now connect the Source (Query) and Target DSO by dragging one end to the other. We can use Transformations Join, Aggregate, Filter, Formula, ABAP Routine etc based on our desired output. We can use ABAP Routine for complex transformations. Here in the present example we are not using any of these transformations.
Step: 6 Save ADP, Activate and execute.
Step: 7 Check data in DSO. It will have data based on the Query variant only not the entire Query result.
In the same way we can create APD with multiple tansformations between multipme Sources and Targets .
Scenarios where we use APD:
The Analysis Process Designer (APD) makes it possible to find and identify these hidden or complex relationships between data in a simple way. Various data transformations are provided for this purpose, such as statistical and mathematical calculations, and data cleansing or structuring processes
When we have to get the data from the Query (Query as a Source), we go for APD. We can use all RKF’s , CKF’s present in the Query and can perform transformations on it. For analysis purpose also we use APD’s.