Vous êtes sur la page 1sur 9

http://scn.sap.

com/community/data-warehousing/netweaverbw/blog/2012/06/15/apd-analysis-process-and-designer
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:
Filter
Aggregate Data
Join
Union
Projection
Sorting
Formula
Transform
ABAP Routine
ABC Classification
Weighted Table Scoring
Regression Analysis
Prediction with Decision Tree
Prediction with Cluster Model

1.

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
Files
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.
Traffic light indicators need to be assigned to each report line
based on a complex logic. For example, if one or two countries in the region
are underperforming, regions indicator is set to yellow. If more than two
countries are underperforming regions indicator for the analyzed period
should be set to red.
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 results into 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.
3.
Why using APD in the scoring model
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:


Business Scenario:
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)
Step: 4
Query Variant:
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
Step: 7
result.

Save ADP, Activate and execute.


Check data in DSO. It will have data based on the Query variant only not the entire Query

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 RKFs , CKFs present in the Query and can
perform transformations on it. For analysis purpose also we use APD's.

Scenario:
One scenario is like if you want to get ranking wise analysis(Eg. Vendor wise OR Dealer wise ranking) we can use
this functionality in BEx Query with Rank function. This ranking will calculate on run-time, So all corresponding
Dealers or vendors should be in Query drill-down.

But if we want to give this rank analysis to vendors or dealers individually it will not work properly as for only one
(vendor or dealer) it will always give rank as one.
This type of analysis can be done be APD.
We can store Query output to DSO and again make Query on this DSO accordingly and give to (vendor or Dealer)
also with less calculation Query will be faster.