SlideShare a Scribd company logo
SAP HANA Training
LOGO
What is SAP HANA ?
 SAP HANA is a modern, in-memory database and platform that is 
deployable on premise or in the cloud.
 The SAP HANA platform is a flexible data source agnostic in-memory data 
platform that allows customers to analyze large volumes of data in real-
time. 
 It is also a development platform, providing an infrastructure and tools for 
building high-performance applications based on SAP HANA Extended 
Application Services (SAP HANA XS). 
 It is the foundation of various SAP HANA editions, like the SAP HANA 
Platform Edition, providing core database technology, and the SAP HANA 
Enterprise Edition, bundling additional components for data provisioning.
  The SAP HANA Platform Edition integrates a number of SAP components, 
including the SAP HANA database, SAP HANA studio, and SAP HANA clients.
LOGO
HANA System Architecture Overview
LOGO
HANA Architecture
LOGO
HANA System Architecture Overview
Server Components Service Name Description
Name server nameserver The name server owns the information about the topology of the SAP HANA system. 
In a distributed system with instances of the SAP HANA database on multiple hosts, the name 
server knows where the components are running and which data is located on which server.
Index Server Index server The index server contains the actual data stores and the engines for processing the data.
XS advanced runtime • Xscontroller
• Xsexeagent
• hdixsuaaserv
er
As of SAP HANA 1.0 SPS 11, SAP HANA includes an additional run-time environment for 
application development: SAP HANA extended application services (XS), advanced model.
SAP HANA XS advanced model represents an evolution of the application server architecture 
within SAP HANA by building upon the strengths (and expanding the scope) of SAP HANA 
extended application services (XS), classic model.
The SAP HANA XS advanced runtime consists of several processes for platform services and for 
executing applications
SAP HANA Deployment 
Infrastructure (HDI) 
server
diserver HDI handles the deployment of design-time artifacts into SAP HANA.
XS classic server xsengine SAP HANA Extended Application Services (SAP HANA XS) is the application server for native SAP 
HANA-based web applications. It is installed with the SAP HANA system and allows developers to 
write and run SAP HANA-based applications without the need to run an additional application 
server. SAP HANA XS is also used to run web-based tools that come with SAP HANA, for instance 
for administration, lifecycle management and development. SAP HANA XS classic is the original 
implementation of SAP HANA XS.
The XS classic server can run as a separate server process or embedded within the index server.
Extended store server esserver The extended store server is part of the SAP HANA dynamic tiering option for SAP HANA. It 
provides a high-performance disk-based column store for very big data up to the petabyte 
range. 
Data provisioning server dpserver The data provisioning server is part of the SAP HANA smart data integration option for SAP 
HANA. It provides capabilities such as data provisioning in real time and batch mode, real-time 
data transformations, data quality functions, adapters for various types of remote sources, and 
an adapter SDK for developing additional adapters.
Streaming cluster streamingserver The streaming cluster is part of the SAP HANA smart data streaming option for SAP HANA. Smart 
data streaming extends SAP HANA with capabilities of SAP Event Stream Processor for 
consuming data streams and complex event processing. 
LOGO
HANA System Architecture Overview
Server Components Service Name Description
Accelerator for SAP
ASE
etsserver The SAP ASE server is part of the SAP HANA Accelerator for SAP ASE option for SAP
HANA. It provides SAP Adaptive Server Enterprise (ASE) users the ability to use SAP
HANA on SAP ASE data, for real-time analytics
SAP HANA remote
data sync
rdsyncserver The remote data sync server is part of the SAP HANA Real-Time Replication option for
SAP HANA. SAP HANA remote data sync is a session-based synchronization technology
designed to synchronize SAP SQL Anywhere remote databases with a consolidated
database.
Preprocessor server preprocessor The preprocessor server is used by the index server to analyze text data and extract
the information on which the text search capabilities are based.
Compile server compileserver The compile server performs the compilation of stored procedures and programs, for
example, SQLScript procedures. It runs on every host and does not persist data.
Script server scriptserver The script server is used to execute application function libraries written in C++. The
script server is optional and must be started manually. For more information, see SAP
Note 1650957.
SAP Web Dispatcher webdispatcher The Web Dispatcher processes inbound HTTP and HTTPS connections to XS services.
SAP start service sapstartsrv The SAP start service is responsible for starting and stopping the other services in the
correct order. It also performs other functions, such as monitoring their runtime state.
LOGO
HANA System Architecture Overview
LOGO
HANA Architecture
LOGO
HANA Development Scenarios
LOGO
HANA Development Scenarios
LOGO
HANA Database Development
LOGO
HANA Studio
LOGO
Calculation View’s
 A calculation view allows users to define more advanced slices on 
the data available in the SAP HANA database.
 Calculation views are mainly used for analyzing operational data 
marts or running multidimensional reports on revenue, profitability, 
and so on.
 Attributes: 
 Descriptive data - such as customer ID, city, and country.
 Measures: 
 Quantifiable data - such as revenue, quantity sold and, counters.
 Calculation view’s support the following
 Support both OLAP and OLTP models i.e. SQL and MDX.
 Support complex expressions (for example, IF, Case, Counter).
 Support analytic privileges (for example, restricting a user for a certain cost center).
 Support SAP ERP specific features (for example, client handling, language, currency 
conversion).
 Combine facts from multiple tables.
 Support additional data processing operations, (for example, Union, explicit aggregation).
 Leverage both Column and Row tables.
LOGO
Cal Views
LOGO
Working With Attributes and Measures
 Attributes: Attributes are the non-measurable analytical elements.
 Measures: Measures are measurable analytical elements that are derived from calculation views.
Attributes Description Example
Simple 
Attributes
Individual non-measurable analytical elements 
that are derived from the data sources.
For example, PRODUCT_ID and PRODUCT_NAME are 
attributes of product data source.
Calculated 
Attributes
Derived from one or more existing attributes or 
constants.
For example, deriving the full name of a customer 
(first name and last name), assigning a constant 
value to an attribute that can be used for arithmetic 
calculations.
Measures Description Example
Simple Measures A simple measure is a measurable 
analytical element that is derived from the 
data sources.
For example, PROFIT.
Calculated Measures Calculated measures are defined based on 
a combination of data from other data 
sources, arithmetic operators, constants, 
and functions.
For example, you can use calculated measures to 
calculate the net profit from revenue and 
operational cost..
Counters Counters add a new measure to the 
calculation view definition to count the 
distinct occurrences of an attribute.
For example, to count how many times product 
appears and use this value for reporting purposes.
LOGO
Generate Time Data
 Generate time data into the standard time-related tables that are available 
in the _SYS_BI schema.
  After generating the time data, you can use the standard time-related 
tables as data sources in the calculation view to add a time dimension to 
the view.
 Supported Calendar Types For Generating Time Data
 Supported Time Range for Generating Time Data – for the Gregorian Calendar type
LOGO
Generate Time Data
 Gregorian calendar type
 M_TIME_DIMENSION_YEAR, 
 M_TIME_DIMENSION_MONTH, 
 M_TIME_DIMENSION_WEEK,
 M_TIME_DIMENSION
 Fiscal calendar type
 In the Schema text field, enter the name of the variant schema that contains 
tables having variant data.
 The variant specifies the number of periods along with the start and end 
dates.
 M_FISCAL_CALENDAR
 Create Time Dimension view and add view to the other Cal
view’s
LOGO
Graphical Calculation Views
 Create graphical calculation views using a graphical editor to depict a 
complex business scenario. You can also create graphical calculation views 
to include layers of calculation logic.
 Working with View node
 Working with Column and properties
 Working the Calculation View Properties
LOGO
Working with View Nodes
Node Description Example
Projection
Use Projection node to filter or obtain a subset of 
required columns of a data source (tables, views, 
table functions, and so on.)
Projection nodes have one input.
For selecting the employee name and employee 
department from a table consisting of many other 
columns.
Aggregation
Use Aggregation node to summarize data for a 
group of row values, by calculating values in a 
column.
Aggregation nodes have one input.
For retrieving total sales of a product in a month. 
The supported aggregation types are SUM, MIN, 
VAR, STDDEV, MAX, COUNT, AVG.
Join
Use Join node to query data from two data sources, 
based on a specified condition. 
Join nodes have two inputs.
For retrieving customer details and location based 
on the postal code columns in 
the CUSTOMER and GEOGRAPHY tables. The 
CUSTOMER table has columns Customer_ID, 
Customer_Name and Postal_Code, and the 
GEOGRAPHY table has columns 
Customer_ID,Postal_Code, Region and Country.
Union
Use Union node to combine the result set of two or 
more data sources. 
Union nodes have two or more inputs.
For retrieving the names of all employees of a 
store, which has different branches, with each 
branch maintaining its own employee records table.
Rank
Use Rank node to partition the data for a set of 
partition columns, and to perform an order by 
operation on the partitioned data.
Retrieving the top five products, based on sales, 
from a TRANSACTION table with 
columns PRODUCT and SALES.
Graph
Use Graph node to execute any of the available 
graph operations or actions on the graph 
workspace.
A graph node is always the leaf node only.
Execute graph actions such as the shortest path or 
the strongest connection between components in 
the graph workspace. The graph workspace includes 
the definition of the vertex table and edge table 
that are required to execute the action.
LOGO
Working with View Nodes
LOGO
Projection/Aggregation Filter Output
 Apply filters on columns of projection or aggregation view nodes to 
filter their output.
 You cannot apply filter on columns of the default projection or the 
default aggregation nodes of calculation views.
  Filter on columns are equivalent to “HAVING” CLAUSE of SQL.
  We can use both Column or SQL Engine for filter expressions
For example,
(revenue >= 100 AND region = India) OR (revenue >=50 AND region 
= Germany)
LOGO
Joins 
LOGO
Join Properties
Join 
Properties
Description
Join Type The value of this property specifies the join type used for creating a join.
Cardinality The value of this property specifies the cardinality used for creating a join. 
By default, the cardinality of the join is empty. If you are not sure about 
the right cardinality for the join tables, it is recommended to not specify 
any cardinality. The system determines the cardinality when executing the 
join.
Language 
Column
The value of this property specifies the language column that modeler 
must use for executing text joins. 
Dynamic Join The value of this property determines whether modeler must dynamically 
define the columns of the join condition based on the client query. 
Optimize Join 
Columns
The value of this property determines whether modeler must retrieve the 
columns that are not specified in the query from the database. 
LOGO
Join types
Join Type Description
Inner This join type returns all rows when there is at least one match in both 
the data sources.
Left Outer This join type returns all rows from the left data source, and the matched 
rows from the right data source.
Right Outer This join type returns all rows from the right data source, and the 
matched rows from the left data source.
Text Join This join type is used to obtain language-specific data from the text tables 
using a language column.
Full Outer This join type displays results from both left and right outer joins and 
returns all (matched or unmatched) rows from the tables on both sides of 
the join clause.
Referential This join type is similar to inner join type, but assumes referential 
integrity is maintained for the join tables.
LOGO
Dynamic Join
 After creating a join between two data sources, you can define the 
