0% found this document useful (0 votes)
45 views405 pages

Ha300 en Col16 Ilt FV Show

Uploaded by

Zack Zauri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views405 pages

Ha300 en Col16 Ilt FV Show

Uploaded by

Zack Zauri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 405

Fo

rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
SAP HANA 2.0 SPS04 - Modeling
HA300
SAP Copyrights, Trademarks and Disclaimers

© 2019 SAP SE or an SAP affiliate company. All rights reserved.

y
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company.

nl
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other

eo
countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors.

os
National product specifications may vary.

rp
This course may have been machine translated and may contain grammatical errors or inaccuracies.

is ach Pu

d
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its affiliated companies shall not be

ite
liable for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate company products and services are those that are set forth in the express warranty statements
accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

io Co n

ib
at - i tio
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality

oh
mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platform directions and

lic TH ara
functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise,
or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from

pr
expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing

p
decisions.

re

n
eP
rs
ou

p
rc

Du
Fo
Course Overview

y
nl
Unit 1: Calculation Views

eo
os
Unit 2: Using Nodes in Calculation Views

rp
is ach Pu
Unit 3: Modeling Functions

d
ite
io Co n

ib
at - i tio
Unit 4: Using SQL in Models

oh
lic TH ara

pr
Unit 5: Modeling the Persistence Layer

p
re

n
Unit 6: Optimization of Models eP
rs

Unit 7: Management and Administration of Models


ou

p
rc

Du

Unit 8: Security in SAP HANA Modeling


Fo

Unit 9: Introduction to Advanced Modeling


Unit 1: Calculation Views

y
nl
Lesson 1: Introducing Calculation Views

eo
os
Lesson 2: Understanding the Different Types of Views

rp
is ach Pu

d
Lesson 3: Working with Common View Design Features

ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 1 Lesson 1

Lesson 1: Introducing Calculation Views

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Explain modeling objects

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 1 Lesson 1

Lesson Agenda

y
nl
eo
Learn About:

os
● Key Vocabulary of Modeling

rp
is ch u

d
n oa P

ite
● Calculation Views in SAP HANA

tio iC tion

ib
oh
● Calculation Views and the SAP HANA Engines

ra

pr
pl TH pa
● Querying Calculation Views Data

re
-
eP
Do:
rs

ica
ou

● Prepare Your SAP HANA System


rc

Du
Fo
HA300 Table 1: Measure Versus Attribute Unit 1 Lesson 1

y
Measure Attribute

nl
eo
Definition A numeric value, such as a price, An element that is used to describe

os
quantity, or volume, on which you a measure.

rp
can process arithmetic or statis-

is ach Pu

d
tics operations, such as sum, aver-

ite
io Co n

ib
age, top N values, and calculations.

at - i tio

oh
lic TH ara
Examples

pr
● Number of products sold ● Product ID

p
re

n
● Unit Price eP ● Product Name
rs

● Total Price ● Customer ID


ou

p
rc

Du

● Customer Name
Fo

● Sales Organization
● Sales Org. Country
HA300

Measure

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Attribute

● Currency
● Sales Org. Region
Unit 1 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
Figure 1: Dimensions

ib eo
ite nl
d y
Unit 1 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
Figure 2: Star Schema

ite nl
d y
Unit 1 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 3: The Hierarchy Concept
Unit 1 Lesson 1
HA300 Unit 1 Lesson 1

Semantics

y
nl
● A monetary value

eo
For example, the total amount of sales orders.

os
rp
In this case, you might need a dimension to specific the currency (for example

is ach Pu

d
USD, EUR, or GBP,), if it is not implicit.

ite
io Co n

ib
at - i tio
● A number of items

oh
lic TH ara

pr
For example, a number of sales orders, or a number of calls to support services.

p
re
● A weight, volume, distance, or a compound of these measures

n
eP
For example, the payload-distance in freight transportation.
rs
ou

You often need to specify the unit in which the data is expressed.
p
rc

Du
Fo

● A percentage
For example, a discount rate, or a tax rate.
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
Figure 4: Calculation Views

d y
Unit 1 Lesson 1
HA300 Unit 1 Lesson 1

Benefits of Calculation Views

y
nl
● All calculations are performed on the fly within the database engines

eo
No aggregates need to be pre-calculated, and the front-end reporting tools

os
delegate most of the data processing workload (filtering, aggregation, calculations)

rp
is ach Pu
to the SAP HANA in-memory engines in order to achieve very high performance.

d
ite
io Co n

ib
● Reusability

at - i tio

oh
lic TH ara
Each calculation view can be used (referenced) by other calculation views.

pr
p
re
● Flexibility

n
eP
Calculation views provide a number of features that make them very flexible. For
rs

example, defining hierarchies, filtering data, generating prompts for variables and
ou

p
rc

input parameters, and performing currency conversion.


Du
Fo

● Adaptability
An SAP HANA calculation view can adapt its behavior to the list of columns that are
selected or projected on top of it. For example, the granularity of a Rank node can
HA300 Unit 1 Lesson 1

Benefits of Calculation Views

y
nl
be determined dynamically depending on whether you query results by country or

eo
by country and customer.

os
rp
● Easy to transport

is ach Pu

d
ite
SAP HANA provides powerful tools to transport calculation views between different

io Co n

ib
at - i tio
SAP HANA databases; for instance, to install SAP-delivered calculation views, or

oh
lic TH ara
transport your own calculation views between your development, quality

pr
assurance, and production landscapes.

p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Figure 5: Design Time Versus Runtime Unit 1 Lesson 1
Calculation View

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 6: Analytical Versus Transactional Unit 1 Lesson 1
Requirements

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 1 Lesson 1

Main SAP HANA Engines for Executing Calculation Views

y
nl
● Join Engine

eo
os
● OLAP Engine

rp
is ach Pu
● Calculation Engine

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 7: Calculation View Optimization
Unit 1 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 8: Standard Preview or Custom Query
Unit 1 Lesson 1
HA300

Summary
You should now be able to:

Fo
● Explain modeling objects

rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 1 Lesson 2

Lesson 2: Understanding the Different Types of Views

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Explain the types of views used in graphical modeling

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 1 Lesson 2

Lesson Agenda

y
nl
eo
Learn About:

os
● Calculation Views

rp
is ch u

d
n oa P

ite
● Supported Data Source Types in Graphical Calculation Views

tio iC tion

ib
oh
● Table Functions

ra

pr
pl TH pa
● DIMENSION Calculation Views

re
-
eP
● Calculated Attributes
rs

ica
ou

● Time-Based Dimension Calculation Views


rc

Du
Fo

● Measures in Calculation Views

Learn:
● To Create a Time Dimension Calculation View
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 12: Dimension Calculation Views
Unit 1 Lesson 2
HA300 Figure 13: Virtual Data Models for Unit 1 Lesson 2
Multidimensional Scenarios

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Table 6: Supported Data Source Types in SAP Unit 1 Lesson 2
HANA Calculation Views

y
Data Source Type Located in the Same Database Located in Another Database in

nl
eo
the Same Multi-Tenant System

os
Row Table Yes Yes

rp
Column Table Yes Yes

is ach Pu

d
ite
io Co n
SQL Views Yes Yes

ib
at - i tio

oh
Graphical Calcula- Yes Yes

lic TH ara

pr
tion Views *

p
re
CDS Views without Yes Yes

n
eP
parameters
rs
ou

CDS Views with pa- Yes No


p
rc

Du

rameters
Fo

Table Functions Yes No


Virtual Tables Yes Yes
Graph Workspace Yes (in the same development No
container)
HA300 Unit 1 Lesson 2

Row or Column Table

y
nl
● From the Database Explorer, connected to an HDI Container or the Catalog view of

eo
a classical schema:

os
rp
- For a table: check the table icon, or open its definition (right-click the table

is ach Pu

d
and choose Open) and check the TYPE field.

ite
io Co n

ib
at - i tio
- For a synonym: open its definition (right-click the synonym and choose

oh
lic TH ara
Open). The definition mentions For Table (Column Store) <target table

pr
p
name> or For Table (Row Store) <target table name>
re

n
eP
● From the SQL Console:
rs
ou

- Query the system table M_TABLES.


p
rc

Du

Example:
Fo

SELECT "SCHEMA_NAME", "TABLE_NAME", "TABLE_TYPE" FROM "M_TABLES"


WHERE "SCHEMA_NAME" = 'TRAINING'
AND "TABLE_NAME" = 'SALES_DATA'
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 14: Shared DIMENSION Calculation Views
Unit 1 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 15: Calculated Columns
Unit 1 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
Views

