---
description: SAP HANA Modelling is an activity by which we create information view. Information View is similar to dimension, cube or information provider of BW. This information view is used for creating the mult
title: "SAP HANA Modeling: Views, Tables &#038; Data Models"
image: https://www.guru99.com/images/sap-hana-modeling.png
---

[Skip to content](#main)

**⚡ Smart Summary**

SAP HANA Modeling creates information views that reshape raw database tables into business ready models. Attribute, analytic, and calculation views, package structure, required privileges, and performance rules are covered with practical naming standards.

- 🧱 **Core Definition:** Modeling builds information views from attributes and measures, so a single model answers a business question instead of a raw table query.
- 🏷️ **Attribute Types:** Simple, calculated, and local attributes describe data, and a local attribute remains confined to the view that defines it.
- 📊 **Measure Types:** Simple, calculated, restricted, and counter measures supply every quantifiable figure an analytic or calculation view returns.
- 🔐 **Privilege Set:** Object, package, and analytic privileges together decide which schemas, packages, and rows a modeler may reach.
- 📦 **Package Discipline:** A structural package holds only sub packages, while a non structural package holds the information views themselves.
- ⚡ **Performance Rules:** Filter at projection nodes, prefer union over join, and calculate before aggregating.
- 🔄 **Modern Direction:** Calculation views supersede attribute and analytic views from SAP HANA 2.0 onward.

Read More

![SAP HANA Modeling](https://www.guru99.com/images/sap-hana-modeling.png)

## What is SAP HANA Modeling?

SAP HANA Modeling is an activity by which we create an information view. An information view is similar to a dimension, a cube, or an InfoProvider in BW. This information view is used for creating the multi-dimensional data model.

The physical tables inside [SAP HANA](https://www.guru99.com/sap-hana-tutorial.html) hold data in the shape the source system delivered it. Modeling adds a layer above those tables that renames columns, joins related records, applies filters, and defines calculations. Reporting tools then read that layer instead of the tables, so business users never need to know the underlying table structure.

## SAP HANA Modeling Overview

Modeling is an activity in which the user refines or slices data in the database table by creating an information view based on the business scenario. These information views can be used for reporting and decision-making purposes.

An information view is made from various combinations of content data to create a model for a business scenario.

Content data in an information view is of two types:

- **Attribute:** Descriptive and non-measurable data. For example, Vendor ID, Vendor Name, City, etc.
- **Measure:** Data that can be quantified and calculated. For example, Revenue, Quantity Sold, and Counters. A measure is derived from an analytic and a calculation view. A measure cannot be created in an attribute view.

Both building blocks are defined once inside the view and reused by every report that consumes it. The sections below list the exact variants SAP HANA supports for each.

### Types of Attribute

SAP HANA supports three types of attributes:

| Types of Attributes | Activities |
| --- | --- |
| **Simple Attribute** | It is derived from the data foundation. |
| **Calculated Attribute** | It is derived from one or more existing attributes and constants. For example, an arithmetic calculation, or deriving the full name from the first and last name. |
| **Local Attribute** | It is used inside modeling views (analytic view or calculation view) to customize the behavior of an attribute, so it is local to the **modeling** view and cannot be accessed from outside that view. |

### Types of Measure

SAP HANA supports four types of measures:

| Types of Measures | Activities |
| --- | --- |
| **Simple Measure** | It is derived from the data foundation. |
| **Calculated Measure** | It is derived from one or more existing measures, constants, and functions. For example, an arithmetic calculation. |
| **Restricted Measure** | It is used to filter values based on user-defined rules for attribute values. |
| **Counter** | It is a special type of column that displays a unique number for attribute columns (analytic view or calculation view). It is used to count one or more attribute columns. |

Once attributes and measures are decided, they are assembled into one of three information views:

- **Attribute View** – This is used for master data context.
- **Analytic View** – This is used for creating fact tables and is similar to a Cube in BW.
- **Calculation View** – This is used for creating a complex view and is similar to a MultiProvider in BW.

Before any of these views can be built, the modeler account needs a specific set of authorizations.

### Privileges Required for Modeling

Privileges provide security to the SAP HANA database, by which an authorized user can access authorized content only.

**Object Privileges**

Object privileges are [SQL](https://www.guru99.com/sql.html) privileges that are used for providing read/write access on database objects. The object privileges below are required for modeling.

- SELECT privilege on the \_SYS\_BI schema.
- SELECT privilege on the \_SYS\_BIC schema.
- EXECUTE privilege on REPOSITORY\_REST (SYS).
- SELECT privilege on the table schema.

**Package Privileges**

Package privileges are required to authorize actions on individual packages. The package privileges below are required for data modeling.

- REPO.MAINTAIN\_NATIVE\_PACKAGES privilege on the root package.
- REPO.READ, REPO.EDIT\_NATIVE\_OBJECTS & REPO.ACTIVATE\_NATIVE\_OBJECTS on the package used for content objects.

**Analytic Privileges**

To access an SAP HANA information view, [analytic privileges](https://www.guru99.com/sap-hana-analytic-privileges.html) are required.

- For full data access to all information views in an SAP HANA system, the “\_SYS\_BI\_CP\_ALL” analytic privilege is required. For restricted data access, analytic privileges need to be created and assigned to the user.

**Other Privileges**

- Grant access on your own schema to the \_SYS\_REPO user as ‘GRANT SELECT ON SCHEMA “Schema name” TO \_SYS\_REPO WITH GRANT OPTION’;
- REPO.MAINTAIN\_DELIVERY\_UNITS for creating delivery units.
- REPO.IMPORT, REPO.EXPORT for import and export of delivery units.
- REPO.WORK\_IN\_FOREIGN\_WORKSPACES to work in foreign workspaces.

**Don't Miss:**

- [SAP HANA Architecture: Database Overview](https://www.guru99.com/sap-hana-architecture.html)
- [How to Download & Install SAP HANA Studio](https://www.guru99.com/sap-hana-studio.html)
- [SAP HANA SQL Script Tutorial: Syntax & Examples](https://www.guru99.com/sap-hana-sql-script.html)
- [SAP HANA Calculation View: Types & How to Create](https://www.guru99.com/sap-hana-calculation-view.html)

## Difference Between Attribute View, Analytic View, and Calculation View

The three information views are not interchangeable. Each one answers a different question, and picking the wrong one is the most common modeling mistake beginners make.

| Criteria | Attribute View | Analytic View | Calculation View |
| --- | --- | --- | --- |
| Purpose | Master data and descriptive context | Star schema on a single fact table | Complex logic across multiple sources |
| Measures allowed | No | Yes | Yes |
| Number of fact tables | Not applicable | One | Many |
| Union supported | No | No | Yes |
| Can consume other views | No | Attribute views only | All three types |
| BW equivalent | Characteristic / dimension | InfoCube | MultiProvider |

A practical rule works well: build an [attribute view](https://www.guru99.com/sap-hana-attribute-view.html) when the output is a descriptive list, an [analytic view](https://www.guru99.com/sap-hana-analytic-view.html) when one fact table is measured against those descriptions, and a [calculation view](https://www.guru99.com/sap-hana-calculation-view.html) when the answer needs a union, a second fact table, or logic that a star schema cannot express.

## SAP HANA Best Practices for Creating Information Models

An SAP HANA best practice is a standard followed while creating an object in the SAP HANA database. The best practices below apply to each object type.

**PACKAGE:**

- Create a top-level package such as “Development” for development work.
- Create a sub-package under the top-level package for each developer.
- More sub-packages can also be created, if required.

**SCHEMA:**

- Design your schema layout before the project starts. For example, DS\_SCHEMA, SLT\_SCHEMA, FI\_SCHEMA, SD\_SCHEMA, etc.
- Custom tables should sit in a separate schema.

**TABLES:**

- A table that will be used in reporting or [OLAP](https://www.guru99.com/online-analytical-processing.html) should be of the column store type.
- A table that will be used in transactions or [OLTP](https://www.guru99.com/what-is-oltp.html) should be of the row store type.
- Give a comment or description for the table and column names properly for clarity.

**NAMING CONVENTION:**

| OBJECTS | Format | Description |
| --- | --- | --- |
| ATTRIBUTE VIEWS | **AT**\_PRODUCT | AT\_ means attribute view |
| ANALYTIC VIEWS | **AN**\_SALES | AN\_ means analytic view |
| CALCULATION VIEWS | **CA**\_SALES | CA\_ means calculation view |
| ANALYTIC PRIVILEGES | **AP**\_REST\_AT (Attribute View)<br>**AP**\_REST\_AN (Analytic View)<br>**AP**\_REST\_CA (Calculation View) | AP\_ means analytic privileges |
| HIERARCHY | **HI**\_BNAME\_PC (Parent Child)<br>**HI**\_BNAME\_LV (Level) | HI\_ means hierarchy |
| PROCEDURE | **SP**\_PROCEDURENAME | SP\_ means stored procedure |
| INPUT PARAMETERS | **IP**\_PARA\_NAME | IP\_ means parameter |
| VARIABLES | **VA**\_VNAME | VA\_ means variable name |

The naming convention only pays off if every model lives inside a planned package structure, which is created as shown next.

### Creating a Package in SAP HANA Studio

**Package:** It is a container that holds all information about the model (attribute view, analytic view, calculation view, and so on) in a group.

**Types of package:** Packages are of two types, as below.

| Type | Description | Icon |
| --- | --- | --- |
| **Structural** | In a structural package, only a sub-package can be created. No information view (attribute view, analytic view, etc.) can be created in a structural package.<br>Examples of a structural package are SAP, system-local, system-local.generated, and system-local.private. | [![SAP HANA Modeling]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode1.png) |
| **Non-Structural** | A non-structural package can contain information objects and sub-packages. This is the default package. | [![SAP HANA Modeling]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode2.png) |

**Uses of a package:** A package groups all information models together and makes model transport easier. Both package types can be used in transport.

**Steps for creating a structural package in SAP HANA Studio:**

**Step 1)** In this step,

1. Select the HANA system, here it is HDB.
2. Go to the Content folder.

[![Creating Structural Package in SAP HANA]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode3.png)

**Step 2)** In this step,

1. Select New.
2. Select the Package option.

[![Creating Structural Package in SAP HANA]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode4.png)

**Step 3)** In this step,

1. Enter the package name. For example, “DHK\_SCHEMA”.
2. Enter a description for the package.
3. Original language and Person Responsible are selected by default.

[![Creating Structural Package in SAP HANA]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode5.png)

A non-structural package with the name “DHK\_SCHEMA” will be created in the Content node, as below.

[![Creating Structural Package in SAP HANA]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode6.png)

**Step 4)** Now, convert the non-structural package to a structural package.

1. Select the package “DHK\_SCHEMA” and right-click on it.
2. Go to the Edit option for the package.

[![Creating Structural Package in SAP HANA]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode7.png)

**Step 5)** In this step,

1. Select “Yes” for the Structural Options field.
2. Click on the OK button.

[![Creating Structural Package in SAP HANA]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode8.png)

When “DHK\_SCHEMA” is changed from a non-structural to a structural package, the icon style changes from ![Creating Structural Package in SAP HANA]() to ![Creating Structural Package in SAP HANA](). This is an indication that the non-structural package is now converted to a structural package.

[![Creating Structural Package in SAP HANA]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode11.png)

**Steps for creating a non-structural package under a structural package as a sub-package:**

A package is created as non-structural by default. In a non-structural package, other packages and information objects can be created. It is better to first create a structural package, and then create a sub-package inside it.

**Step 1)** In this step,

1. Select the structural package “DHK\_SCHEMA” and right-click on it.
2. Select New -> Package.

[![Creating Non-Structural Package as Sub-Package]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode12.png)

**Step 2)** In this step,

1. Enter the sub-package name in the Name field.
2. Enter a description for it.
3. Click on the “OK” button.

[![Creating Non-Structural Package as Sub-Package]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode13.png)

A new non-structural package will be created as a sub-package under the DHK\_SCHEMA package.

[![Creating Non-Structural Package as Sub-Package]()](https://www.guru99.com/images/sap-hana/030216_1026_SAPHANAMode14.png)

## How to Activate and Validate an Information View

Saving a view only stores it in the design-time repository. Until it is activated, no runtime object exists and no report can read it. Activation generates a column view under the \_SYS\_BIC schema, and that generated object is what SQL and reporting tools actually query.

**Step 1) Save the view.** Press Ctrl+S in SAP HANA Studio. The view now exists as an inactive design-time object, marked with a diamond overlay in the Content node.

**Step 2) Activate the view.** Right-click the view and select Activate, or press Ctrl+F3. Choose “Activate” to deploy only this view, or “Redeploy” to rebuild the runtime object when the design-time definition has not changed but the generated object is missing.

**Step 3) Read the Job Log.** The Job Log view reports success or failure for every object in the activation batch. A failure entry names the object and the reason, so always expand the entry rather than relying on the summary line.

**Step 4) Preview the data.** Right-click the activated view and select Data Preview. The Analysis tab lets attributes be dragged to the label axis and measures to the value axis, which confirms that joins return the expected number of rows.

**Step 5) Resolve common activation errors.** Three failures account for most cases:

- **Insufficient privilege on schema:** \_SYS\_REPO lacks SELECT WITH GRANT OPTION on the schema holding the base tables. Grant it and activate again.
- **Invalid column name:** A base table column was renamed or dropped after the view was modeled. Refresh the data foundation and remap the field.
- **Cyclic dependency:** Two views reference each other. Break the loop by pointing one of them at the underlying table instead.

After a successful activation, the view can be queried directly with SELECT \* FROM “\_SYS\_BIC”.”package/VIEW\_NAME”, which is the fastest way to confirm the object exists before a reporting tool is connected to it.

## SAP HANA Performance Optimization Technique

An activated view that returns correct results may still be slow. The rules below shape how the calculation engine executes the model.

- All information views and table views should be used with a projection node. A projection node improves performance by narrowing the column set.
- Apply filters at projection nodes.
- Avoid join nodes in a calculation view, and use a union instead where possible.
- Use input parameters or variables to restrict the dataset within an analytic or calculation view.
- Calculations should be done before aggregation.
- Hierarchies need to be redefined in a calculation view, because hierarchies of an attribute view are not visible in a calculation view.
- Hierarchies of an attribute view are visible in an analytic view.
- Labels of attributes and descriptions of measures defined in an attribute view, analytic view, or calculation view will not be displayed in a consuming calculation view. They need to be remapped.
- Do not mix CE functions and [SQLScript](https://www.guru99.com/sap-hana-sql-script.html) in the same information model.

Join design also affects runtime cost. A referential join can be pruned entirely when no field from the right table is requested, which is why [join type selection](https://www.guru99.com/sap-hana-join.html) deserves as much attention as node placement.

## Why Calculation Views Replaced Attribute and Analytic Views

SAP deprecated attribute views and analytic views along with the XS Classic model and the SAP HANA Repository. The deprecation was announced for SAP HANA 1.0 SPS 12 and restated for SAP HANA 2.0 SPS 02. Deprecated means still supported on SAP HANA 2.0, but not carried forward to SAP HANA Cloud.

The reason is consolidation rather than replacement of function. Successive support package stacks extended calculation views until they absorbed the capabilities of the other two types:

- A calculation view of data category **Dimension**, with a projection node at the semantic layer, does the work of an attribute view.
- A calculation view of data category **Cube** with a star join, with an aggregation node at the semantic layer, does the work of an analytic view.

One view type also means one optimizer path, one set of modeling patterns to learn, and one migration target. SAP ships a migration tool that converts existing attribute views, analytic views, and script-based calculation views into graphical calculation views and table functions. Existing views continue to run, so migration can be scheduled rather than rushed, but new development should start with calculation views.

## FAQs

📦 Can a package be converted back from structural to non-structural?

Yes, through the same Edit dialog, but only while the package holds no sub-packages. Move or delete every child object first, otherwise the change is rejected.

🗂️ Where does an activated information view actually live?

Activation generates a runtime column view in the \_SYS\_BIC schema, named after the package path. The design-time definition stays in the repository and is what transport moves.

🤖 Can AI convert an attribute view into a calculation view?

Partly. SAP supplies a migration tool for the structural conversion, and AI adds value by flagging the calculated attributes and filters whose behaviour differs after migration, so testing focuses there.

🧠 Can AI suggest which privileges a failed activation is missing?

Yes. Reading the Job Log entry against the objects the view touches identifies the exact schema or package grant that is absent, which is faster than granting privileges by trial and error.

🔢 What is the difference between a counter and a calculated measure?

A counter returns the number of distinct values in one or more attribute columns. A calculated measure derives a figure arithmetically from existing measures, constants, and functions.

#### Summarize this post with:

ChatGPTPerplexityGrokGoogle AI

**Stay Updated on AI** **Get Weekly AI Skills, Trends, Actionable Advice.**

##### Sign up for the newsletter

Subscribe for Free

You have successfully subscribed.  
Please check your inbox.

![AI-Newsletter]() Chosen by over **350,000+** professionals

[Scroll to top](#wrapper)

×

Search for:

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.guru99.com/#organization","name":"Guru99","sameAs":["https://www.facebook.com/Guru99Official","https://twitter.com/guru99com"],"logo":{"@type":"ImageObject","@id":"https://www.guru99.com/#logo","url":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","contentUrl":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","caption":"Guru99","inLanguage":"en-US"}},{"@type":"WebSite","@id":"https://www.guru99.com/#website","url":"https://www.guru99.com","name":"Guru99","publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://www.guru99.com/images/sap-hana-modeling.png","url":"https://www.guru99.com/images/sap-hana-modeling.png","width":"700","height":"250","caption":"SAP HANA Modeling","inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://www.guru99.com/sap-hana-modeling.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.guru99.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.guru99.com/sap-hana","name":"SAP-HANA"}},{"@type":"ListItem","position":"3","item":{"@id":"https://www.guru99.com/sap-hana-modeling.html","name":"SAP HANA Modeling: Views, Tables &#038; Data Models"}}]},{"@type":"WebPage","@id":"https://www.guru99.com/sap-hana-modeling.html#webpage","url":"https://www.guru99.com/sap-hana-modeling.html","name":"SAP HANA Modeling: Views, Tables &#038; Data Models","dateModified":"2026-10-09T13:44:07+05:30","isPartOf":{"@id":"https://www.guru99.com/#website"},"primaryImageOfPage":{"@id":"https://www.guru99.com/images/sap-hana-modeling.png"},"inLanguage":"en-US","breadcrumb":{"@id":"https://www.guru99.com/sap-hana-modeling.html#breadcrumb"}},{"@type":"Person","@id":"https://www.guru99.com/author/editorial","name":"Editorial Team","url":"https://www.guru99.com/author/editorial","image":{"@type":"ImageObject","@id":"https://www.guru99.com/images/favicon-new-logo.png","url":"https://www.guru99.com/images/favicon-new-logo.png","caption":"Editorial Team","inLanguage":"en-US"},"sameAs":["https://www.guru99.com/editorial-team"],"worksFor":{"@id":"https://www.guru99.com/#organization"}},{"articleSection":"SAP-HANA","headline":"SAP HANA Modeling: Views, Tables &#038; Data Models","description":"SAP HANA Modelling is an activity by which we create information view. Information View is similar to dimension, cube or information provider of BW. This information view is used for creating the mult","keywords":"sap-hana","speakable":{"@type":"SpeakableSpecification","cssSelector":[".entry-title",".summary"]},"@type":"Article","author":{"@id":"https://www.guru99.com/author/editorial","name":"Editorial Team"},"dateModified":"2026-10-09T13:44:07+05:30","image":{"@id":"https://www.guru99.com/images/sap-hana-modeling.png"},"copyrightYear":"2026","name":"SAP HANA Modeling: Views, Tables &#038; Data Models","subjectOf":[{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Can a package be converted back from structural to non-structural?","acceptedAnswer":{"@type":"Answer","text":"Yes, through the same Edit dialog, but only while the package holds no sub-packages. Move or delete every child object first, otherwise the change is rejected."}},{"@type":"Question","name":"Where does an activated information view actually live?","acceptedAnswer":{"@type":"Answer","text":"Activation generates a runtime column view in the _SYS_BIC schema, named after the package path. The design-time definition stays in the repository and is what transport moves."}},{"@type":"Question","name":"Can AI convert an attribute view into a calculation view?","acceptedAnswer":{"@type":"Answer","text":"Partly. SAP supplies a migration tool for the structural conversion, and AI adds value by flagging the calculated attributes and filters whose behaviour differs after migration, so testing focuses there."}},{"@type":"Question","name":"Can AI suggest which privileges a failed activation is missing?","acceptedAnswer":{"@type":"Answer","text":"Yes. Reading the Job Log entry against the objects the view touches identifies the exact schema or package grant that is absent, which is faster than granting privileges by trial and error."}},{"@type":"Question","name":"What is the difference between a counter and a calculated measure?","acceptedAnswer":{"@type":"Answer","text":"A counter returns the number of distinct values in one or more attribute columns. A calculated measure derives a figure arithmetically from existing measures, constants, and functions."}}]}],"@id":"https://www.guru99.com/sap-hana-modeling.html#schema-1147726","isPartOf":{"@id":"https://www.guru99.com/sap-hana-modeling.html#webpage"},"publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://www.guru99.com/sap-hana-modeling.html#webpage"}}]}
```