join property as dynamic. 
 Dynamic joins improves the join execution process and help reduce 
the number of records that join node process at run time.
  You can set the Dynamic Join property only if the two data sources 
are joined on multiple columns.
Static Join Dynamic Join
In static joins, the join condition isn't 
changed, irrespective of the client query.
In Dynamic joins, the join condition 
changed, based on the client query
No Run time error even if query does not 
request the join column
In a dynamic join, if the client query to 
the join doesn't request a join column, 
a query run time error occurs
Aggregation happens after the join 
condition
Aggregation happens before the join 
condition
LOGO
Dynamic vs Static Joins Example
LOGO
Optimize Join Execution
 While executing the join, by default, the query retrieves join 
columns from the database even if you don't specify it in the 
query. 
 The query automatically includes the join columns into the SQL 
GROUP BY clause without you selecting them in the query.
 Optimizing join columns is supported only for left outer joins, or 
text joins (with cardinality 1:1 or N:1), and right outer joins (with 
cardinality 1:1 or 1:N).
 The join optimizer cannot remove attributes of static filters if the 
filters are defined on join columns for which you have 
enabled Optimize Join Columns. In this case, you can optimize the 
join column by introducing a dummy projection node between the 
join and the input node with static filters.
LOGO
Special Joins
Special 
Join
Description Example
Star Join Star joins connect a central data 
entity to multiple entities that are 
logically related. You can create a 
graphical calculation view with 
star joins that join multiple 
dimensions to a single fact table.
 
Temporal 
Joins
Temporal joins let you join the 
transaction data (fact table) with 
the master data, based on 
temporal column values from the 
transaction data and the time 
validity from the master data.
Consider a dimension calculation view named PRODUCT (master 
data) with attributes PRODUCT_ID, VALID_FROM_DATE, and 
VALID_TO_DATE and a calculation view of type 
cube, SALES (transactional data) with 
attributes PRODUCT_ID, DATE, and REVENUE. Conditions: 
Include/Exclude both, Include To Exclude from and Exclude To 
Include from
Text Joins A text join helps obtain language-
specific data. It retrieves columns 
from a text table based on the 
user’s session language.
The text tables contain description for a column value in different 
languages. For example, consider a PRODUCT table that 
contains PRODCUT_ID and a text table PRODUCT_TEXT that 
contains the columns PRODUCT_ID, DESCRIPTION, 
and LANGUAGE.
Spatial Joins Create spatial joins to query data 
from data sources that have 
spatial data.
 
LOGO
Union
 Use union nodes in calculation views to combine the results of two 
or more data sources.
LOGO
Constant Columns
LOGO
Empty Union Behavior
 The Empty Union Behavior property determines whether queries on union nodes, ones with 
constant output columns, will return values when no other column from the data source is 
queried.
 This property is useful, for example, for value help queries in applications.
 No Row
 Row with Constant
If the Empty Union Behavior property is set 
to No Row, no data from Projection _2 appears 
in the output data. 
Only data from Projection_1 appears in the 
output data.
If the Empty Union Behavior property is set 
to Row with Constant, the output data 
includes one record from Projection _2. 
In this one record, the constant value A appears 
for the CONSTANT column and values for all 
other columns appears as null.
LOGO
Prune Data in Union Nodes
 Pruning data in union nodes help optimize the query execution. 
 You create a pruning configuration table, which specifies the filter conditions to limit the 
result set, and prune data using this table.
LOGO
Rank
 Use rank nodes in calculation views to partition the data for a set of
partition columns, and perform an ORDER BY SQL operation on the
partitioned data.
LOGO
Rank
 Define Sort Direction
 Define threshold value
 Use a Fixed value or an Input Parameter as the threshold value
 Order by
 select a column that modeler must use to perform
the order by operation.
 Partition Data
 Partition by Column more than one column
 Dynamic Partition - based query request
 select the Dynamic Partition Elements checkbox.
 Generate the Rank Column
 If you want generate an additional output column for the
rank node to store the rank values,
select the Generate Rank Column checkbox.
LOGO
Graph Nodes
 SAP HANA Graph lets you create graph nodes in calculation views
for various calculation scenarios.
 A graph node helps execute one of the available actions on a graph
workspace and provides the output as a table.
LOGO
Working with Columns
Task to perform Requirement
Create Counters Count the number of distinct values for a set of attribute columns.
Create Calculated Columns Create new output columns and calculate their values at run time using an expression.
Create Restricted Columns Create restricted columns as an additional measure based on attribute restrictions
REVENUE column only for REGION = APJ, and YEAR = 2012.
> Measure and Attribute Column
> Expressions
Assign Semantics Assign semantic types to provide more meaning to attributes and measures in calculation
views.
Create Input Parameters Parameterize calculation views and execute them based on the values users provide at
query run time.
Assign Variables Filter the results based on the values that users provide to attributes at run time.
Create Level Hierarchies Create level hierarchies to organize data in reporting tools.
Create Parent-Child Hierarchies Create parent-child hierarchies to organize data in reporting tools.
Associate Measures with Currency Associate measures with currency codes and perform currency conversions.
Associate Measures with Unit of
Measure
Associate measures with unit of measures and perform unit conversions.
Group Related Measures Group related measures together in a folder.
Enable or Disable Attributes for
Drilldown in Reporting Tools
By default, the tool lets you drilldown the attributes or calculated attributes in the reporting
tools. You can disable this behavior for selected attributes.
Assign Value Help for Attributes If you are using attribute data to provide values to variables and input parameters at
runtime, you can assign a value help to that attribute in order to use values from other
attributes, which are available within the same calculation view or in other tables or other
calculation views.
Handle Null Values in Columns Define default values for columns (both attributes and measures) in the event that no value
is provided during an INSERT operation. The system uses these default values in the
reporting tools to replace any null values in columns.
Add Descriptions to Attributes In an information view, you can associate an attribute or a column having texts, as a label
column to another attribute or column.
LOGO
Working with Columns
LOGO
Assign Semantics
 Assigning semantics to measures or attributes in calculation views helps
define output structure of views.
 Extract and Copy Semantics From Underlying Data Sources
 Propagate Columns to Semantics
 Supported Semantic Types for Measures
 Supported Semantic Types for Attributes
Extract and Copy Semantics From Underlying
Data Sources
While defining the semantics for a calculation view, you
can extract and copy the semantic definitions of columns
from their underlying data sources.
Propagate Columns to Semantics Propagate columns from underlying view nodes to the
semantics node and to other view nodes that are in the
joined path
Supported Semantic Types for Measures Amount with Currency Code
Quantity with Unit of Measures
Supported Semantic Types for Attributes Amount with Currency Code
Quantity with Unit of Measures
Currency Code
Unit of Measure
Date
Date – Business Date From
Date – Business Date To
Geo Location - Longitude
Geo Location - Latitude
Geo Location - Carto ID
Geo Location – Normalized Name
LOGO
Convert Attribute Values to Required Formats
 Assign conversion functions to attribute columns. These functions help
maintain conversion from any internal to external format and from any
external to internal format.
Stored Data
Type Format
Stored
Value
Formatted
Value
Preservi
ng Order
ABAP Date 20160503 05.03.2016 No
ABAP Date 20160503 2016.05.03 Yes
LOGO
Convert Attribute Values to Required Formats
LOGO
Creating Input Parameters
 Input parameters helps you parameterize calculation views and execute them based
on the values you provide to the input parameters at query runtime. The engine
considers input parameters as the PLACEHOLDER clause of the SQL statement.
Properties Description
Default Value The value of this property specifies the default value that modeler uses
if you do not provide any values to the input parameter at runtime.
Parameter Type The value of this property specifies the input parameter type..
Multiple Entries The value of this property specifies whether the input parameter is
configured to support multiple values at runtime.
Is Mandatory The value of this property specifies whether the input parameter is
configured to mandatorily accept a value at runtime.
LOGO
Default Values
Default Value Meaning
Constant i.If you want to use a constant value as the default input parameter
value,In the Default Value section, choose the add icon.
ii.In Type dropdown list section, select Constant.
iii.In Value field, provide a constant value.
Expression If you want to use the result of an expression as the default input
parameter value:
i.In the Default Value section, choose the add icon.
ii.In Type dropdown list section, select Expression.
iii.In the Value field, choose the value help to open the expression
editor.
iv.In the Expression Editor, enter a valid expression.
v.Choose Validate Syntax.
vi.Choose Back..
For example, you can evaluate the expression date(Now()), and use the
result as the default input parameter value at runtime.
LOGO
Parameter Type
Input Parameter
Type
Description Next Steps
Column At runtime, modeler provides a value help with attribute
data. You can choose a value from the attribute data as an
input parameter value.
You can also choose a hierarchy from the calculation view to
organize the data in reporting tools. But, only if the
hierarchy contains the variable’s reference column at the
leaf level (in level hierarchies) or as a parent attribute (in
parent-child hierarchies).
a. In the Reference Column dropdown list, select an
attribute.b. If you want to use attribute data from another
calculation view as the reference column, in theView/Table
for value help dropdown list, select the information view that
contains the required attribute.
c. If you want use a hierarchy to organize the data in
reporting tools, in Hierarchy dropdown list, select a
hierarchy.
Derived from
table
At runtime, modeler uses the value from the table’s return
column as the input parameter value. This means that, you
need not provide any values to the inputparameter at
runtime.
Input parameters of this type are typically used to evaluate
a formula. For example, you calculate a discount for specific
clients by creating an input parameter, which is derived
from the SALES table and return column REVENUE with a
filter set on the CLIENT_ID.
a. In the Table Name dropdown list, select a table.
b. For the table you select, in the Return Columndropdown
list, select a column value.
c. In the Filters section, define filter conditions to filter the
values of return column.
Direct Specify the data type and length and scale of the input
parameter value that you want to use at runtime.
You can also define an input parameter with semantic type
as Currency or Unit of Measure or Date.
For example, in currency conversions, you can specify the
target currency value at run time by creating an input
parameter of type Direct with semantic type as Currency.
b. In the Data Type dropdown list, select the data type.
c. Provide the Length and Scale for the data type you choose.
a. Optionally, In the Semantic Type dropdown list, specify
the semantic type for you input parameter.
Static List At runtime, modeler provides a value help with the static
list. You can choose a value from this list as an input
parameter value.
a. In the Data Type dropdown list, select the data type for
the list values.
b. Provide the Length and Scale for the data type you
choose.
c. In the List of Values section, choose the add icon to
provide the list values.
Derived from
Procedure/Scalar
functions
At runtime, modeler uses the value returned from the
procedure or scalar function as the input parameter value.
a..In Procedure/ Scalar Function textbox, provide the name
of procedure or scalar function.
LOGO
Map Input Parameters or Variables
 If you are creating a calculation view by using other calculation views,