n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 16: Time-Based DIMENSION Calculation
Unit 1 Lesson 2
HA300 Unit 1 Lesson 2

Different Calendar Types in Time Calculation View

y
nl
● Gregorian

eo
The Gregorian calendar is made up of years, months, and days. You can adjust the

os
level of granularity, down to hours, minutes, or seconds.

rp
is ach Pu

d
ite
● Fiscal

io Co n

ib
at - i tio
The fiscal calendar is organized into fiscal years and fiscal periods. Several fiscal

oh
lic TH ara
year variants can be defined depending on your reporting needs.

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 17: Defining Local Time Tables
Unit 1 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 18: Standard Preview or Custom Query
Unit 1 Lesson 2
HA300

Summary

y
nl
You should now be able to:

eo
● Explain the types of views used in graphical modeling

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 1 Lesson 3

Lesson 3: Working with Common View Design Features

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use common features to design calculation views

oh
ra

pr

pl TH pa
Get an overview of the different types of nodes

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 1 Lesson 3

Lesson Agenda

y
nl
eo
Learn About:

os
● Semantics Node

rp
is ch u

d
n oa P

ite
● Base Table Alias

tio iC tion

ib
oh
● Hidden Columns

ra

pr
pl TH pa
● Sorting the Data Set

re
-
eP
● General Properties of Views
rs

ica
ou

● Specific Features to Enhance Flexibility of Calculation View Design


rc

Du
Fo

● Analyzing a Column Lineage

● Overview of the Possible Node Types


Do:

HA300

Lesson Agenda

Fo
rc
ou
rs
eP
SAPCreate a Cube Calculation View

Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Unit 1 Lesson 3
HA300 Figure 19: Adding Multiple Base Tables Using Unit 1 Lesson 3
Aliases

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
Figure 20: Hidden Columns

d y
Unit 1 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 21: Label Columns and Hidden Attributes
Unit 1 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 22: Sorting the Result Set
Unit 1 Lesson 3
HA300 Table 8: Properties of Views — General Unit 1 Lesson 3

y
Property Description

nl
eo
Data Category For calculation views, this determines whether the view supports

os
multidimensional reporting.

rp
Type Standard or Time

is ch u

d
n oa P

ite
tio iC tion
Run With Defines how to apply security when executing a script-based calcu-

ib
oh
lation view.

ra

pr
pl TH pa
Default Client Defines how to filter data by SAP CLIENT (aka MANDT).

re
-
Apply Privileges Specifies whether analytic privileges must apply when executing a
eP
view (SAP Web IDE for SAP HANA modeling supports SQL analytic
rs

privileges only).
ica
ou
rc

Du

Default Member Defines the default member to be used for all the hierarchies of this
Fo

calculation view.
Deprecate Identifies views that are not recommended for reuse, though still
supported in SAP HANA Modeler.
Enable History The value of this property determines whether your calculation
view supports time travel queries.
HA300 Unit 1 Lesson 3

Property Description

y
nl
History Input Param- Specifies which input parameter must be used to specify the time-

eo
eter stamp in time travel queries.

os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Table 9: Properties of Views — Advanced Unit 1 Lesson 3

y
Property Description

nl
eo
Propagate instantia- If the calculation view is referenced by a SQL view or a Core Data

os
tion to SQL Views Services (CDS) view, determines whether the calculation view

rp
must be instantiated (for example, by pruning columns that are not

is ach Pu

d
selected by the above queries) or executed exactly as it is defined.

ite
io Co n

ib
at - i tio
Cache Defines whether the data retrieved by the view should be cached.

oh
lic TH ara

pr
Analytic View Com- If this setting is activated, the join engine ignores joins with cardin-

p
patibility Mode ality n..m defined in the star join node when no column at all is
re

n
eP
queried from one of the two joined tables.
rs

Ignore Multiple Out- Optimization setting to push down filters even if a node is used in
ou

puts For Filter more than one other node.


p
rc

Du

Pruning Configura- Identifies which table contains the settings to prune Union nodes.
Fo

tion Table
Execute in Determines whether the model must be executed by the SQL en-
gine or column engine.
HA300 Unit 1 Lesson 3

Property Description

y
nl
Cache Invalidation If the view data are cached, this determines whether the cache

eo
Period must be deleted on a daily or hourly basis, or after each transaction

os
that modifies any of the underlying tables.

rp
Execution Hints This property is used to specify how the SAP HANA engines must

is ch u

d
n oa P

ite
handle the calculation view at runtime.

tio iC tion

ib
oh
Enable Hierarchies In a calculation view of type CUBE with star join, determines wheth-

ra

pr
for SQL access er the hierarchies defined in shared dimension views can be quer-

pl TH pa
ied via SQL.
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 23: Analyzing a Column Lineage from the Unit 1 Lesson 3
Calculation View Editor

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 24: Types of Nodes in Graphical Unit 1 Lesson 3
Calculation Views (1/2)

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 25: Types of Nodes in Graphical Unit 1 Lesson 3
Calculation Views (2/2)

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Summary

y
nl
You should now be able to:

eo
● Use common features to design calculation views

os
rp
● Get an overview of the different types of nodes

is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
Unit 2: Using Nodes in Calculation Views

y
nl
Lesson 1: Using Projection Nodes

eo
os
Lesson 2: Using Joins Nodes

rp
is ach Pu

d
Lesson 3: Working with Data Sets

ite
io Co n

ib
at - i tio
Lesson 4: Aggregating Data

oh
lic TH ara

pr
Lesson 5: Creating CUBE with Star Join Calculation Views

p
re

n
eP
Lesson 6: Extracting Top Values with Rank Nodes
rs
ou

p
rc

Du
Fo
HA300 Unit 2 Lesson 1

Lesson 1: Using Projection Nodes

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use a projection node

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo

HA300

Learn About:
Lesson Agenda

Projection Node

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Unit 2 Lesson 1
HA300 Unit 2 Lesson 1

Projection Node

y
nl
● To filter measures based on attributes values.

eo
os
● To extract only some columns from a data source.

rp
is ach Pu
● To define calculated columns, in particular when the calculation must occur

d
ite
BEFORE an aggregation.

io Co n

ib
at - i tio

oh
Indeed, calculated columns in the Aggregation nodes of calculation views are

lic TH ara

pr
always executed AFTER the aggregation.

p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300

Summary
You should now be able to:

● Use a projection node

Fo
rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 2 Lesson 2

Lesson 2: Using Joins Nodes

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use joins to combine data sources

oh
ra

pr

pl TH pa
Join more than two tables in a single join node

re
-
● Work with non-equi joins eP
rs

● ica
Use a Dynamic Join
ou
rc

Du

● Define Join Columns Optimization


Fo
HA300 Unit 2 Lesson 2

Lesson Agenda

y
nl
eo
Learn About:

os
● Connecting Tables with Join Nodes

rp
is ch u

d
n oa P

ite
● Inner Join

tio iC tion

ib
oh
● Left Outer Join

ra

pr
pl TH pa
● Right Outer Join

re
-
eP
● Full Outer Join
rs

ica
ou

● Referential Join
rc

Du
Fo

● Text Join

● Temporal Join

● Star Join
HA300 Unit 2 Lesson 2

Lesson Agenda

y
nl
● Join Cardinality

eo
os
● Multi-Join

rp
is ch u

d
● Non-Equi Join

n oa P

ite
tio iC tion

ib
● Dynamic Join

oh
ra

pr
pl TH pa
● Join Columns Optimization

re
-
Do:
eP
rs

● Create a DIMENSION Calculation View


ica
ou
rc

Du

● Join Three Tables in a Single Join Node


Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 26: Sample Data for Business Example
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 27: Join Type Summary
Unit 2 Lesson 2
HA300 Figure 28: Inner Join in a DIMENSION Calculation Unit 2 Lesson 2
View

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 29: Inner Join in a CUBE Calculation View
Unit 2 Lesson 2
HA300 Figure 30: Left Outer Join in a DIMENSION Unit 2 Lesson 2
Calculation View

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
Filters

n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 31: Left Outer Joins and Design Time
Unit 2 Lesson 2
HA300 Figure 32: Left Outer Joins in a CUBE Calculation Unit 2 Lesson 2
View

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 33: Right Outer Join in a DIMENSION Unit 2 Lesson 2
Calculation View

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 34: Right Outer Join in a CUBE Calculation Unit 2 Lesson 2
View

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite
Figure 35: Full Outer Join

nl
d y
Unit 2 Lesson 2
HA300 Table 11: Referential Join Unit 2 Lesson 2

y
Relies on Referential In- Referential integrity is the fact that matches exist between the

nl
eo
tegrity joined tables (in one direction, for example left to right, or right
to left, or both)

os
rp
Optimized for perform- Referential Join is not executed in circumstances where the re-

is ach Pu

d
ance sult (without the join) will be the same as if the join was execut-

ite
io Co n

ib
ed.

at - i tio

oh
lic TH ara
Like an Inner Join when When a Referential Join is not pruned, it is executed as an Inner

pr
p
join is executed Join.

re

n
eP
rs
ou

p
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
Figure 36: Referential Join

d y
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
Figure 41: Text Joins

ib eo
ite nl
d y
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 42: Text Join Example
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 43: Temporal Join Example
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
Figure 44: Star Join

ib eo
ite nl
d y
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 45: Validating a Join
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib
Figure 46: Multi-Join

eo
ite nl
d y
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 47: Multi-Join Scenarios
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 48: Non-Equi Join — Example 1
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 49: Non-Equi Join — Example 2
Unit 2 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
Figure 50: Dynamic Join

ite nl
d y
Unit 2 Lesson 2
HA300

Summary

y
nl
You should now be able to:

eo
● Use joins to combine data sources

os
rp
● Join more than two tables in a single join node

is ach Pu

d
ite
io Co n

ib
● Work with non-equi joins

at - i tio

oh
lic TH ara

pr
● Use a Dynamic Join

p
re

n
● Define Join Columns Optimization eP
rs
ou

p
rc

Du
Fo
HA300 Unit 2 Lesson 3

Lesson 3: Working with Data Sets

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use Union Nodes to combine data sets

oh
ra

pr

pl TH pa
Use Set Operations: Minus and Intersect

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 2 Lesson 3

Lesson Agenda

y
nl
eo
Learn About:

os
● Union Node

rp
is ch u

d
n oa P

ite
● Combining Several Data Sets: Union Versus Join

tio iC tion

ib
oh
● Union All or Union Distinct

ra

pr
pl TH pa
● Set Operations Nodes – Intersect and Minus

re
-
eP
Do:
rs

ica
ou

● Combine Two Data Sources with a Union Node


rc

Du
Fo

● Use a Minus Node in a Calculation View


HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib
Figure 51: Union Node

eo
ite nl
d y
Unit 2 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite
Figure 52: Standard Union

nl
d y
Unit 2 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 53: Union with Constant Values
Unit 2 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 54: Unmapped Columns in a Union Node
Unit 2 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 55: Empty Union Behavior
Unit 2 Lesson 3
HA300 Figure 56: Do NOT Combine Data Sets with Joins Unit 2 Lesson 3
in Calculation Views

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 57: Modeling a Union Distinct or Union All
Unit 2 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 62: Set Operations - Intersect and Minus
Unit 2 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
behavior

is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 63: Minus and Intersect - Detailed
Unit 2 Lesson 3
HA300

Summary

y
nl
You should now be able to:

eo
● Use Union Nodes to combine data sets

os
rp
● Use Set Operations: Minus and Intersect

is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 2 Lesson 4

Lesson 4: Aggregating Data

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use Aggregation Nodes

oh
ra

pr

pl TH pa
Control the behavior of the Aggregation Node

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 2 Lesson 4

Lesson Agenda

y
nl
eo
Learn About:

os
● Aggregation Node

rp
is ch u

d
n oa P

ite
● Controlling the Behavior of the Aggregation Node

tio iC tion

ib
oh
Do:

ra

pr
pl TH pa
● Control the Behavior of the Aggregation Node

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
Figure 64: Keep Flag

ib eo
ite nl
d y
Unit 2 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 65: Transparent Filter
Unit 2 Lesson 4
HA300

Summary

y
nl
You should now be able to:

eo
● Use Aggregation Nodes

os
rp
● Control the behavior of the Aggregation Node

is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 2 Lesson 5

Lesson 5: Creating CUBE with Star Join Calculation Views

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use a Star Join in a CUBE calculation view

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 2 Lesson 5

Lesson Agenda

y
nl
eo
Learn About:

os
● Star Join Node

rp
is ch u

d
n oa P

ite
Do:

tio iC tion

ib
oh
● Create a CUBE with Star Join Calculation View

ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
Figure 66: Star join

ib eo
ite nl
d y
Unit 2 Lesson 5
HA300

Summary

y
nl
You should now be able to:

eo
● Use a Star Join in a CUBE calculation view

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 2 Lesson 6

Lesson 6: Extracting Top Values with Rank Nodes

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use a rank node to extract the top values of a data set

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 2 Lesson 6

Lesson Agenda

y
nl
eo
Learn About:

os
● Rank Node

rp
is ch u

d
n oa P

ite
Do:

tio iC tion

ib
oh
● Use Rank Nodes to Partition, Order, and Extract Values from a Data Set

ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib
Figure 67: Rank Node

eo
ite nl
d y
Unit 2 Lesson 6
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 68: Aggregation Function
Unit 2 Lesson 6
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 69: Defining the Result Set
Unit 2 Lesson 6
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 70: Percentage Result Set Type
Unit 2 Lesson 6
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 71: Defining an Offset
Unit 2 Lesson 6
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 72: Rank Node and Aggregation
Unit 2 Lesson 6
HA300 Unit 2 Lesson 6

Rank Column: Measure or Attribute?

y
nl
● Attribute

eo
Assigning the type Attribute is a simple approach.

os
rp
It is probably a bit less error-prone, because you are not tempted to perform an

is ach Pu

d
irrelevant aggregation of ranking positions.

ite
io Co n

ib
at - i tio
● Measure

oh
lic TH ara

pr
With the type Measure, the rank column can provide some flexibility.

p
re
For example, if you set the default aggregate function to MAX, you can retrieve

n
eP
summarized data, such as the total sales generated by the five biggest orders in
rs

each country, while keeping the information about how many orders are actually
ou

totaled in each country. Indeed, there might be countries that have received less
p
rc

Du

than five orders over the considered period, and this information could be of
Fo

interest when analyzing the data.


HA300

Summary

y
nl
You should now be able to:

eo
● Use a rank node to extract the top values of a data set

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
Unit 3: Modeling Functions

y
nl
Lesson 1: Creating Restricted and Calculated Columns

eo
os
Lesson 2: Filtering Data

rp
is ach Pu

d
Lesson 3: Using Variables and Input Parameters

ite
io Co n

ib
at - i tio
Lesson 4: Using Hierarchies

oh
lic TH ara

pr
Lesson 5: Implementing Currency Conversion

p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 3 Lesson 1

Lesson 1: Creating Restricted and Calculated Columns

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Create restricted and calculated columns

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 3 Lesson 1

Lesson Agenda

y
nl
eo
Learn About:

os
● Restricted Columns

rp
is ch u

d
n oa P

ite
● Calculated Columns

tio iC tion

ib
oh
Do:

ra

pr
pl TH pa
● Create Restricted and Calculated Measures

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 73: The Benefits of Restricted Columns
Unit 3 Lesson 1
HA300 Figure 74: Example Without Using a Restricted Unit 3 Lesson 1
Column

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 75: Creating Restricted Columns
Unit 3 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 76: Setting the Restriction
Unit 3 Lesson 1
HA300 Figure 77: Displaying and Editing Restriction Unit 3 Lesson 1
Expressions

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 78: When to Use Calculated Columns
Unit 3 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 79: When to Use Calculated Columns
Unit 3 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 80: Calculated Columns Wizard
Unit 3 Lesson 1
HA300 Figure 81: Consider Granularity When Creating Unit 3 Lesson 1
Calculated Columns

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 82: Triggering Calculations at the Right Unit 3 Lesson 1
Level

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 83: Calculation Before Aggregation
Unit 3 Lesson 1
HA300 Unit 3 Lesson 1

Expression Language and Validation

y
nl
● SQL

eo
The expression only uses plain SQL.

os
rp
● Column Engine

is ach Pu

d
ite
The expression uses any valid SQLScript expression.

io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 3 Lesson 1

Validating an Expression Against a Specific Language: Key

y
Benefits

nl
eo
● It helps to validate the syntax of calculated columns according to the specified

os
language.

rp
is ach Pu

d
For example, an expression with an IF condition (supported only with SQLScript)

ite
will not validate if it is defined as SQL.

io Co n

ib
at - i tio

oh
lic TH ara
● In turn, it helps the modeler to optimize the calculation execution.