attribute views or analytic views, which have input parameters or variables
defined on it, then you can map the input parameters or variables of the
underlying data sources with the input parameters or variables of the
calculation view that you are creating
Value Description
Data Sources If you are using other data sources in your calculation view
and if you want map input parameters of these data sources
with the input parameters of the calculation view.
Views for value
help for
variables/input
parameters
If you are using input parameters or variables, which refer
to external views for value help references and if you want
to map input parameters or variables of external views with
the input parameters or variables of the calculation view.
Views for value
help for
attributes
If you are creating a calculation view, and for the attributes
in the underlying data sources of this calculation view, if you
have defined a value help view or a table that provides
values to filter the attribute at runtime.
LOGO
Assign Variable
 Calculation views contain variables that are bound to specific
attributes within the calculation view.
 Variables are runtime filters that help to filter attributes, based on
values that users provide.
 Is Mandatory
 Multiple Values
 Reference Column (View/Table Value Help)
 Constant or Expression
 Supported Variable types
 Single Value
 Interval From/To
 Range Equal/Less than
LOGO
Using Currency and Unit of Measure Conversions
 If measures in your calculation views or analytic views represent currency
or unit values, associate them with currency codes or unit of measures. This
helps you display the measure values along with currency codes or unit of
measures at data preview or in reporting tools.
 Associate Measures with Currency
 Associate Measures with Unit of Measure
LOGO
Hierarchy
 SAP HANA modeler helps create hierarchies to organize data in a tree
structure for multidimensional reporting. Each hierarchy comprises of a set
of levels having many-to-one relationships between each other and
collectively these levels make up the hierarchical structure.
 Level Hierarchy
Example Year, Qtr, Month, Week and Day
 Parent/Child Hierarchy
Example Profit Center and Cost Center
LOGO
Others
Attribute and Measure
Operations
Description Properties
Create Counters Counters are columns that display the distinct
count of attribute columns.
You can create counters for attribute columns in the default
aggregation view node only.
Set Transparent Filter Flag = TRUE Attribute property to get
the correct count
Create Calculated ColumnsCreate new output columns and calculate their
values at run time, based on the result of an
expression. Calculation can be build based on Other
columns, functions, input parameters and constants
Semantics: Column type Dimension/Measure
Enable client side aggregation checkbox
Aggregation Type dropdown list
Drilldown Provide an expression : SQL/Calculation Engine
if("PRODUCT" = 'NOTEBOOK', "DISCOUNT" * 0.10,
"DISCOUNT")
Create Restricted
Columns
Create restricted columns as an additional measure
based on attribute restrictions
REVENUE column only for REGION = APJ, and YEAR
= 2012.
> Measure and Attribute Column
> Expressions
You can define multiple conditions using the same attribute
columns or different attribute columns. For example, the
expression, ("CUSTOMER_ID" = '10' OR "CUSTOMER_ID" =
'2010') AND ("CUSTOMER_NAME" = '' ") has three conditions.
Enable or Disable Attributes for Drilldown in Reporting ToolsBy default, the tool lets you drilldown the attributes
or calculated attributes in the reporting tools. You
can disable this behavior for selected attributes.
Assign Value Help for
Attributes
If you are using attribute data to provide values to
variables and input parameters at runtime, you can
assign a value help to that attribute in order to use
values from other attributes, which are available
within the same calculation view or in other tables
or other calculation views.
Handle Null Values in
Columns
Define default values for columns (both attributes
and measures) in the event that no value is
provided during an INSERT operation. The system
uses these default values in the reporting tools to
replace any null values in columns.
Group Related Measures Create folders in calculation views to logically
group related measures in a calculation view. For
example, you can group planned measures and
related measures in separate folders.
Add Descriptions to
Attributes
In an information view, you can associate an
attribute or a column having texts, as a label
column to another attribute or column.
Keep Flag Using keep flag property. The Keep Flag property helps retrieve columns from the view node to the result set even
when you don't, request it in your query. In other words, if you want to include those columns into the SQL GROUP
BY clause, even when you don't select them in the query,
LOGO
Working With Calculation View Properties
Task to perform Requirement
Filter Data for Specific Clients
Filter the view data either using a fixed client
value or using a session client set for the user.
Invalidate Cached Content
Invalidate or remove data from the cache after
specific time intervals.
Deprecate Calculation Views Prevent use of a calculation view.
Enable Calculation Views for
Time Travel Queries
Execute time travel queries on calculation views
LOGO
Working With Calculation View Properties
LOGO
Calculation View properties
Properties Description
Data Category
The value of this property determines whether your calculation view supports analysis with
multidimensional reporting. For more information see, Supported Data Categories for Information Views.
Default Schema
The value of this property helps modeler identify the default schema, which contains the tables necessary
for currency or unit conversions. For more information, see Using Currency and Unit of Measure
Conversions.
Default Member
This value of this property helps modeler identify the default member for all hierarchies in the information
views.
Enable History
The value of this property determines whether your calculation view supports time travel queries. For more
information see, Enable Information Views for Time Travel Queries.
History Input
Parameter
Input parameter used to specify the timestamp in time travel queries.
Deprecate
The value of this property determines whether a user does not recommend using an information view in
other modeler objects. If the value is set to True, it indicates that although an information view is
supported in SAP HANA modeler for modeling activities, it is not recommended for use. For more
information, Deprecate Information Views.
Translate
The value of this property determines whether SAP HANA modeler must support maintaining object label
texts in the information view in multiple languages. For more information, see Maintain Modeler Object
Labels in Multiple Languages.
Execute In
The value of this property impacts the output data. It determines whether modeler must execute the
calculation view in SQL engine or column engine. For more information, see SAP Note 1857202
Cache
The value of this property determines whether you have enabled support for cache invalidation. For more
information see, Enable Support for Cache Invalidation
Cache Invalidation
Period
The value of this property impacts the output data. It determines whether modeler must invalidate or
remove the cached content based on a time interval or when any of the underlying data is changed. For
more information, see Invalidate Cached Content.
Pruning Configuration
Table
The value of this property determines the pruning configuration table that modeler must use to prune data
in union nodes. For more information, see Prune Data in Union Nodes.
Propagate Instantiation
to SQL
The value of this property helps modeler identify whether it has to propagate the instantiation handled by
the calculation engine to the CDS or SQL views built on top of this calculation view. If the value is set to
True, modeler propagates the instantiation to the CDS or SQL views. This means that, attributes that a
query (on a SQL view built on top of this view) does not request are pruned and not considered at runtime.
For information on calculation engine instantiation process, see SAP Note 1764658
Analyticview
Compatibility Mode
The value of this property helps the join engine identify whether it has to ignore joins with N:M cardinality,
when executing the join. If the value of this property is set to True, the join engine prunes N:M cardinality
joins if the left table or the right table in the star join node does not request for any field, and if no filters
are defined on the join.
Count Star Column
The value of this property is set to row.count in calculation views, which were created by migrating analytic
views having the row.count column. The row.count column was used internally to store the result of SELECT
COUNT(*) queries.
You can also select a column from the calculation view as Count Star Column. In this case, the column you
select is used to store the result of SELECT COUNT(<column_name>).
LOGO
Additional Functionality for Calculation Views
 After modeling calculation views or during design time itself you can
perform certain additional functions to understand the performance
of the view at runtime and to efficiently model calculation views.
LOGO
Additional Functionality for Calculation Views
Additional functions Description Example
Trace View Objects with Data
Lineage
With data lineage, you can essentially
identify from where the calculation view
gets its data from.
1) Object from its source and up to the semantics
node within the calculation view
2) Source of all data sources (tables and views)
used for modeling a calculation view.
Trace Dependent Objects to
Analyze Impacts
Modifying a calculation view can impact
other calculation views that are modeled
on top of the view.
It is necessary to identify all such
dependent objects before making any
changes to the view, which otherwise may
lead to run time errors.
The tools helps to identify all dependent objects of
a target calculation view, one level at a time.
This means that, for each of the dependent object,
you can further drilldown and identify the next
level of dependent objects and until the leaf
object.
Open Calculation Views in
Performance Analysis Mode
When you open a calculation view in
performance analysis mode, you obtain
information on joins, join tables, table
partitions, table types and other such
information that to better understand the
performance of calculation views when it
is executed.
The number of rows in a data source and table
partitions impact the performance of your queries.
The performance analysis mode provides
information on such details at design time.
Based on this information you can model more
efficient calculation views and improve its
performance when it is executed.
Debug Calculation Views
Open the calculation view in the debugger
editor (in debug mode) by executing a
debug query that the tool proposes or by
executing your own debug query.
The debugging operation helps analyze the run
time behavior of a calculation view.
Based on the analysis, you can make necessary
changes to the view at design time and improve
its performance when it is executed.
The tool supports several debugging operations
within the debugger editor.
For example, write a SQL query for debugging a
calculation view and identify those attributes or
data sources in the calculation view that the
engine consumes for executing the query, and
also those objects that the engine does not
consume.
LOGO
Additional Functionality for Calculation Views
Additional functions Description Example
Maintain Comments for
Calculation View Objects
When you are modeling a calculation
view, you can also maintain comments
for the view or for its objects such as
parameters, calculated columns, view
nodes and so on
Columns in the semantics node
View nodes
Input parameters and variables
Hierarchies
Calculated columns and restricted columns in
underlying view nodes
Replacing Nodes and Data
Sources
Replace a view node with any of the
other underlying view nodes or replace
a data source in view node with other
available data sources in the catalog
object.
If you manually delete a node in column view
(without using the replace view node feature)
and add new node, you lose the semantic
information of the deleted node
Using Functions in
Expressions
This section describes the functions,
which you can use while creating
expressions for calculated attributes
and calculated measures
Manage Calculation Views
with Missing Objects
If objects within a calculation view are
missing, for example, if the objects or
its references are deleted, then such
calculation views are referred to as
broken models.
Adjusting mappings of inconsistent objects.
Deleting inconsistent objects.
Generate Properties File for
Calculation Views
For a calculation view, you can
generate a properties file that contains
the key-value pairs, such as, name and
description values of calculation views
objects.
You can also tranlate the name and description
values to multiple langagues and update
the BIMC _DESRIPTION table
Generate Calculation View
Documentation
Generate a single document that
captures all details for a selected
calculation view.
LOGO
Trace View Objects with Data Lineage
 With data lineage, you can essentially identify from where the