pr
p
Indeed, plain SQL expressions enable a better optimization process, compared to

re

n
eP
SQLScript. So, by validating the expression against SQL, you can make sure that it
is fully optimized.
rs
ou

p
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 84: Client Side Aggregation
Unit 3 Lesson 1
HA300

Summary

y
nl
You should now be able to:

eo
● Create restricted and calculated columns

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 3 Lesson 2

Lesson 2: Filtering Data

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Filter data

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 3 Lesson 2

Lesson Agenda

y
nl
eo
Learn About:

os
● Using Filter Operations

rp
is ch u

d
n oa P

ite
● Comparing Filters and WHERE Clauses

tio iC tion

ib
oh
● Filters in Calculation View Nodes

ra

pr
pl TH pa
● Client-Dependent Views

re
-
eP
● Filtering Using Domain Fixed Values
rs

ica
ou

Do:
rc

Du
Fo

● Define and Use Filters


HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 86: Filter Operations
Unit 3 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 87: Comparing Filters and WHERE Clauses
Unit 3 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 88: Creating a Client-Dependent View
Unit 3 Lesson 2
HA300 Unit 3 Lesson 2

Session-Dependent Functions

y
nl
● SESSION_CONTEXT('CLIENT')

eo
Returns the client's value based on the current user profile.

os
rp
● SESSION_CONTEXT('LOCALE')

is ach Pu

d
ite
Returns the session's language in POSIX format (set by 'locale' parameter of

io Co n

ib
at - i tio
JDBC/ODBC/ODBO connection, for example, en_en, de_de, de_at).

oh
lic TH ara

pr
● SESSION_CONTEXT('LOCALE_SAP')

p
re

n
Returns the session's language following the SAP internal format (like the SPRAS
eP
column in the text tables of Master Data).
rs
ou

p
rc

Du
Fo
HA300 Figure 89: Restricting Domain Fix Values Using Unit 3 Lesson 2
Text Join

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Summary

● Filter data
You should now be able to:

Fo
rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 3 Lesson 3

Lesson 3: Using Variables and Input Parameters

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use variables and input parameters

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 3 Lesson 3

Lesson Agenda

y
nl
eo
Learn About:

os
● Variables and Input Parameters

rp
is ch u

d
n oa P

ite
● Difference Between Variables and Input Parameters

tio iC tion

ib
oh
● Variables

ra

pr
pl TH pa
● Input Parameters

re
-
eP
● Mapping of Variables and Input Parameters
rs

ica
ou

Do:
rc

Du
Fo

● Use Variables and Input Parameters

● Implement External View for Value Help

● Cascade User Prompts


HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
Parameters

pr rp
oh os
ib eo
ite nl
d y
Figure 91: Variables Compared to Input
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
Parameters

pr rp
oh os
ib eo
ite nl
d y
Figure 92: Impact of Variables and Input
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
Figure 93: Variables Types

d y
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 94: Creating Variables (I)
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 95: Creating Variables (II)
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 96: Creating Variables (III)
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 97: Input Parameter Use Cases
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 98: Input Parameter Types
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 99: Creating Input Parameters
Unit 3 Lesson 3
HA300 Figure 100: Calling an Input Parameter in a Unit 3 Lesson 3
Calculation

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 101: Input Parameter Using Dates
Unit 3 Lesson 3
HA300 Figure 102: Using a Calendar Dialog for Date Unit 3 Lesson 3
Input Parameters

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
Views

n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 103: Mapping Parameters in Calculation
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 104: Parameter Mapping Types
Unit 3 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 105: Cascading Prompts Architecture
Unit 3 Lesson 3
HA300

Summary

y
nl
You should now be able to:

eo
● Use variables and input parameters

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 3 Lesson 4

Lesson 4: Using Hierarchies

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use hierarchies

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 3 Lesson 4

Lesson Agenda

y
nl
eo
Learn About:

os
● Hierarchy

rp
is ch u

d
n oa P

ite
● Level Hierarchies

tio iC tion

ib
oh
● Parent-Child Hierarchies

ra

pr
pl TH pa
● Drill Down Enablement

re
-
eP
● Enabling Hierarchies for SQL Access
rs

ica
ou

Do:
rc

Du
Fo

● Create a Level Hierarchy

● Create a Parent-Child Hierarchy

● Implement a Hierarchical Value Help


HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 106: Choosing Hierarchy Type
Unit 3 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 107: Hierarchy Comparison
Unit 3 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 108: Implement Level Hierarchies (I)
Unit 3 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 109: Implement Level Hierarchies (II)
Unit 3 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 110: Implement Level Hierarchies (III)
Unit 3 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 111: Implement Level Hierarchies (IV)
Unit 3 Lesson 4
HA300 Table 16: Node Styles Unit 3 Lesson 4

y
Level Style Output Example

nl
eo
Level Name Level and node name MONTH.JAN

os
Name Only Node name only JAN

rp
is ach Pu

d
Name Path Node name and its ancestors FISCAL_2015.QUAR-

ite
io Co n
TER_1.JAN

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Figure 112: Defining the Nodes of a Parent-Child Unit 3 Lesson 4
Hierarchy

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 113: Advanced Properties of a Parent-Child Unit 3 Lesson 4
Hierarchy

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 114: Defining Time Dependent Hierarchies
Unit 3 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 115: Drill Down Enablement in MDX
Unit 3 Lesson 4
HA300 Unit 3 Lesson 4

Enabling Hierarchies for SQL Access

y
nl
● Option 1: Enable all shared hierarchies at once.

eo
You can enable SQL access to all of the shared hierarchies defined in the various

os
dimension calculation views.

rp
is ach Pu

d
In the View Properties tab of the Semantics node, select the Enable Hierarchies for

ite
io Co n
SQL access checkbox.

ib
at - i tio

oh
lic TH ara
● Option 2: Select which shared hierarchies you want to enable.

pr
p
You can specify which of the shared hierarchies you want to enable for SQL access.
re

n
eP
In the Hierarchies tab, select a shared hierarchy and in the SQL Access area, select
rs

the Enable SQL access checkbox.


ou

p
rc

Du
Fo
HA300

Summary

● Use hierarchies
You should now be able to:

Fo
rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 3 Lesson 5

Lesson 5: Implementing Currency Conversion

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Explain the general principles of currency conversion

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 3 Lesson 5

Lesson Agenda

y
nl
eo
Learn About:

os
● Currency Conversion in Data Reporting Rationale

rp
is ch u

d
n oa P

ite
● Native Currency Conversion in SAP HANA Information Models

tio iC tion

ib
oh
● TCUR Schema

ra

pr
pl TH pa
● Implementing Conversion in Calculation Views

re
-
eP
Do:
rs

ica
ou

● Implement Currency Conversion in a Calculation View


rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 116: Currency Conversion
Unit 3 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 117: Currency Conversion
Unit 3 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 118: Currency Conversion Process Flow
Unit 3 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 119: Setting the Semantic Type
Unit 3 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 120: Currency Conversion Settings
Unit 3 Lesson 5
HA300 Unit 3 Lesson 5

Reusing Currency Conversion Settings between Columns

y
nl
● Reference

eo
The settings defined in a measure are applied as is in the other measures that you

os
select, and cannot be modified in the other measures.

rp
is ach Pu

d
In other words, the settings will always remain consistent and only the source

ite
io Co n
measure for currency conversion setting can be changed, thus impacting the ones

ib
at - i tio

oh
that reference it.

lic TH ara

pr
p
● Copy
re

n
eP
The setting defined in a measure is just copied to the other measures, but they are
rs
not bound to each other. The currency conversion settings of the other measures
ou

can be freely modified.


p
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 121: Creating an Input Parameter
Unit 3 Lesson 5
HA300

Summary

y
nl
You should now be able to:

eo
● Explain the general principles of currency conversion

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
Unit 4: Using SQL in Models

y
nl
Lesson 1: Introducing SAP HANA SQL

eo
os
Lesson 2: Query a Modeled Hierarchy Using SQL

rp
is ach Pu

d
Lesson 3: Working with SQLScript

ite
io Co n

ib
at - i tio
Lesson 4: Creating and Using Functions

oh
lic TH ara

pr
Lesson 5: Creating and Using Procedures

p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 4 Lesson 1

Lesson 1: Introducing SAP HANA SQL

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Describe SAP HANA SQL

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 4 Lesson 1

Lesson Agenda

y
nl
eo
Learn About:

os
● SQL - Definition and Terminology

rp
is ch u

d
n oa P

ite
● Identifiers

tio iC tion

ib
oh
● Data Types

ra

pr
pl TH pa
● Predicates

re
-
eP
● Operators
rs

ica
ou

● SQL Functions
rc

Du
Fo

● Expressions

● Creation of Tables
Do:

HA300

Lesson Agenda

Fo
Work with SQL Statements

rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 122: Where SQL is used in HANA modeling
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 123: SQL Console in Web IDE
Unit 4 Lesson 1
HA300 Figure 124: SQL for HDI and Catalog Type Unit 4 Lesson 1
Connections

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 125: SQL Code Completion in SAP Web IDE
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 126: Example of an SQL Statement
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 127: Comment and Code Page
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib
Figure 128: Identifiers

eo
ite nl
d y
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 134: SQL Statement: Create Table
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 135: Create Table – Table Types
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 136: Use a History Column Table
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 137: Create Table – Syntax Elements
Unit 4 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 138: SQL Statement: Insert
Unit 4 Lesson 1
HA300 Figure 139: Use of SQL in Calculation View Unit 4 Lesson 1
Expressions

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Summary
You should now be able to:

Fo
● Describe SAP HANA SQL

rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 4 Lesson 2

Lesson 2: Query a Modeled Hierarchy Using SQL

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Query a modeled hierarchy using SQL

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 4 Lesson 2

Lesson Agenda

y
nl
eo
Learn About:

os
● Query Hierarchies using SQL

rp
is ch u

d
n oa P

ite
Do:

tio iC tion

ib
oh
● Read a Hierarchy Structure with SQL

ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
Hierarchies

pr rp
oh os
ib eo
ite nl
d y
Figure 140: Enable SQL Access to Shared
Unit 4 Lesson 2
HA300 Figure 141: Define Column Names for Hierarchy Unit 4 Lesson 2
Parameters

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 142: Aggregating Values in a Hierarchy via Unit 4 Lesson 2
SQL

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Summary

y
nl
You should now be able to:

eo
● Query a modeled hierarchy using SQL

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 4 Lesson 3

Lesson 3: Working with SQLScript

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Work with SQLScript

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 4 Lesson 3

Lesson Agenda

y
nl
eo
Learn About:

os
● Why Do We Need SQLScript?

rp
is ch u

d
n oa P

ite
● Imperative Logic

tio iC tion

ib
oh
● Control Statements and Dynamic SQL

ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 144: SQLScript: Concept
Unit 4 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 145: ANSI-92 and SQLScript Data Types
Unit 4 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 146: SQLScript: Data Type Extensions
Unit 4 Lesson 3
HA300 Unit 4 Lesson 3

Using Variables in SQLScript

y
nl
● Declare a variable

eo
DECLARE <variable_name> <type> [NOT NULL] [= <value>]

os
rp
Example 1: DECLARE a int;

is ach Pu

d
ite
Example 2: DECLARE b int = 0; (the value is assigned when creating the

io Co n

ib
at - i tio
variable)

oh
lic TH ara

pr
● Assign a variable (define the value of a variable)

p
re
<variable_name> = <value> or <expression>

n
eP
Example 1: a = 3;
rs
ou

Example 2: b = select count(*) from baseTable;


p
rc

Du
Fo

● Use a variable in an expression


:<variable_name> (with a colon) returns the current value of the variable
Example: b = :a + 5; (assigns the value of a + 5 to b)
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 147: The IF Statement
Unit 4 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 148: WHILE and FOR Loops
Unit 4 Lesson 3
HA300

Summary
You should now be able to:

● Work with SQLScript

Fo
rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 4 Lesson 4

Lesson 4: Creating and Using Functions

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Work with functions

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 4 Lesson 4

Lesson Agenda

y
nl
eo
Learn About:

os
● Introducing Functions

rp
is ch u

d
n oa P

ite
Do:

tio iC tion

ib
oh
● Define a Data Source using a Table Function

ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 149: Scalar Function Example
Unit 4 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 150: Scalar Function Code Example
Unit 4 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 151: Table Function Example
Unit 4 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 152: Table Function Code Example
Unit 4 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 153: Table Function Node
Unit 4 Lesson 4
HA300

Summary
You should now be able to:

● Work with functions

Fo
rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 4 Lesson 5

Lesson 5: Creating and Using Procedures

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Create and use procedures

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 4 Lesson 5

Lesson Agenda

y
nl
eo
Learn About:

os
● Introduction to Procedures

rp
is ch u

d
n oa P

ite
Do:

tio iC tion

ib
oh
● Create a Procedure that is Consumed by an Input Parameter

ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 154: Procedures – Key Features
Unit 4 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 155: Procedures used in Input Parameters
Unit 4 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 156: Analytic Privileges using Procedures
Unit 4 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 157: Example of a Procedure
Unit 4 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 158: Calling a Procedure
Unit 4 Lesson 5
HA300

Summary
You should now be able to:

Fo
rc
● Create and use procedures

ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
Unit 5: Modeling the Persistence Layer

y
nl
Lesson 1: Defining the Persistence Layer Using CDS

eo
os
Lesson 2: Creating Views with CDS

rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 5 Lesson 1

Lesson 1: Defining the Persistence Layer Using CDS

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Define tables using source fles

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 5 Lesson 1

Lesson Agenda

y
nl
eo
Learn About:

os
● What is the Persistence Layer?

rp
is ch u

d
n oa P

ite
● Building the Persistence Layer using Design Time Objects

tio iC tion

ib
oh
Do:

ra

pr
pl TH pa
● Define a Persistence Layer

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 159: Modeling Layers
Unit 5 Lesson 1
HA300 Figure 160: Hdbtable and Hdbcds Position in the Unit 5 Lesson 1
Modeling Stack

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Summary
You should now be able to:

Fo
rc
ou
● Define tables using source fles

rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 5 Lesson 2

Lesson 2: Creating Views with CDS

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Understand CDS Views

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo

HA300

Learn About:
CDS Views
Lesson Agenda

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Unit 5 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 161: CDS View Editors
Unit 5 Lesson 2
HA300 Unit 5 Lesson 2

How Do CDS Views Compare to Graphical Calculation Views?

y
nl
● Benefit from usage of the Calculation Engine

eo
os
● Include a large variety of native modeling features (for example, native currency

rp
conversion capabilities)

is ach Pu

d
ite
● Provide frequently used OLAP functions

io Co n

ib
at - i tio

oh
lic TH ara
● Offer various ways to influence optimization

pr
p
re
● Are used as external views by SAP BW

n
eP
● Have a large customer base
rs
ou

p
● Are a well established technology, known by various front-end tools. BI Metadata is
rc

Du

automatically generated as part of the build/activation of views.


Fo
HA300

Summary
You should now be able to:

● Understand CDS Views

Fo
rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
Unit 6: Optimization of Models

y
nl
Lesson 1: Implementing Good Modeling Practices

eo
os
Lesson 2: Using Tools to Check Model Performance

rp
is ach Pu

d
Lesson 3: Developing a Data Management Architecture

ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 6 Lesson 1

Lesson 1: Implementing Good Modeling Practices

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Implementing good modeling practices

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 6 Lesson 1

Lesson Agenda

y
nl
eo
Learn About:

os
● Best Practices for Modeling

rp
is ch u

d
n oa P

ite
● Caching View Results

tio iC tion

ib
oh
● Controlling Parallelization in a Data Flow

ra

pr
pl TH pa
● Best Practices when Writing SQL

re
-
eP
● Union Pruning
rs

ica
ou

Do:
rc

Du
Fo

● Control Parallelization in a Data Flow

● Implement Union Pruning in a Calculation View


HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 162: Design in Small Chunks
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 163: Don’t Mix Artifacts
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 164: Performance Recommendations 3
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 165: Set Join Cardinalities
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 166: Pre-requisites for join pruning
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 167: Example of join pruning
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 168: Referential Join Type
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 169: Unblock Filter Push-down
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 170: General Join Recommendations
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 171: Use SQL for Expressions
Unit 6 Lesson 1
HA300 Figure 172: Using Dedicated Value Help Views or Unit 6 Lesson 1
Tables

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 173: Column Pruning
Unit 6 Lesson 1
HA300 Figure 174: Filtering and Defining Calculated Unit 6 Lesson 1
Columns

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
Figure 175: Aggregations