calculation view gets its data from.
LOGO
Trace Dependent Objects to Analyze Impacts
 With Modifying a calculation view can impact other calculation views
that are modeled on top of the view.
 It is necessary to identify all such dependent objects before making
any changes to the view, which otherwise may lead to run time
errors.
 The tools helps to identify all dependent objects of a target
calculation view, one level at a time.
 This means that, for each of the dependent object, you can further
drilldown and identify the next level of dependent objects and until
the leaf object.
LOGO
Performance Analysis
 The objective of the performance analysis mode is to provide such
information to users that helps them understand the performance of the
calculation view when it is executed.
 When you open a calculation view in performance analysis mode, you obtain
information on the catalog tables modeled in the view. For example,
information on table partitions, number of rows in the tables, and so on.
 The information that the tool displays in performance analysis mode depends
on the view node that you select and the data sources within this view node
LOGO
Open Views in Analysis Mode
 When you open a calculation view in performance analysis mode, you obtain
information on joins, join tables, table partitions, table types and other such
information that to better understand the performance of calculation views
when it is executed..
LOGO
Open Views in Debug Mode
 Open the calculation view in the debugger editor (in debug mode) by
executing a debug query that the tool proposes or by executing your own
debug query.
 The debugging operation helps analyze the run time behavior of a calculation
view. Based on the analysis, you can make necessary changes to the view at
design time and improve its performance when it is executed.
LOGO
Using the Debugger Editor
 The debugger editor opens the calculation view in debug mode and helps in
analyzing the runtime performance of calculation views.
 The data in the debugger editor largely depends on the query you execute to
debug the calculation view.
 Helps identify pruned and unpruned data sources in calculation views.
 Allows drilldown on underlying data sources for detailed analysis
 Provides simple intermediate data preview
 Displays results of executing the performance validation rules on the
calculation view.
LOGO
Predefined Validation Rules
 Executing the predefined validation rules helps identify specific design time
factors that impact the performance of calculation views.
 The tool automatically executes the predefined validation rules when you
execute the debug query
Predefined Validation Rule Objective
Calculation in filter expression
rule
Helps identify whether you have modeled the
calculation view with calculated columns or
aggregated columns in filter expressions.
Calculation in joins rule Helps identify whether you have modeled the
calculation view with calculated columns or
aggregated columns in join conditions.
Partition types in join rule Helps identify whether the tables participating the
join are partition tables and if the 1st level partition
type of these two tables are different.
Ad

More Related Content

What's hot (20)

Sap bw4 hana
Sap bw4 hanaSap bw4 hana
Sap bw4 hana
Nisit Payungkorapin
 
How to use abap cds for data provisioning in bw
How to use abap cds for data provisioning in bwHow to use abap cds for data provisioning in bw
How to use abap cds for data provisioning in bw
Luc Vanrobays
 
Best Practices to Administer, Operate, and Monitor an SAP HANA System
Best Practices to Administer, Operate, and Monitor an SAP HANA SystemBest Practices to Administer, Operate, and Monitor an SAP HANA System
Best Practices to Administer, Operate, and Monitor an SAP HANA System
SAPinsider Events
 
SAP HANA Database
SAP HANA DatabaseSAP HANA Database
SAP HANA Database
Mayuree Srikulwong
 
Why sap hana
Why sap hanaWhy sap hana
Why sap hana
ugur candan
 
SAP S/4HANA Migration Cockpit
SAP S/4HANA Migration CockpitSAP S/4HANA Migration Cockpit
SAP S/4HANA Migration Cockpit
Edwin Weijers
 
SAP BI/BW
SAP BI/BWSAP BI/BW
SAP BI/BW
ChanderRajpurohit
 
SAP Document Management System Integration with Content Servers
SAP Document Management System Integration with Content Servers SAP Document Management System Integration with Content Servers
SAP Document Management System Integration with Content Servers
Verbella CMG
 
Sizing sap hana
Sizing sap hanaSizing sap hana
Sizing sap hana
Jaleel Ahmed Gulammohiddin
 
SAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital CoreSAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital Core
SAP Technology
 
Sap bw4 hana architecture archetypes
Sap bw4 hana architecture archetypesSap bw4 hana architecture archetypes
Sap bw4 hana architecture archetypes
Luc Vanrobays
 
SAP HANA Platform
SAP HANA Platform SAP HANA Platform
SAP HANA Platform
SAP Technology
 
Sap hana studio_overview
Sap hana studio_overviewSap hana studio_overview
Sap hana studio_overview
Arun Singhania
 
SAP S4HANA : Learn From Our Implementation Journey
SAP S4HANA : Learn From Our Implementation JourneySAP S4HANA : Learn From Our Implementation Journey
SAP S4HANA : Learn From Our Implementation Journey
Anup Lakra
 
Lo extraction part 7 enhancements
Lo extraction   part 7 enhancementsLo extraction   part 7 enhancements
Lo extraction part 7 enhancements
JNTU University
 
Combining SAP Extended ECM and SAP DMS (Document Management System)
Combining SAP Extended ECM and SAP DMS (Document Management System)Combining SAP Extended ECM and SAP DMS (Document Management System)
Combining SAP Extended ECM and SAP DMS (Document Management System)
Thomas Demmler
 
HANA SPS07 Modeling Enhancements
HANA SPS07 Modeling EnhancementsHANA SPS07 Modeling Enhancements
HANA SPS07 Modeling Enhancements
SAP Technology
 
Sizing sap s 4 hana using the quick sizer tool
Sizing sap s 4 hana using the quick sizer toolSizing sap s 4 hana using the quick sizer tool
Sizing sap s 4 hana using the quick sizer tool
Jaleel Ahmed Gulammohiddin
 
SAP CPI - DS
SAP CPI - DSSAP CPI - DS
SAP CPI - DS
Geetha Madhuri
 
SAP Business Technology Platform in a Nutshell
SAP Business Technology Platform in a NutshellSAP Business Technology Platform in a Nutshell
SAP Business Technology Platform in a Nutshell
Richard314186
 
How to use abap cds for data provisioning in bw
How to use abap cds for data provisioning in bwHow to use abap cds for data provisioning in bw
How to use abap cds for data provisioning in bw
Luc Vanrobays
 
Best Practices to Administer, Operate, and Monitor an SAP HANA System
Best Practices to Administer, Operate, and Monitor an SAP HANA SystemBest Practices to Administer, Operate, and Monitor an SAP HANA System
Best Practices to Administer, Operate, and Monitor an SAP HANA System
SAPinsider Events
 
SAP S/4HANA Migration Cockpit
SAP S/4HANA Migration CockpitSAP S/4HANA Migration Cockpit
SAP S/4HANA Migration Cockpit
Edwin Weijers
 
SAP Document Management System Integration with Content Servers
SAP Document Management System Integration with Content Servers SAP Document Management System Integration with Content Servers
SAP Document Management System Integration with Content Servers
Verbella CMG
 
SAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital CoreSAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital Core
SAP Technology
 
Sap bw4 hana architecture archetypes
Sap bw4 hana architecture archetypesSap bw4 hana architecture archetypes
Sap bw4 hana architecture archetypes
Luc Vanrobays
 
Sap hana studio_overview
Sap hana studio_overviewSap hana studio_overview
Sap hana studio_overview
Arun Singhania
 
SAP S4HANA : Learn From Our Implementation Journey
SAP S4HANA : Learn From Our Implementation JourneySAP S4HANA : Learn From Our Implementation Journey
SAP S4HANA : Learn From Our Implementation Journey
Anup Lakra
 
Lo extraction part 7 enhancements
Lo extraction   part 7 enhancementsLo extraction   part 7 enhancements
Lo extraction part 7 enhancements
JNTU University
 
Combining SAP Extended ECM and SAP DMS (Document Management System)
Combining SAP Extended ECM and SAP DMS (Document Management System)Combining SAP Extended ECM and SAP DMS (Document Management System)
Combining SAP Extended ECM and SAP DMS (Document Management System)
Thomas Demmler
 
HANA SPS07 Modeling Enhancements
HANA SPS07 Modeling EnhancementsHANA SPS07 Modeling Enhancements
HANA SPS07 Modeling Enhancements
SAP Technology
 
Sizing sap s 4 hana using the quick sizer tool
Sizing sap s 4 hana using the quick sizer toolSizing sap s 4 hana using the quick sizer tool
Sizing sap s 4 hana using the quick sizer tool
Jaleel Ahmed Gulammohiddin
 
SAP Business Technology Platform in a Nutshell
SAP Business Technology Platform in a NutshellSAP Business Technology Platform in a Nutshell
SAP Business Technology Platform in a Nutshell
Richard314186
 

Similar to HANA Modeling (20)

What is Sap HANA Convista Consulting Asia.pdf
What is Sap HANA Convista Consulting Asia.pdfWhat is Sap HANA Convista Consulting Asia.pdf
What is Sap HANA Convista Consulting Asia.pdf
ankeetkumar4
 
Project report
Project reportProject report
Project report
Chhamanshu Dixit
 
Sap hana master_guide_en
Sap hana master_guide_enSap hana master_guide_en
Sap hana master_guide_en
Farrukh Yusupov
 
5507832a c074-4013-9d49-6e58befa9c3e-161121113026
5507832a c074-4013-9d49-6e58befa9c3e-1611211130265507832a c074-4013-9d49-6e58befa9c3e-161121113026
5507832a c074-4013-9d49-6e58befa9c3e-161121113026
Krishna Kiran
 
HANA
HANAHANA
HANA
Ankit Saini
 
HANA Demystified by DataMagnum
HANA Demystified by DataMagnumHANA Demystified by DataMagnum
HANA Demystified by DataMagnum
Prasad Mavuduri
 