ite nl
d y
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 177: Controlling Parallelization
Unit 6 Lesson 1
HA300 Figure 178: Controlling Parallelization Unit 6 Lesson 1
Restrictions 1/2

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 179: Controlling Parallelization Unit 6 Lesson 1
Restrictions 2/2

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 180: SQL Best Practices – Table Variables
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 181: SQL Best Practices — Dependencies
Unit 6 Lesson 1
HA300 Figure 182: SQL Best Practices — Keep code side- Unit 6 Lesson 1
effect free

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 183: SQL Best Practices — Avoid cursors
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
functions

is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 184: SQL Best Practices — Avoid CE
Unit 6 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite
Figure 185: Union Pruning

nl
d y
Unit 6 Lesson 1
HA300

Summary

y
nl
You should now be able to:

eo
● Implementing good modeling practices

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 6 Lesson 2

Lesson 2: Using Tools to Check Model Performance

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use tools to check model performance

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 6 Lesson 2

Lesson Agenda

y
nl
eo
Learn About:

os
● Introducing the Performance Analysis mode

rp
is ch u

d
n oa P

ite
● Introducing the Debug Query Mode

tio iC tion

ib
oh
● Introducing the SQL Analyzer

ra

pr
pl TH pa
Watch:
re
-
eP
● Demo the SQL Analyzer
rs

ica
ou

Do:
rc

Du
Fo

● Access a Calculation View in Performance Analysis Mode

● Use Debug Query Mode


HA300 Figure 186: Performance Analysis – Detailed Unit 6 Lesson 2
Information

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 187: Performance Analysis Validation Unit 6 Lesson 2
Warnings

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 188: Setting Number of Rows Threshold
Unit 6 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
Figure 195: SQL Analyzer

ite nl
d y
Unit 6 Lesson 2
HA300

Summary

y
nl
You should now be able to:

eo
● Use tools to check model performance

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 6 Lesson 3

Lesson 3: Developing a Data Management Architecture

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Implement Good Data Management Architecture

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 6 Lesson 3

Lesson Agenda

y
nl
eo
Learn About:

os
● Partitioning Tables

rp
is ch u

d
n oa P

ite
● Data Tiering

tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 196: Partition Tables for Better Load Unit 6 Lesson 3
Balancing and Performance

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 197: Specifying table partitions with SQL
Unit 6 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 198: Specifying Table Partitions with CDS
Unit 6 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 199: Data Tiering Layers
Unit 6 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 200: Data Tiering Technologies
Unit 6 Lesson 3
HA300

Summary

y
nl
You should now be able to:

eo
● Implement Good Data Management Architecture

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
Unit 7: Management and Administration of Models

y
nl
Lesson 1: Working with Modeling Content in a Project

eo
os
Lesson 2: Creating and Managing Projects

rp
is ach Pu

d
Lesson 3: Enabling Access to External Data

ite
io Co n

ib
at - i tio
Lesson 4: Working with GIT Within the SAP Web IDE

oh
lic TH ara

pr
Lesson 5: Migrating Modeling Content

p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 7 Lesson 1

Lesson 1: Working with Modeling Content in a Project

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Analyze and document information models

oh
ra

pr

pl TH pa
Explain the structure of a project

re
-
● Build modeling content eP
rs

● ica
Modify and move modeling content
ou
rc

Du
Fo
HA300 Unit 7 Lesson 1

Lesson Agenda

y
nl
eo
Learn About:

os
● Auditing Dependencies Between Information Models

rp
is ch u

d
n oa P

ite
● Tracing the Origin of a Column in a Calculation View Scenario

tio iC tion

ib
oh
● Workspace, Projects, and Modules

ra

pr
pl TH pa
● HDB Modules

re
-
eP
● Objects Identifier and Namespace
rs

ica
ou

● The SAP HANA Deployment Infrastructure


rc

Du
Fo

● Building Modeling Content

● Import and Export of Modeling Content

● Copy, Rename, Move, and Delete Modeling Content


HA300 Unit 7 Lesson 1

Lesson Agenda

y
nl
Do:

eo
os
● Audit Information Models and their Dependencies

rp
is ch u

d
● Import, Rename and Copy Models

n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
Figure 201: Data Lineage

ite nl
d y
Unit 7 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 202: Impact Analysis
Unit 7 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite
Figure 203: Show Lineage

nl
d y
Unit 7 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 204: Workspace, Projects, and Modules
Unit 7 Lesson 1
HA300 Unit 7 Lesson 1

Main Database Artefacts Defined in a HDB Module

y
nl
● Tables

eo
os
● Table data

rp
is ach Pu
● Calculation views

d
ite
io Co n

ib
at - i tio
● CDS views

oh
lic TH ara

pr
● Table functions

p
re

n
● Procedures eP
rs

● Analytic privileges
ou

p
rc

Du

● Synonyms
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 205: Internal or External Persistence Layer
Unit 7 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 206: Runtime Objects Identifiers
Unit 7 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 207: The .hdinamespace File
Unit 7 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
View

n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 208: Object Name Example: Calculation
Unit 7 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 209: Object Name Example: Synonyms
Unit 7 Lesson 1
HA300 Unit 7 Lesson 1

Key Properties of HDI Containers

y
nl
● A container is equal to a database schema.

eo
os
● Database objects are deployed into the schema.

rp
is ach Pu
● Definitions must be written in a schema-free way.

d
ite
io Co n
The name of the container schema is determined only when deploying the

ib
at - i tio

oh
container.

lic TH ara

pr
p
● Direct references to external schema objects are not allowed.
re

n
eP
These objects must be referenced using database synonyms created within the
rs
container.
ou

p
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 210: HDI Container Configuration File
Unit 7 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 211: Building Modeling Content
Unit 7 Lesson 1
HA300 Unit 7 Lesson 1

Most Common Errors during Build Operations

y
nl
● The project has just been imported but is not yet assigned to a space.

eo
Indeed, a build always triggers the deployment to a container. A condition is that

os
the space in which to deploy the container service must be specified. Your SAP

rp
is ach Pu
Web IDE user must have the Developer role in the space.

d
ite
io Co n

ib
● The definition of an object on which another object depends is not provided, or it is

at - i tio

oh
lic TH ara
provided but this object has not been built yet.

pr
p
re
● The definition of a runtime object is provided by several design-time files.

n
eP
● There is a namespace inconsistency between the content of a design-time file and
rs
ou

the namespace property of the folder in which it is located.


p
rc

Du

● The service to access external schemas is not defined and running in the target
Fo

space.

● The synonyms for external schema access are not built yet.
● There is an object-specific design error.
HA300 Unit 7 Lesson 1

Most Common Errors during Build Operations

y
nl
For example, no measure is defined in a Cube calculation view.

eo
os
● There is an inconsistency between the object you build and a referenced object.

rp
For example, there is a mismatch in a column name between two objects with a

is ach Pu

d
ite
dependency.

io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 7 Lesson 1

Main Rules for a Consistent Management of Modeling Content

y
Files

nl
eo
● In an entire HDB module, the definition of a given runtime object

os
(<namespace>::<object_name>) cannot be provided more than once.

rp
is ach Pu

d
● The namespace defined in the design-time file of a database object must

ite
io Co n

ib
correspond to the namespace setting applied to the folder in which it is located

at - i tio

oh
lic TH ara

pr
● A build operation always checks the end-to-end dependency between modeling

p
content across all the HDB module, but only builds the design-time files you have
re

n
eP
selected for the build operation.
rs

● During a build operation, the checks apply to all the runtime objects that are
ou

p
rc

already built, and also all the objects included in the build scope (that is, in case of
Du
Fo

a partial build, the design-time files you have selected).


A design-time file that has never been built and is not part of the build operation is
ignored.
HA300

Summary

y
nl
You should now be able to:

eo
● Analyze and document information models

os
rp
● Explain the structure of a project

is ach Pu

d
ite
io Co n

ib
● Build modeling content

at - i tio

oh
lic TH ara

pr
● Modify and move modeling content

p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 7 Lesson 2

Lesson 2: Creating and Managing Projects

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Define the key settings of a project

oh
ra

pr

pl TH pa
Manage the lifecycle of a project

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 7 Lesson 2

Lesson Agenda

y
nl
eo
Learn About:

os
● MTA Project

rp
is ch u

d
n oa P

ite
● HANA Database Module

tio iC tion

ib
oh
● Lifecycle of a Modeling Project in XS Advanced

ra

pr
pl TH pa
● Application Deployment

re
-
eP
● Deleting a Project
rs

ica
ou

Learn:
rc

Du
Fo

● To Find the Actual Container Service Name and Schema Name of an HDB Module

Watch:
● How to Delete a Container
HA300 Unit 7 Lesson 2

Lesson Agenda

y
nl
Do:

eo
os
● Create a New Project and an HDB Module

rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Table 27: Key Settings of an MTA Project Unit 7 Lesson 2

y
Setting Description Example

nl
eo
Project name The name given to the new project

os
in your workspace

rp
Application ID The identifier of the multi-target com.sap.mta.sample

is ch u

d
n oa P

ite
application, used during deploy-

tio iC tion

ib
ment. It must be unique in the tar-

oh
ra
get environment, and uses the re-

pr
pl TH pa
verse-URL dot-notation.

re
-
Application ver- eP
A three-level application version 1.0.3
sion number (Major.Minor.Patch), used
rs

ica
ou

to handle successive deliveries of


rc

Du

the same application to runtime


Fo

environments.
Description A free text describing the purpose
of the MTA.
HA300 Unit 7 Lesson 2

Setting Description Example

y
nl
Space The space where you want to build DEV

eo
your project content during the

os
development phase.

rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Table 28: Key Settings of an HDB Module Unit 7 Lesson 2

y
Setting Description Example

nl
eo
Name The name of the module. It should core-database-module

os
be unique within the entire de-

rp
scriptor file (mta.yaml).

is ch u

d
n oa P

ite
Type hdb is the reserved module type hdb

tio iC tion

ib
for an HDB module.

oh
ra

pr
Path The relative location of the module db

pl TH pa
root within the file structure of the
re
-
project.
eP
rs

ica
Schema Name A specific schema name for the SAMPLE_SCHEMA
ou

HDB module container, used dur-


rc

Du

ing build and deployment.


Fo

SAP HANA Data- The SAP HANA database version _schema–version: "2.0"
base Version against which the artefacts of the
HDB module must be validated.
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 212: Deploying Models
Unit 7 Lesson 2
HA300

Summary

y
nl
You should now be able to:

eo
● Define the key settings of a project

os
rp
● Manage the lifecycle of a project

is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 7 Lesson 3

Lesson 3: Enabling Access to External Data

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Set up access to external data

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 7 Lesson 3

Lesson Agenda

y
nl
eo
Learn About:

os
● External Data Access Setup

rp
is ch u

d
n oa P

ite
● Cross-Container Access

tio iC tion

ib
oh
Do:

ra

pr
pl TH pa
● Set Up a Project to Access an External Schema

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 213: Container Isolation
Unit 7 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 214: External Schema Access
Unit 7 Lesson 3
HA300 Table 31: Properties of a User-Provided Service Unit 7 Lesson 3
for External Schema Access

y
Parameter Description

nl
eo
host The identifier of the SAP HANA system in which the target schema is

os
located

rp
Example: wdflbmt7215.wdf.sap.corp

is ach Pu

d
ite
io Co n
port The port used to access the database (SQL port of the indexserver)

ib
at - i tio

oh
lic TH ara
Example: 30015

pr
p
user The name of the technical user assigned to the user-provided service

re

n
eP
password The password of this technical user
rs

driver com.sap.db.jdbc.Driver
ou

p
rc

tag hana
Du
Fo

schema (optional) The name of a schema to which the user-provided service


will give access. If blank, the service can be used to provide access to
several schemas of the target database.
HA300 Unit 7 Lesson 3

Extract of an EPM_MODEL.hdbsynonym File

y
nl
{

eo
"HA300::SNWD_BP": {

os
"target": {

rp
"database": "H00",

is ach Pu

d
"schema": "EPM_MODEL"

ite
"object": "SNWD_BP",

io Co n

ib
at - i tio
}

oh
lic TH ara
},

pr
"HA300::SNWD_PO": {

p
re
"target": {

n
eP
"database": "H00",
rs
"schema": "EPM_MODEL"
ou

"object": "SNWD_PO",
p
rc

Du

}
Fo

}
}
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 215: Cross-Container Access
Unit 7 Lesson 3
HA300

Summary
You should now be able to:

Fo
rc
ou
● Set up access to external data

rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 7 Lesson 4

Lesson 4: Working with GIT Within the SAP Web IDE

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Use the Native Git Integration of the SAP Web IDE

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 7 Lesson 4

Lesson Agenda

y
nl
eo
Learn About:

os
● Overview of Git

rp
is ch u

d
n oa P

ite
● The Lifecycle of Files in Git

tio iC tion

ib
oh
● Git Integration within the SAP Web IDE for SAP HANA

ra

pr
pl TH pa
● Working with Git Branches in the SAP Web IDE

re
-
eP
● Working with Remote Branches
rs

ica
ou

Do:
rc

Du
Fo

● Use Git for Version Control in Your Local Workspace

● Clone the SAP HANA Interactive Education (SHINE) Application from GitHub
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 216: Version Control - A Typical Scenario
Unit 7 Lesson 4
HA300 Unit 7 Lesson 4

Key Benefits of a Version Control System

y
nl
● Source code backup

eo
os
● A complete change history

rp
is ach Pu
● Branching and merging capabilities

d
ite
io Co n

ib
at - i tio
● Traceability (for example, connecting a change to project management software)

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 217: The Distributed Git Architecture
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 218: The Basic Git Workflow
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 219: A Simple Git History
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 220: The Branch Concept
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 221: Git Flexibility - A Nice Metaphor
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
IDE

tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 222: The Embedded Git Client in SAP Web
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 223: The Basic Git Workflow
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
IDE

tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 224: Git Status of Files in the SAP Web
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 225: Committing Changes
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 226: Working with Local Branches
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 227: A Classic three-way Merge
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 228: Fast-Forward Merge
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib
Figure 229: Rebasing

eo
ite nl
d y
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 230: Creating a New Remote Branch
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
Figure 231: Pushing

ib eo
ite nl
d y
Unit 7 Lesson 4
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
Figure 232: Fetching

ib eo
ite nl
d y
Unit 7 Lesson 4
HA300

Summary

y
nl
You should now be able to:

eo
● Use the Native Git Integration of the SAP Web IDE

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 7 Lesson 5

Lesson 5: Migrating Modeling Content

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● List the deprecated modeling artifacts

oh
ra

pr

pl TH pa
Explain how to migrate modeling content

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 7 Lesson 5

Lesson Agenda

y
nl
eo
Learn About:

os
● Deprecated Modeling Objects in SAP HANA Studio

rp
is ch u

d
n oa P

ite
● Migrating Modeling Content

tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 233: Deprecated Information View Types
Unit 7 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 234: Migrating Modeling Content
Unit 7 Lesson 5
HA300

Summary

y
nl
You should now be able to:

eo
● List the deprecated modeling artifacts

os
rp
● Explain how to migrate modeling content

is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
Unit 8: Security in SAP HANA Modeling

y
nl
Lesson 1: Understanding Roles and Privileges

eo
os
Lesson 2: Defining Analytic Privileges

rp
is ach Pu

d
Lesson 3: Defining Roles

ite
io Co n

ib
at - i tio
Lesson 4: Masking Sensitive Data

oh
lic TH ara

pr
Lesson 5: Anonymizing Data

p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 8 Lesson 1

Lesson 1: Understanding Roles and Privileges

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Understand roles and privileges

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 8 Lesson 1

Lesson Agenda

y
nl
eo
Learn About:

os
● Overview of User Management and Security

rp
is ch u

d
n oa P

ite
● XS Advanced and SAP HANA Database Security

tio iC tion

ib
oh
● Database Security: Users, Roles and Privileges

ra

pr
pl TH pa
● Types of Privileges

re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 235: User Management and Security in Unit 8 Lesson 1
SAP HANA

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 236: XS Advanced Security and Database Unit 8 Lesson 1
Security

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
User

n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 237: XSA Role Collections of STUDENT
Unit 8 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 238: Organizations and Spaces
Unit 8 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
User

n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 239: Organization and Space of STUDENT
Unit 8 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 240: Users, Roles, Objects and Privileges
Unit 8 Lesson 1
HA300 Table 34: Catalog Roles vs. Design-Time Roles Unit 8 Lesson 1

y
Feature Catalog Roles Design-Time Roles

nl
eo
Transportability No Yes

os
Version Manage- No Yes

rp
ment

is ch u

d
n oa P

ite
tio iC tion
Relationship to Each role is owned by the data- The roles created when building

ib
oh
database users base user that created it. the HDB Module are owned by the

ra

pr
technical user that owns the con-

pl TH pa
tainer’s content.
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 241: Assigning Roles by SQL or HANA Unit 8 Lesson 1
Studio UI

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 242: Managing Users and Roles
Unit 8 Lesson 1
HA300 Figure 243: Authorization Concept - Types of Unit 8 Lesson 1
Privileges

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 244: System Privileges
Unit 8 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 245: Object Privilege
Unit 8 Lesson 1
HA300