SAP HANA
SAP HANASAP HANA
SAP HANA
Saravanan Manoharan
 
SAP HANA presented by Maneat USA v01
SAP HANA presented by Maneat USA v01SAP HANA presented by Maneat USA v01
SAP HANA presented by Maneat USA v01
Dr. Pierpaolo Mangeruga
 
Sizing modern sap hana landscapes
Sizing modern sap hana landscapesSizing modern sap hana landscapes
Sizing modern sap hana landscapes
Jaleel Ahmed Gulammohiddin
 
Data provisioning in SAP HANA
Data provisioning in SAP HANAData provisioning in SAP HANA
Data provisioning in SAP HANA
kabilarasan R
 
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
GeneXus
 
関西DB勉強会 (SAP HANA, express edition)
関西DB勉強会 (SAP HANA, express edition)関西DB勉強会 (SAP HANA, express edition)
関西DB勉強会 (SAP HANA, express edition)
Koji Shinkubo
 
HANA SITSP 2011
HANA SITSP 2011HANA SITSP 2011
HANA SITSP 2011
Henrique Pinto
 
HANA SPS07 Architecture & Landscape
HANA SPS07 Architecture & LandscapeHANA SPS07 Architecture & Landscape
HANA SPS07 Architecture & Landscape
SAP Technology
 
Development to Deployment with SAP HANA
Development to Deployment with SAP HANADevelopment to Deployment with SAP HANA
Development to Deployment with SAP HANA
Craig Cmehil
 
Sap HANA Training doc
Sap HANA Training doc Sap HANA Training doc
Sap HANA Training doc
Mansur Shaik
 
SAP HANA for SAP Overview
SAP HANA for SAP OverviewSAP HANA for SAP Overview
SAP HANA for SAP Overview
Iliya Ruvinsky
 
2020.04.28-ASUG_Introduction-to-Extracting-data-from-S4HANA-with-ABAP-CDS-vie...
2020.04.28-ASUG_Introduction-to-Extracting-data-from-S4HANA-with-ABAP-CDS-vie...2020.04.28-ASUG_Introduction-to-Extracting-data-from-S4HANA-with-ABAP-CDS-vie...
2020.04.28-ASUG_Introduction-to-Extracting-data-from-S4HANA-with-ABAP-CDS-vie...
blaisecheuteu1
 
Overview and what is sap hana 1.0 online training
Overview and what is sap hana 1.0 online training Overview and what is sap hana 1.0 online training
Overview and what is sap hana 1.0 online training
NEWYORKSYS-IT SOLUTIONS
 
TZH300_EN_COL96
TZH300_EN_COL96TZH300_EN_COL96
TZH300_EN_COL96
Sharib Tasneem
 
What is Sap HANA Convista Consulting Asia.pdf
What is Sap HANA Convista Consulting Asia.pdfWhat is Sap HANA Convista Consulting Asia.pdf
What is Sap HANA Convista Consulting Asia.pdf
ankeetkumar4
 
Sap hana master_guide_en
Sap hana master_guide_enSap hana master_guide_en
Sap hana master_guide_en
Farrukh Yusupov
 
5507832a c074-4013-9d49-6e58befa9c3e-161121113026
5507832a c074-4013-9d49-6e58befa9c3e-1611211130265507832a c074-4013-9d49-6e58befa9c3e-161121113026
5507832a c074-4013-9d49-6e58befa9c3e-161121113026
Krishna Kiran
 
HANA Demystified by DataMagnum
HANA Demystified by DataMagnumHANA Demystified by DataMagnum
HANA Demystified by DataMagnum
Prasad Mavuduri
 
Data provisioning in SAP HANA
Data provisioning in SAP HANAData provisioning in SAP HANA
Data provisioning in SAP HANA
kabilarasan R
 
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
GeneXus
 
関西DB勉強会 (SAP HANA, express edition)
関西DB勉強会 (SAP HANA, express edition)関西DB勉強会 (SAP HANA, express edition)
関西DB勉強会 (SAP HANA, express edition)
Koji Shinkubo
 
HANA SPS07 Architecture & Landscape
HANA SPS07 Architecture & LandscapeHANA SPS07 Architecture & Landscape
HANA SPS07 Architecture & Landscape
SAP Technology
 
Development to Deployment with SAP HANA
Development to Deployment with SAP HANADevelopment to Deployment with SAP HANA
Development to Deployment with SAP HANA
Craig Cmehil
 
Sap HANA Training doc
Sap HANA Training doc Sap HANA Training doc
Sap HANA Training doc
Mansur Shaik
 
SAP HANA for SAP Overview
SAP HANA for SAP OverviewSAP HANA for SAP Overview
SAP HANA for SAP Overview
Iliya Ruvinsky
 
2020.04.28-ASUG_Introduction-to-Extracting-data-from-S4HANA-with-ABAP-CDS-vie...
2020.04.28-ASUG_Introduction-to-Extracting-data-from-S4HANA-with-ABAP-CDS-vie...2020.04.28-ASUG_Introduction-to-Extracting-data-from-S4HANA-with-ABAP-CDS-vie...
2020.04.28-ASUG_Introduction-to-Extracting-data-from-S4HANA-with-ABAP-CDS-vie...
blaisecheuteu1
 
Overview and what is sap hana 1.0 online training
Overview and what is sap hana 1.0 online training Overview and what is sap hana 1.0 online training
Overview and what is sap hana 1.0 online training
NEWYORKSYS-IT SOLUTIONS
 
Ad

Recently uploaded (20)

Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
DPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdfDPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdf
inmishra17121973
 
AllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptxAllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptx
bpkr84
 
Call illuminati Agent in uganda+256776963507/0741506136
Call illuminati Agent in uganda+256776963507/0741506136Call illuminati Agent in uganda+256776963507/0741506136
Call illuminati Agent in uganda+256776963507/0741506136
illuminati Agent uganda call+256776963507/0741506136
 
Chromatography_Detailed_Information.docx
Chromatography_Detailed_Information.docxChromatography_Detailed_Information.docx
Chromatography_Detailed_Information.docx
NohaSalah45
 
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjksPpt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
panchariyasahil
 
Developing Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response ApplicationsDeveloping Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response Applications
VICTOR MAESTRE RAMIREZ
 
MASAkkjjkttuyrdquesjhjhjfc44dddtions.docx
MASAkkjjkttuyrdquesjhjhjfc44dddtions.docxMASAkkjjkttuyrdquesjhjhjfc44dddtions.docx
MASAkkjjkttuyrdquesjhjhjfc44dddtions.docx
santosh162
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
Flip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptxFlip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptx
mubashirkhan45461
 
Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
ggg032019
 
Introcomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptxIntrocomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptx
abdulrehmanbscsf22
 
Andhra Pradesh Micro Irrigation Project”
Andhra Pradesh Micro Irrigation Project”Andhra Pradesh Micro Irrigation Project”
Andhra Pradesh Micro Irrigation Project”
vzmcareers
 
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
James Francis Paradigm Asset Management
 
PRE-NATAL GRnnnmnnnnmmOWTH seminar[1].pptx
PRE-NATAL GRnnnmnnnnmmOWTH seminar[1].pptxPRE-NATAL GRnnnmnnnnmmOWTH seminar[1].pptx
PRE-NATAL GRnnnmnnnnmmOWTH seminar[1].pptx
JayeshTaneja4
 
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptxPerencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
PareaRusan
 
shit yudh slideshare power likha point presen
shit yudh slideshare power likha point presenshit yudh slideshare power likha point presen
shit yudh slideshare power likha point presen
vishalgurjar11229
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptxmd-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
fatimalazaar2004
 
Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
DPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdfDPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdf
inmishra17121973
 
AllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptxAllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptx
bpkr84
 
Chromatography_Detailed_Information.docx
Chromatography_Detailed_Information.docxChromatography_Detailed_Information.docx
Chromatography_Detailed_Information.docx
NohaSalah45
 
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjksPpt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
panchariyasahil
 
Developing Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response ApplicationsDeveloping Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response Applications
VICTOR MAESTRE RAMIREZ
 
MASAkkjjkttuyrdquesjhjhjfc44dddtions.docx
MASAkkjjkttuyrdquesjhjhjfc44dddtions.docxMASAkkjjkttuyrdquesjhjhjfc44dddtions.docx
MASAkkjjkttuyrdquesjhjhjfc44dddtions.docx
santosh162
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
Flip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptxFlip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptx
mubashirkhan45461
 
Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
ggg032019
 
Introcomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptxIntrocomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptx
abdulrehmanbscsf22
 
Andhra Pradesh Micro Irrigation Project”
Andhra Pradesh Micro Irrigation Project”Andhra Pradesh Micro Irrigation Project”
Andhra Pradesh Micro Irrigation Project”
vzmcareers
 
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
James Francis Paradigm Asset Management
 
PRE-NATAL GRnnnmnnnnmmOWTH seminar[1].pptx
PRE-NATAL GRnnnmnnnnmmOWTH seminar[1].pptxPRE-NATAL GRnnnmnnnnmmOWTH seminar[1].pptx
PRE-NATAL GRnnnmnnnnmmOWTH seminar[1].pptx
JayeshTaneja4
 
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptxPerencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
PareaRusan
 
shit yudh slideshare power likha point presen
shit yudh slideshare power likha point presenshit yudh slideshare power likha point presen
shit yudh slideshare power likha point presen
vishalgurjar11229
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptxmd-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
fatimalazaar2004
 
Ad

HANA Modeling

  • 2. LOGO What is SAP HANA ?  SAP HANA is a modern, in-memory database and platform that is  deployable on premise or in the cloud.  The SAP HANA platform is a flexible data source agnostic in-memory data  platform that allows customers to analyze large volumes of data in real- time.   It is also a development platform, providing an infrastructure and tools for  building high-performance applications based on SAP HANA Extended  Application Services (SAP HANA XS).   It is the foundation of various SAP HANA editions, like the SAP HANA  Platform Edition, providing core database technology, and the SAP HANA  Enterprise Edition, bundling additional components for data provisioning.   The SAP HANA Platform Edition integrates a number of SAP components,  including the SAP HANA database, SAP HANA studio, and SAP HANA clients.
  • 5. LOGO HANA System Architecture Overview Server Components Service Name Description Name server nameserver The name server owns the information about the topology of the SAP HANA system.  In a distributed system with instances of the SAP HANA database on multiple hosts, the name  server knows where the components are running and which data is located on which server. Index Server Index server The index server contains the actual data stores and the engines for processing the data. XS advanced runtime • Xscontroller • Xsexeagent • hdixsuaaserv er As of SAP HANA 1.0 SPS 11, SAP HANA includes an additional run-time environment for  application development: SAP HANA extended application services (XS), advanced model. SAP HANA XS advanced model represents an evolution of the application server architecture  within SAP HANA by building upon the strengths (and expanding the scope) of SAP HANA  extended application services (XS), classic model. The SAP HANA XS advanced runtime consists of several processes for platform services and for  executing applications SAP HANA Deployment  Infrastructure (HDI)  server diserver HDI handles the deployment of design-time artifacts into SAP HANA. XS classic server xsengine SAP HANA Extended Application Services (SAP HANA XS) is the application server for native SAP  HANA-based web applications. It is installed with the SAP HANA system and allows developers to  write and run SAP HANA-based applications without the need to run an additional application  server. SAP HANA XS is also used to run web-based tools that come with SAP HANA, for instance  for administration, lifecycle management and development. SAP HANA XS classic is the original  implementation of SAP HANA XS. The XS classic server can run as a separate server process or embedded within the index server. Extended store server esserver The extended store server is part of the SAP HANA dynamic tiering option for SAP HANA. It  provides a high-performance disk-based column store for very big data up to the petabyte  range.  Data provisioning server dpserver The data provisioning server is part of the SAP HANA smart data integration option for SAP  HANA. It provides capabilities such as data provisioning in real time and batch mode, real-time  data transformations, data quality functions, adapters for various types of remote sources, and  an adapter SDK for developing additional adapters. Streaming cluster streamingserver The streaming cluster is part of the SAP HANA smart data streaming option for SAP HANA. Smart  data streaming extends SAP HANA with capabilities of SAP Event Stream Processor for  consuming data streams and complex event processing. 
  • 6. LOGO HANA System Architecture Overview Server Components Service Name Description Accelerator for SAP ASE etsserver The SAP ASE server is part of the SAP HANA Accelerator for SAP ASE option for SAP HANA. It provides SAP Adaptive Server Enterprise (ASE) users the ability to use SAP HANA on SAP ASE data, for real-time analytics SAP HANA remote data sync rdsyncserver The remote data sync server is part of the SAP HANA Real-Time Replication option for SAP HANA. SAP HANA remote data sync is a session-based synchronization technology designed to synchronize SAP SQL Anywhere remote databases with a consolidated database. Preprocessor server preprocessor The preprocessor server is used by the index server to analyze text data and extract the information on which the text search capabilities are based. Compile server compileserver The compile server performs the compilation of stored procedures and programs, for example, SQLScript procedures. It runs on every host and does not persist data. Script server scriptserver The script server is used to execute application function libraries written in C++. The script server is optional and must be started manually. For more information, see SAP Note 1650957. SAP Web Dispatcher webdispatcher The Web Dispatcher processes inbound HTTP and HTTPS connections to XS services. SAP start service sapstartsrv The SAP start service is responsible for starting and stopping the other services in the correct order. It also performs other functions, such as monitoring their runtime state.
  • 13. LOGO Calculation View’s  A calculation view allows users to define more advanced slices on  the data available in the SAP HANA database.  Calculation views are mainly used for analyzing operational data  marts or running multidimensional reports on revenue, profitability,  and so on.  Attributes:   Descriptive data - such as customer ID, city, and country.  Measures:   Quantifiable data - such as revenue, quantity sold and, counters.  Calculation view’s support the following  Support both OLAP and OLTP models i.e. SQL and MDX.  Support complex expressions (for example, IF, Case, Counter).  Support analytic privileges (for example, restricting a user for a certain cost center).  Support SAP ERP specific features (for example, client handling, language, currency  conversion).  Combine facts from multiple tables.  Support additional data processing operations, (for example, Union, explicit aggregation).  Leverage both Column and Row tables.
  • 15. LOGO Working With Attributes and Measures  Attributes: Attributes are the non-measurable analytical elements.  Measures: Measures are measurable analytical elements that are derived from calculation views. Attributes Description Example Simple  Attributes Individual non-measurable analytical elements  that are derived from the data sources. For example, PRODUCT_ID and PRODUCT_NAME are  attributes of product data source. Calculated  Attributes Derived from one or more existing attributes or  constants. For example, deriving the full name of a customer  (first name and last name), assigning a constant  value to an attribute that can be used for arithmetic  calculations. Measures Description Example Simple Measures A simple measure is a measurable  analytical element that is derived from the  data sources. For example, PROFIT. Calculated Measures Calculated measures are defined based on  a combination of data from other data  sources, arithmetic operators, constants,  and functions. For example, you can use calculated measures to  calculate the net profit from revenue and  operational cost.. Counters Counters add a new measure to the  calculation view definition to count the  distinct occurrences of an attribute. For example, to count how many times product  appears and use this value for reporting purposes.
  • 16. LOGO Generate Time Data  Generate time data into the standard time-related tables that are available  in the _SYS_BI schema.   After generating the time data, you can use the standard time-related  tables as data sources in the calculation view to add a time dimension to  the view.  Supported Calendar Types For Generating Time Data  Supported Time Range for Generating Time Data – for the Gregorian Calendar type
  • 17. LOGO Generate Time Data  Gregorian calendar type  M_TIME_DIMENSION_YEAR,   M_TIME_DIMENSION_MONTH,   M_TIME_DIMENSION_WEEK,  M_TIME_DIMENSION  Fiscal calendar type  In the Schema text field, enter the name of the variant schema that contains  tables having variant data.  The variant specifies the number of periods along with the start and end  dates.  M_FISCAL_CALENDAR  Create Time Dimension view and add view to the other Cal view’s
  • 18. LOGO Graphical Calculation Views  Create graphical calculation views using a graphical editor to depict a  complex business scenario. You can also create graphical calculation views  to include layers of calculation logic.  Working with View node  Working with Column and properties  Working the Calculation View Properties
  • 19. LOGO Working with View Nodes Node Description Example Projection Use Projection node to filter or obtain a subset of  required columns of a data source (tables, views,  table functions, and so on.) Projection nodes have one input. For selecting the employee name and employee  department from a table consisting of many other  columns. Aggregation Use Aggregation node to summarize data for a  group of row values, by calculating values in a  column. Aggregation nodes have one input. For retrieving total sales of a product in a month.  The supported aggregation types are SUM, MIN,  VAR, STDDEV, MAX, COUNT, AVG. Join Use Join node to query data from two data sources,  based on a specified condition.  Join nodes have two inputs. For retrieving customer details and location based  on the postal code columns in  the CUSTOMER and GEOGRAPHY tables. The  CUSTOMER table has columns Customer_ID,  Customer_Name and Postal_Code, and the  GEOGRAPHY table has columns  Customer_ID,Postal_Code, Region and Country. Union Use Union node to combine the result set of two or  more data sources.  Union nodes have two or more inputs. For retrieving the names of all employees of a  store, which has different branches, with each  branch maintaining its own employee records table. Rank Use Rank node to partition the data for a set of  partition columns, and to perform an order by  operation on the partitioned data. Retrieving the top five products, based on sales,  from a TRANSACTION table with  columns PRODUCT and SALES. Graph Use Graph node to execute any of the available  graph operations or actions on the graph  workspace. A graph node is always the leaf node only. Execute graph actions such as the shortest path or  the strongest connection between components in  the graph workspace. The graph workspace includes  the definition of the vertex table and edge table  that are required to execute the action.
  • 21. LOGO Projection/Aggregation Filter Output  Apply filters on columns of projection or aggregation view nodes to  filter their output.  You cannot apply filter on columns of the default projection or the  default aggregation nodes of calculation views.   Filter on columns are equivalent to “HAVING” CLAUSE of SQL.   We can use both Column or SQL Engine for filter expressions For example, (revenue >= 100 AND region = India) OR (revenue >=50 AND region  = Germany)
  • 23. LOGO Join Properties Join  Properties Description Join Type The value of this property specifies the join type used for creating a join. Cardinality The value of this property specifies the cardinality used for creating a join.  By default, the cardinality of the join is empty. If you are not sure about  the right cardinality for the join tables, it is recommended to not specify  any cardinality. The system determines the cardinality when executing the  join. Language  Column The value of this property specifies the language column that modeler  must use for executing text joins.  Dynamic Join The value of this property determines whether modeler must dynamically  define the columns of the join condition based on the client query.  Optimize Join  Columns The value of this property determines whether modeler must retrieve the  columns that are not specified in the query from the database. 
  • 24. LOGO Join types Join Type Description Inner This join type returns all rows when there is at least one match in both  the data sources. Left Outer This join type returns all rows from the left data source, and the matched  rows from the right data source. Right Outer This join type returns all rows from the right data source, and the  matched rows from the left data source. Text Join This join type is used to obtain language-specific data from the text tables  using a language column. Full Outer This join type displays results from both left and right outer joins and  returns all (matched or unmatched) rows from the tables on both sides of  the join clause. Referential This join type is similar to inner join type, but assumes referential  integrity is maintained for the join tables.
  • 25. LOGO Dynamic Join  After creating a join between two data sources, you can define the  join property as dynamic.   Dynamic joins improves the join execution process and help reduce  the number of records that join node process at run time.   You can set the Dynamic Join property only if the two data sources  are joined on multiple columns. Static Join Dynamic Join In static joins, the join condition isn't  changed, irrespective of the client query. In Dynamic joins, the join condition  changed, based on the client query No Run time error even if query does not  request the join column In a dynamic join, if the client query to  the join doesn't request a join column,  a query run time error occurs Aggregation happens after the join  condition Aggregation happens before the join  condition
  • 26. LOGO Dynamic vs Static Joins Example
  • 27. LOGO Optimize Join Execution  While executing the join, by default, the query retrieves join  columns from the database even if you don't specify it in the  query.   The query automatically includes the join columns into the SQL  GROUP BY clause without you selecting them in the query.  Optimizing join columns is supported only for left outer joins, or  text joins (with cardinality 1:1 or N:1), and right outer joins (with  cardinality 1:1 or 1:N).  The join optimizer cannot remove attributes of static filters if the  filters are defined on join columns for which you have  enabled Optimize Join Columns. In this case, you can optimize the  join column by introducing a dummy projection node between the  join and the input node with static filters.
  • 28. LOGO Special Joins Special  Join Description Example Star Join Star joins connect a central data  entity to multiple entities that are  logically related. You can create a  graphical calculation view with  star joins that join multiple  dimensions to a single fact table.   Temporal  Joins Temporal joins let you join the  transaction data (fact table) with  the master data, based on  temporal column values from the  transaction data and the time  validity from the master data. Consider a dimension calculation view named PRODUCT (master  data) with attributes PRODUCT_ID, VALID_FROM_DATE, and  VALID_TO_DATE and a calculation view of type  cube, SALES (transactional data) with  attributes PRODUCT_ID, DATE, and REVENUE. Conditions:  Include/Exclude both, Include To Exclude from and Exclude To  Include from Text Joins A text join helps obtain language- specific data. It retrieves columns  from a text table based on the  user’s session language. The text tables contain description for a column value in different  languages. For example, consider a PRODUCT table that  contains PRODCUT_ID and a text table PRODUCT_TEXT that  contains the columns PRODUCT_ID, DESCRIPTION,  and LANGUAGE. Spatial Joins Create spatial joins to query data  from data sources that have  spatial data.  
  • 31. LOGO Empty Union Behavior  The Empty Union Behavior property determines whether queries on union nodes, ones with  constant output columns, will return values when no other column from the data source is  queried.  This property is useful, for example, for value help queries in applications.  No Row  Row with Constant If the Empty Union Behavior property is set  to No Row, no data from Projection _2 appears  in the output data.  Only data from Projection_1 appears in the  output data. If the Empty Union Behavior property is set  to Row with Constant, the output data  includes one record from Projection _2.  In this one record, the constant value A appears  for the CONSTANT column and values for all  other columns appears as null.
  • 32. LOGO Prune Data in Union Nodes  Pruning data in union nodes help optimize the query execution.   You create a pruning configuration table, which specifies the filter conditions to limit the  result set, and prune data using this table.
  • 33. LOGO Rank  Use rank nodes in calculation views to partition the data for a set of partition columns, and perform an ORDER BY SQL operation on the partitioned data.
  • 34. LOGO Rank  Define Sort Direction  Define threshold value  Use a Fixed value or an Input Parameter as the threshold value  Order by  select a column that modeler must use to perform the order by operation.  Partition Data  Partition by Column more than one column  Dynamic Partition - based query request  select the Dynamic Partition Elements checkbox.  Generate the Rank Column  If you want generate an additional output column for the rank node to store the rank values, select the Generate Rank Column checkbox.
  • 35. LOGO Graph Nodes  SAP HANA Graph lets you create graph nodes in calculation views for various calculation scenarios.  A graph node helps execute one of the available actions on a graph workspace and provides the output as a table.
  • 36. LOGO Working with Columns Task to perform Requirement Create Counters Count the number of distinct values for a set of attribute columns. Create Calculated Columns Create new output columns and calculate their values at run time using an expression. Create Restricted Columns Create restricted columns as an additional measure based on attribute restrictions REVENUE column only for REGION = APJ, and YEAR = 2012. > Measure and Attribute Column > Expressions Assign Semantics Assign semantic types to provide more meaning to attributes and measures in calculation views. Create Input Parameters Parameterize calculation views and execute them based on the values users provide at query run time. Assign Variables Filter the results based on the values that users provide to attributes at run time. Create Level Hierarchies Create level hierarchies to organize data in reporting tools. Create Parent-Child Hierarchies Create parent-child hierarchies to organize data in reporting tools. Associate Measures with Currency Associate measures with currency codes and perform currency conversions. Associate Measures with Unit of Measure Associate measures with unit of measures and perform unit conversions. Group Related Measures Group related measures together in a folder. Enable or Disable Attributes for Drilldown in Reporting Tools By default, the tool lets you drilldown the attributes or calculated attributes in the reporting tools. You can disable this behavior for selected attributes. Assign Value Help for Attributes If you are using attribute data to provide values to variables and input parameters at runtime, you can assign a value help to that attribute in order to use values from other attributes, which are available within the same calculation view or in other tables or other calculation views. Handle Null Values in Columns Define default values for columns (both attributes and measures) in the event that no value is provided during an INSERT operation. The system uses these default values in the reporting tools to replace any null values in columns. Add Descriptions to Attributes In an information view, you can associate an attribute or a column having texts, as a label column to another attribute or column.
  • 38. LOGO Assign Semantics  Assigning semantics to measures or attributes in calculation views helps define output structure of views.  Extract and Copy Semantics From Underlying Data Sources  Propagate Columns to Semantics  Supported Semantic Types for Measures  Supported Semantic Types for Attributes Extract and Copy Semantics From Underlying Data Sources While defining the semantics for a calculation view, you can extract and copy the semantic definitions of columns from their underlying data sources. Propagate Columns to Semantics Propagate columns from underlying view nodes to the semantics node and to other view nodes that are in the joined path Supported Semantic Types for Measures Amount with Currency Code Quantity with Unit of Measures Supported Semantic Types for Attributes Amount with Currency Code Quantity with Unit of Measures Currency Code Unit of Measure Date Date – Business Date From Date – Business Date To Geo Location - Longitude Geo Location - Latitude Geo Location - Carto ID Geo Location – Normalized Name
  • 39. LOGO Convert Attribute Values to Required Formats  Assign conversion functions to attribute columns. These functions help maintain conversion from any internal to external format and from any external to internal format. Stored Data Type Format Stored Value Formatted Value Preservi ng Order ABAP Date 20160503 05.03.2016 No ABAP Date 20160503 2016.05.03 Yes
  • 40. LOGO Convert Attribute Values to Required Formats
  • 41. LOGO Creating Input Parameters  Input parameters helps you parameterize calculation views and execute them based on the values you provide to the input parameters at query runtime. The engine considers input parameters as the PLACEHOLDER clause of the SQL statement. Properties Description Default Value The value of this property specifies the default value that modeler uses if you do not provide any values to the input parameter at runtime. Parameter Type The value of this property specifies the input parameter type.. Multiple Entries The value of this property specifies whether the input parameter is configured to support multiple values at runtime. Is Mandatory The value of this property specifies whether the input parameter is configured to mandatorily accept a value at runtime.
  • 42. LOGO Default Values Default Value Meaning Constant i.If you want to use a constant value as the default input parameter value,In the Default Value section, choose the add icon. ii.In Type dropdown list section, select Constant. iii.In Value field, provide a constant value. Expression If you want to use the result of an expression as the default input parameter value: i.In the Default Value section, choose the add icon. ii.In Type dropdown list section, select Expression. iii.In the Value field, choose the value help to open the expression editor. iv.In the Expression Editor, enter a valid expression. v.Choose Validate Syntax. vi.Choose Back.. For example, you can evaluate the expression date(Now()), and use the result as the default input parameter value at runtime.
  • 43. LOGO Parameter Type Input Parameter Type Description Next Steps Column At runtime, modeler provides a value help with attribute data. You can choose a value from the attribute data as an input parameter value. You can also choose a hierarchy from the calculation view to organize the data in reporting tools. But, only if the hierarchy contains the variable’s reference column at the leaf level (in level hierarchies) or as a parent attribute (in parent-child hierarchies). a. In the Reference Column dropdown list, select an attribute.b. If you want to use attribute data from another calculation view as the reference column, in theView/Table for value help dropdown list, select the information view that contains the required attribute. c. If you want use a hierarchy to organize the data in reporting tools, in Hierarchy dropdown list, select a hierarchy. Derived from table At runtime, modeler uses the value from the table’s return column as the input parameter value. This means that, you need not provide any values to the inputparameter at runtime. Input parameters of this type are typically used to evaluate a formula. For example, you calculate a discount for specific clients by creating an input parameter, which is derived from the SALES table and return column REVENUE with a filter set on the CLIENT_ID. a. In the Table Name dropdown list, select a table. b. For the table you select, in the Return Columndropdown list, select a column value. c. In the Filters section, define filter conditions to filter the values of return column. Direct Specify the data type and length and scale of the input parameter value that you want to use at runtime. You can also define an input parameter with semantic type as Currency or Unit of Measure or Date. For example, in currency conversions, you can specify the target currency value at run time by creating an input parameter of type Direct with semantic type as Currency. b. In the Data Type dropdown list, select the data type. c. Provide the Length and Scale for the data type you choose. a. Optionally, In the Semantic Type dropdown list, specify the semantic type for you input parameter. Static List At runtime, modeler provides a value help with the static list. You can choose a value from this list as an input parameter value. a. In the Data Type dropdown list, select the data type for the list values. b. Provide the Length and Scale for the data type you choose. c. In the List of Values section, choose the add icon to provide the list values. Derived from Procedure/Scalar functions At runtime, modeler uses the value returned from the procedure or scalar function as the input parameter value. a..In Procedure/ Scalar Function textbox, provide the name of procedure or scalar function.
  • 44. LOGO Map Input Parameters or Variables  If you are creating a calculation view by using other calculation views, attribute views or analytic views, which have input parameters or variables defined on it, then you can map the input parameters or variables of the underlying data sources with the input parameters or variables of the calculation view that you are creating Value Description Data Sources If you are using other data sources in your calculation view and if you want map input parameters of these data sources with the input parameters of the calculation view. Views for value help for variables/input parameters If you are using input parameters or variables, which refer to external views for value help references and if you want to map input parameters or variables of external views with the input parameters or variables of the calculation view. Views for value help for attributes If you are creating a calculation view, and for the attributes in the underlying data sources of this calculation view, if you have defined a value help view or a table that provides values to filter the attribute at runtime.
  • 45. LOGO Assign Variable  Calculation views contain variables that are bound to specific attributes within the calculation view.  Variables are runtime filters that help to filter attributes, based on values that users provide.  Is Mandatory  Multiple Values  Reference Column (View/Table Value Help)  Constant or Expression  Supported Variable types  Single Value  Interval From/To  Range Equal/Less than
  • 46. LOGO Using Currency and Unit of Measure Conversions  If measures in your calculation views or analytic views represent currency or unit values, associate them with currency codes or unit of measures. This helps you display the measure values along with currency codes or unit of measures at data preview or in reporting tools.  Associate Measures with Currency  Associate Measures with Unit of Measure
  • 47. LOGO Hierarchy  SAP HANA modeler helps create hierarchies to organize data in a tree structure for multidimensional reporting. Each hierarchy comprises of a set of levels having many-to-one relationships between each other and collectively these levels make up the hierarchical structure.  Level Hierarchy Example Year, Qtr, Month, Week and Day  Parent/Child Hierarchy Example Profit Center and Cost Center
  • 48. LOGO Others Attribute and Measure Operations Description Properties Create Counters Counters are columns that display the distinct count of attribute columns. You can create counters for attribute columns in the default aggregation view node only. Set Transparent Filter Flag = TRUE Attribute property to get the correct count Create Calculated ColumnsCreate new output columns and calculate their values at run time, based on the result of an expression. Calculation can be build based on Other columns, functions, input parameters and constants Semantics: Column type Dimension/Measure Enable client side aggregation checkbox Aggregation Type dropdown list Drilldown Provide an expression : SQL/Calculation Engine if("PRODUCT" = 'NOTEBOOK', "DISCOUNT" * 0.10, "DISCOUNT") Create Restricted Columns Create restricted columns as an additional measure based on attribute restrictions REVENUE column only for REGION = APJ, and YEAR = 2012. > Measure and Attribute Column > Expressions You can define multiple conditions using the same attribute columns or different attribute columns. For example, the expression, ("CUSTOMER_ID" = '10' OR "CUSTOMER_ID" = '2010') AND ("CUSTOMER_NAME" = '' ") has three conditions. Enable or Disable Attributes for Drilldown in Reporting ToolsBy default, the tool lets you drilldown the attributes or calculated attributes in the reporting tools. You can disable this behavior for selected attributes. Assign Value Help for Attributes If you are using attribute data to provide values to variables and input parameters at runtime, you can assign a value help to that attribute in order to use values from other attributes, which are available within the same calculation view or in other tables or other calculation views. Handle Null Values in Columns Define default values for columns (both attributes and measures) in the event that no value is provided during an INSERT operation. The system uses these default values in the reporting tools to replace any null values in columns. Group Related Measures Create folders in calculation views to logically group related measures in a calculation view. For example, you can group planned measures and related measures in separate folders. Add Descriptions to Attributes In an information view, you can associate an attribute or a column having texts, as a label column to another attribute or column. Keep Flag Using keep flag property. The Keep Flag property helps retrieve columns from the view node to the result set even when you don't, request it in your query. In other words, if you want to include those columns into the SQL GROUP BY clause, even when you don't select them in the query,
  • 49. LOGO Working With Calculation View Properties Task to perform Requirement Filter Data for Specific Clients Filter the view data either using a fixed client value or using a session client set for the user. Invalidate Cached Content Invalidate or remove data from the cache after specific time intervals. Deprecate Calculation Views Prevent use of a calculation view. Enable Calculation Views for Time Travel Queries Execute time travel queries on calculation views
  • 50. LOGO Working With Calculation View Properties
  • 51. LOGO Calculation View properties Properties Description Data Category The value of this property determines whether your calculation view supports analysis with multidimensional reporting. For more information see, Supported Data Categories for Information Views. Default Schema The value of this property helps modeler identify the default schema, which contains the tables necessary for currency or unit conversions. For more information, see Using Currency and Unit of Measure Conversions. Default Member This value of this property helps modeler identify the default member for all hierarchies in the information views. Enable History The value of this property determines whether your calculation view supports time travel queries. For more information see, Enable Information Views for Time Travel Queries. History Input Parameter Input parameter used to specify the timestamp in time travel queries. Deprecate The value of this property determines whether a user does not recommend using an information view in other modeler objects. If the value is set to True, it indicates that although an information view is supported in SAP HANA modeler for modeling activities, it is not recommended for use. For more information, Deprecate Information Views. Translate The value of this property determines whether SAP HANA modeler must support maintaining object label texts in the information view in multiple languages. For more information, see Maintain Modeler Object Labels in Multiple Languages. Execute In The value of this property impacts the output data. It determines whether modeler must execute the calculation view in SQL engine or column engine. For more information, see SAP Note 1857202 Cache The value of this property determines whether you have enabled support for cache invalidation. For more information see, Enable Support for Cache Invalidation Cache Invalidation Period The value of this property impacts the output data. It determines whether modeler must invalidate or remove the cached content based on a time interval or when any of the underlying data is changed. For more information, see Invalidate Cached Content. Pruning Configuration Table The value of this property determines the pruning configuration table that modeler must use to prune data in union nodes. For more information, see Prune Data in Union Nodes. Propagate Instantiation to SQL The value of this property helps modeler identify whether it has to propagate the instantiation handled by the calculation engine to the CDS or SQL views built on top of this calculation view. If the value is set to True, modeler propagates the instantiation to the CDS or SQL views. This means that, attributes that a query (on a SQL view built on top of this view) does not request are pruned and not considered at runtime. For information on calculation engine instantiation process, see SAP Note 1764658 Analyticview Compatibility Mode The value of this property helps the join engine identify whether it has to ignore joins with N:M cardinality, when executing the join. If the value of this property is set to True, the join engine prunes N:M cardinality joins if the left table or the right table in the star join node does not request for any field, and if no filters are defined on the join. Count Star Column The value of this property is set to row.count in calculation views, which were created by migrating analytic views having the row.count column. The row.count column was used internally to store the result of SELECT COUNT(*) queries. You can also select a column from the calculation view as Count Star Column. In this case, the column you select is used to store the result of SELECT COUNT(<column_name>).
  • 52. LOGO Additional Functionality for Calculation Views  After modeling calculation views or during design time itself you can perform certain additional functions to understand the performance of the view at runtime and to efficiently model calculation views.
  • 53. LOGO Additional Functionality for Calculation Views Additional functions Description Example Trace View Objects with Data Lineage With data lineage, you can essentially identify from where the calculation view gets its data from. 1) Object from its source and up to the semantics node within the calculation view 2) Source of all data sources (tables and views) used for modeling a calculation view. Trace Dependent Objects to Analyze Impacts Modifying a calculation view can impact other calculation views that are modeled on top of the view. It is necessary to identify all such dependent objects before making any changes to the view, which otherwise may lead to run time errors. The tools helps to identify all dependent objects of a target calculation view, one level at a time. This means that, for each of the dependent object, you can further drilldown and identify the next level of dependent objects and until the leaf object. Open Calculation Views in Performance Analysis Mode When you open a calculation view in performance analysis mode, you obtain information on joins, join tables, table partitions, table types and other such information that to better understand the performance of calculation views when it is executed. The number of rows in a data source and table partitions impact the performance of your queries. The performance analysis mode provides information on such details at design time. Based on this information you can model more efficient calculation views and improve its performance when it is executed. Debug Calculation Views Open the calculation view in the debugger editor (in debug mode) by executing a debug query that the tool proposes or by executing your own debug query. The debugging operation helps analyze the run time behavior of a calculation view. Based on the analysis, you can make necessary changes to the view at design time and improve its performance when it is executed. The tool supports several debugging operations within the debugger editor. For example, write a SQL query for debugging a calculation view and identify those attributes or data sources in the calculation view that the engine consumes for executing the query, and also those objects that the engine does not consume.
  • 54. LOGO Additional Functionality for Calculation Views Additional functions Description Example Maintain Comments for Calculation View Objects When you are modeling a calculation view, you can also maintain comments for the view or for its objects such as parameters, calculated columns, view nodes and so on Columns in the semantics node View nodes Input parameters and variables Hierarchies Calculated columns and restricted columns in underlying view nodes Replacing Nodes and Data Sources Replace a view node with any of the other underlying view nodes or replace a data source in view node with other available data sources in the catalog object. If you manually delete a node in column view (without using the replace view node feature) and add new node, you lose the semantic information of the deleted node Using Functions in Expressions This section describes the functions, which you can use while creating expressions for calculated attributes and calculated measures Manage Calculation Views with Missing Objects If objects within a calculation view are missing, for example, if the objects or its references are deleted, then such calculation views are referred to as broken models. Adjusting mappings of inconsistent objects. Deleting inconsistent objects. Generate Properties File for Calculation Views For a calculation view, you can generate a properties file that contains the key-value pairs, such as, name and description values of calculation views objects. You can also tranlate the name and description values to multiple langagues and update the BIMC _DESRIPTION table Generate Calculation View Documentation Generate a single document that captures all details for a selected calculation view.
  • 55. LOGO Trace View Objects with Data Lineage  With data lineage, you can essentially identify from where the calculation view gets its data from.
  • 56. LOGO Trace Dependent Objects to Analyze Impacts  With Modifying a calculation view can impact other calculation views that are modeled on top of the view.  It is necessary to identify all such dependent objects before making any changes to the view, which otherwise may lead to run time errors.  The tools helps to identify all dependent objects of a target calculation view, one level at a time.  This means that, for each of the dependent object, you can further drilldown and identify the next level of dependent objects and until the leaf object.
  • 57. LOGO Performance Analysis  The objective of the performance analysis mode is to provide such information to users that helps them understand the performance of the calculation view when it is executed.  When you open a calculation view in performance analysis mode, you obtain information on the catalog tables modeled in the view. For example, information on table partitions, number of rows in the tables, and so on.  The information that the tool displays in performance analysis mode depends on the view node that you select and the data sources within this view node
  • 58. LOGO Open Views in Analysis Mode  When you open a calculation view in performance analysis mode, you obtain information on joins, join tables, table partitions, table types and other such information that to better understand the performance of calculation views when it is executed..
  • 59. LOGO Open Views in Debug Mode  Open the calculation view in the debugger editor (in debug mode) by executing a debug query that the tool proposes or by executing your own debug query.  The debugging operation helps analyze the run time behavior of a calculation view. Based on the analysis, you can make necessary changes to the view at design time and improve its performance when it is executed.
  • 60. LOGO Using the Debugger Editor  The debugger editor opens the calculation view in debug mode and helps in analyzing the runtime performance of calculation views.  The data in the debugger editor largely depends on the query you execute to debug the calculation view.  Helps identify pruned and unpruned data sources in calculation views.  Allows drilldown on underlying data sources for detailed analysis  Provides simple intermediate data preview  Displays results of executing the performance validation rules on the calculation view.
  • 61. LOGO Predefined Validation Rules  Executing the predefined validation rules helps identify specific design time factors that impact the performance of calculation views.  The tool automatically executes the predefined validation rules when you execute the debug query Predefined Validation Rule Objective Calculation in filter expression rule Helps identify whether you have modeled the calculation view with calculated columns or aggregated columns in filter expressions. Calculation in joins rule Helps identify whether you have modeled the calculation view with calculated columns or aggregated columns in join conditions. Partition types in join rule Helps identify whether the tables participating the join are partition tables and if the 1st level partition type of these two tables are different.