Summary
You should now be able to:

Fo
rc
ou
rs
● Understand roles and privileges

eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 8 Lesson 2

Lesson 2: Defining Analytic Privileges

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Define analytic privileges

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 8 Lesson 2

Lesson Agenda

y
nl
eo
Learn About:

os
● Analytic Privileges

rp
is ch u

d
n oa P

ite
● Securing CDS Views with SQL Analytic Privileges

tio iC tion

ib
oh
● Definition of Restrictions on Hierarchy Nodes in SQL Analytic Privileges

ra

pr
pl TH pa
● Defining Data Access Security with Nested Calculation Views

re
-
eP
● Enabling Access to an External Schema or Another Container
rs

ica
ou

Do:
rc

Du
Fo

● Create and Assign an Analytic Privilege


HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 246: Analytic Privileges
Unit 8 Lesson 2
HA300 Unit 8 Lesson 2

Two Flavors of Analytic Privileges

y
nl
● SQL analytic privileges

eo
This type of analytic privilege provides the highest flexibility in scenarios where

os
filter conditions are complex. In addition, it can be used on a large variety of

rp
is ach Pu
objects, including calculation views, CDS views, and catalog views.

d
ite
io Co n

ib
● Classical analytic privileges (also called XML-based analytic privileges)

at - i tio

oh
lic TH ara
This is the historical data access restriction type, and it is NOT supported in XSA-

pr
p
based modeling (in SAP Web IDE).

re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 8 Lesson 2

To Create and Assign an Analytic Privilege

y
nl
1. Start the analytic privilege creation wizard.

eo
os
2. Assign the calculation view(s) that you want to secure with this analytic privilege.

rp
is ach Pu
3. Choose the type of restrictions you want to use and define the restrictions.

d
ite
io Co n

ib
at - i tio
4. Set the secured calculation views to check SQL analytic privileges.

oh
lic TH ara

pr
5. Save and build the analytic privilege.

p
re

n
eP
6. Assign the analytic privilege to a role.
rs

7. Assign the role to a user.


ou

p
rc

Du
Fo
HA300 Figure 247: Analytic Privilege - Select Information Unit 8 Lesson 2
Models

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Table 35: Restriction Types in Analytic Privileges Unit 8 Lesson 2

y
Restriction type How to Use Restriction Example

nl
eo
Attribute With the restriction editor, select one
● REGION: EMEA

os
or several attributes from the secured

rp
views. For each of them, define re- ● YEAR: Between 2015

is ch u

d
n oa P
strictions.

ite
and 2017

tio iC tion

ib
oh
ra
SQL Expression Create a valid static SQL expression (“REGION”=’EMEA’ AND

pr
pl TH pa
that refers to the attributes and the “YEAR”=’2015’) (valid SQL ex-

re
-
authorized values. This is useful when pression)
eP
the Attribute restriction type does not
rs

ica
fulfill the requirement.
ou
rc

Dynamic Use a procedure to derive a dynamic P_DYNAMIC_AP_FOR_RE-


Du
Fo

SQL expression to restrict the data GION (name of the procedure)


set. This expression must be similar to
a WHERE clause in a select statement.
HA300 Figure 250: Combined Restrictions in Analytic Unit 8 Lesson 2
Privileges

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Figure 251: Several Analytic Privileges Applying Unit 8 Lesson 2
to the Same View

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 252: Dynamic Analytic Privileges - Concept
Unit 8 Lesson 2
HA300 Unit 8 Lesson 2

Dynamic Restriction - Procedure Properties

y
nl
● Procedure must be read-only

eo
os
● Security mode must be DEFINER

rp
is ach Pu
● No input parameters

d
ite
io Co n

ib
at - i tio
● Only one scalar output parameter of type VARCHAR(256) or NVARCHAR(256)

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 253: Apply Privileges Property
Unit 8 Lesson 2
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 254: Analytic Privilege Check
Unit 8 Lesson 2
HA300 Figure 255: Nested Calculation Views - Data Unit 8 Lesson 2
Access Security Principles

y
nl
eo
os
rp
is ch u

d
n oa P

ite
tio iC tion

ib
oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
Live

n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 256: Data Access Security in SAP HANA
Unit 8 Lesson 2
HA300

Summary
You should now be able to:

Fo
● Define analytic privileges

rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 8 Lesson 3

Lesson 3: Defining Roles

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Create a design-time role

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 8 Lesson 3

Lesson Agenda

y
nl
eo
Learn About:

os
● Design-Time Roles in an HDB Module

rp
is ch u

d
n oa P

ite
● Default Roles Created in a Container

tio iC tion

ib
oh
● Enabling Access to an External Schema

ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 257: Structure of a Design-Time Role File
Unit 8 Lesson 3
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 258: Structure of the .hdbroleconfig File
Unit 8 Lesson 3
HA300 Unit 8 Lesson 3

Privilege With Grant Option — Example

y
nl
{

eo
os
"role":{

rp
"name":"RoleABC#",

is ach Pu

d
"schema_analytic_privileges":[

ite
{

io Co n

ib
at - i tio
"privileges": ["AP1", "AP2"],

oh
lic TH ara
"privileges_with_grant_option": ["AP4"]

pr
},

p
re
]

n
eP
}
rs
}
ou

p
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 259: Structure of the .hdbgrants File
Unit 8 Lesson 3
HA300

Summary
You should now be able to:

Fo
● Create a design-time role

rc
ou
rs
eP
Du re
p p
lic TH ara
at - i tio
io Co n
n
is ach Pu
pr rp
oh os
ib eo
ite nl
d y
HA300 Unit 8 Lesson 4

Lesson 4: Masking Sensitive Data

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Restrict access to columns containing sensitive data within a View

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 8 Lesson 4

Lesson Agenda

y
nl
eo
Learn About:

os
● Column Masking

rp
is ch u

d
n oa P

ite
Do:

tio iC tion

ib
oh
● Define Column Masking in a Calculation View

ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 260: Column Masking
Unit 8 Lesson 4
HA300

Summary

y
nl
You should now be able to:

eo
● Restrict access to columns containing sensitive data within a View

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 8 Lesson 5

Lesson 5: Anonymizing Data

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Protect sensitive data with anonymization

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo

HA300

Learn About:
Lesson Agenda

Data Anonymization

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Unit 8 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 261: Anonymizing Data — Example
Unit 8 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 262: Anonymization vs. Masking
Unit 8 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
Figure 263: k-Anonymity

ite nl
d y
Unit 8 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 264: Differential Privacy
Unit 8 Lesson 5
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 265: Implementation
Unit 8 Lesson 5
HA300

Summary

y
nl
You should now be able to:

eo
● Protect sensitive data with anonymization

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
Unit 9: Introduction to Advanced Modeling

y
nl
Lesson 1: Introducing Advanced Data Modeling

eo
os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo
HA300 Unit 9 Lesson 1

Lesson 1: Introducing Advanced Data Modeling

y
nl
eo
Lesson Objectives

os
rp
After completing this lesson, you will be able to:

is ch u

d
n oa P

ite
tio iC tion

ib
● Develop awareness of advanced modeling possibilities

oh
ra

pr
pl TH pa
re
-
eP
rs

ica
ou
rc

Du
Fo
HA300 Unit 9 Lesson 1

Lesson Agenda

y
nl
eo
Learn About:

os
● Scope of advanced modeling

rp
is ch u

d
n oa P

ite
● Text

tio iC tion

ib
oh
● Spatial

ra

pr
pl TH pa
● Predictive

re
-
eP
● Graph
rs

ica
ou

● Series Data
rc

Du
Fo
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 266: Text Processing with SAP HANA
Unit 9 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 267: Spatial Processing with SAP HANA
Unit 9 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 268: SAP HANA Predictive Analysis
Unit 9 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
ite nl
d y
Figure 269: Social Media Graphs
Unit 9 Lesson 1
HA300

Fo
rc
ou
rs
eP
Du re
pl TH pa
ica ra
-
tio iC tion
n oa P
is ch u
pr rp
oh os
ib eo
Figure 270: Series Data

ite nl
d y
Unit 9 Lesson 1
HA300

Summary

y
nl
You should now be able to:

eo
● Develop awareness of advanced modeling possibilities

os
rp
is ach Pu

d
ite
io Co n

ib
at - i tio

oh
lic TH ara

pr
p
re

n
eP
rs
ou

p
rc

Du
Fo

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy