SAP HANAモデリング:ビュー、テーブル、データモデル
⚡ スマートサマリー
SAP HANAモデリングは、生のデータベーステーブルをビジネスにすぐに使えるモデルに再構築する情報ビューを作成します。属性ビュー、分析ビュー、計算ビュー、パッケージ構造、必要な権限、パフォーマンスルールなどが、実用的な命名規則に基づいて網羅されています。

何ですか SAP HANA モデリング?
SAP HANAモデリングとは、情報ビューを作成する活動です。情報ビューは、BWにおけるディメンション、キューブ、またはインフォプロバイダに相当します。この情報ビューは、多次元データモデルを作成するために使用されます。
内部の物理的なテーブル SAP HANA データはソースシステムが提供した形式で保持されます。モデリングでは、これらのテーブルの上にレイヤーを追加し、列名の変更、関連レコードの結合、フィルタの適用、計算式の定義を行います。レポートツールはテーブルではなくこのレイヤーを読み取るため、ビジネスユーザーは基となるテーブル構造を知る必要がありません。
SAP HANA モデリングの概要
モデリングとは、ユーザーがビジネスシナリオに基づいて情報ビューを作成することで、データベーステーブル内のデータを精緻化または細分化する活動です。これらの情報ビューは、レポート作成や意思決定に利用できます。
情報ビューは、さまざまなコンテンツデータの組み合わせから作成され、ビジネスシナリオのモデルを構築します。
情報ビュー内のコンテンツデータには、次の2種類があります。
- 属性: Descript測定可能なデータと測定不可能なデータ。例えば、ベンダーID、ベンダー名、都市など。
- 測定: 定量化および計算可能なデータ。例えば、 Rev数値、販売数量、カウンター。メジャーは分析ビューと計算ビューから派生します。属性ビューではメジャーを作成できません。
どちらの構成要素もビュー内で一度定義され、それを利用するすべてのレポートで再利用されます。以下のセクションでは、具体的なバリエーションを一覧表示します。 SAP HANAはそれぞれをサポートしています。
属性の種類
SAP HANAは3種類の属性をサポートしています。
| 属性の種類 | アクティビティ |
|---|---|
| 単純な属性 | これはデータ基盤から派生したものです。 |
| 計算された属性 | これは、1つ以上の既存の属性や定数から導き出されます。例えば、算術計算や、名と姓からフルネームを導き出す場合などです。 |
| ローカル属性 | これはモデリング ビュー (分析ビューまたは計算ビュー) 内で属性の動作をカスタマイズするために使用されるため、ローカルです。 モデリング そのビューは表示され、そのビューの外からはアクセスできません。 |
測定の種類
SAP HANAは4種類のメジャーをサポートしています。
| 対策の種類 | アクティビティ |
|---|---|
| 簡単な測定 | これはデータ基盤から派生したものです。 |
| 計算されたメジャー | これは、一つまたは複数の既存の尺度、定数、関数から導き出される。例えば、算術計算などである。 |
| 制限措置 | これは、属性値に対するユーザー定義ルールに基づいて値をフィルタリングするために使用されます。 |
| カウンター | これは、属性列(分析ビューまたは計算ビュー)に一意の番号を表示する特殊な列です。1つまたは複数の属性列の数をカウントするために使用されます。 |
属性と測定基準が決定されると、それらは次の3つの情報ビューのいずれかにまとめられます。
- 属性ビュー – これはマスター データ コンテキストに使用されます。
- 分析ビュー これはファクトテーブルを作成するために使用され、BWのキューブに似ています。
- 計算ビュー これは複雑なビューを作成するために使用され、BWのマルチプロバイダーに似ています。
これらのビューを構築する前に、モデラーアカウントには特定の権限セットが必要です。
モデリングに必要な権限
特権はセキュリティを提供します SAP HANAデータベースにより、認証されたユーザーは認証されたコンテンツのみにアクセスできます。
オブジェクト権限
オブジェクト権限は、 SQL データベースオブジェクトへの読み取り/書き込みアクセスを提供するために使用される権限。以下のオブジェクト権限はモデリングに必要です。
- _SYS_BIスキーマに対するSELECT権限。
- _SYS_BICスキーマに対するSELECT権限。
- REPOSITORY_REST (SYS) に対する EXECUTE 権限。
- テーブルスキーマに対するSELECT権限。
パッケージ特典
パッケージ権限は、個々のパッケージに対する操作を承認するために必要です。データモデリングには、以下のパッケージ権限が必要です。
- ルートパッケージに対する REPO.MAINTAIN_NATIVE_PACKAGES 権限。
- コンテンツ オブジェクトに使用されるパッケージに対して、REPO.READ、REPO.EDIT_NATIVE_OBJECTS、および REPO.ACTIVATE_NATIVE_OBJECTS を実行します。
分析権限
アクセスするには SAP HANA情報ビュー、 分析権限 必要とされます。
- すべての情報ビューへの完全なデータアクセスについては、 SAP HANAシステムでは、「_SYS_BI_CP_ALL」分析権限が必要です。データへのアクセスを制限するには、分析権限を作成し、ユーザーに割り当てる必要があります。
その他の特権
- _SYS_REPO ユーザーに、自身のスキーマへのアクセス権を「GRANT SELECT ON SCHEMA “スキーマ名” TO _SYS_REPO WITH GRANT OPTION」として付与します。
- 配送ユニットを作成するには、REPO.MAINTAIN_DELIVERY_UNITS を使用します。
- 配送単位のインポートとエクスポートには、REPO.IMPORT、REPO.EXPORTを使用します。
- 外部ワークスペースで作業するには、REPO.WORK_IN_FOREIGN_WORKSPACES を使用します。
属性ビュー、分析ビュー、計算ビューの違い
これら3つの情報ビューは互換性がありません。それぞれ異なる質問に答えるものであり、間違ったビューを選択することは、モデリング初心者が犯しがちな最も一般的な間違いです。
| 基準 | 属性ビュー | 分析ビュー | 計算ビュー |
|---|---|---|---|
| 目的 | マスターデータと説明コンテキスト | 単一のファクトテーブル上のスタースキーマ | 複数のソースにまたがる複雑なロジック |
| 許可された措置 | いいえ | はい | はい |
| 事実表の数 | 適用されない | 1 | その他にもたくさんのグーグルの |
| 労働組合が支持する | いいえ | いいえ | はい |
| 他のビューも閲覧可能 | いいえ | 属性ビューのみ | 3種類すべて |
| 体重相当 | 特性/寸法 | InfoCube | マルチプロバイダー |
実用的なルールはうまく機能します。 属性ビュー 出力が説明リストの場合、 分析的視点 1 つの事実表がそれらの説明と比較され、 計算ビュー 回答にユニオン、2つ目のファクトテーブル、またはスター型スキーマでは表現できないロジックが必要な場合。
SAP 情報モデルを作成するための HANA ベストプラクティス
An SAP HANA のベストプラクティスは、オブジェクトを作成する際に従う標準です。 SAP HANAデータベース。以下のベストプラクティスは、各オブジェクトタイプに適用されます。
パッケージ:
- 開発作業用に、「開発」などの最上位パッケージを作成します。
- 各開発者ごとに、最上位パッケージの下にサブパッケージを作成します。
- 必要に応じて、さらにサブパッケージを作成することもできます。
スキーマ:
- プロジェクト開始前にスキーマレイアウトを設計してください。例えば、DS_SCHEMA、SLT_SCHEMA、FI_SCHEMA、SD_SCHEMAなどです。
- カスタムテーブルは別のスキーマに配置する必要があります。
表:
- レポート作成やレポート作成に使用されるテーブル OLAP カラムストア型である必要があります。
- トランザクションで使用されるテーブルまたは OLTP 行ストア型である必要があります。
- テーブル名と列名には、分かりやすくするために適切なコメントまたは説明を記入してください。
命名規則:
| OBJECTS | フォーマット | 詳細説明 |
|---|---|---|
| 属性ビュー | AT_製品 | AT_ は属性ビューを意味します |
| 分析ビュー | AN_セール | AN_は分析的見解を意味します |
| 計算ビュー | CA_セール | CA_は計算ビューを意味します |
| 分析権限 | AP_REST_AT(属性ビュー) AP_REST_AN(分析ビュー) AP_REST_CA(計算ビュー) |
AP_は分析権限を意味します |
| 階層 | HI_BNAME_PC(親子関係) HI_BNAME_LV(レベル) |
HI_は階層構造を意味します |
| 手順 | SP_PROCEDURENAME | SP_ はストアドプロシージャを意味します |
| 入力パラメータ | IP_PARA_NAME | IP_はパラメータを意味します |
| 変数 | VA_VNAME | VA_ は変数名を意味します |
命名規則が有効になるのは、すべてのモデルが計画されたパッケージ構造内に存在する場合のみであり、その構造は次に示すように作成されます。
パッケージの作成 SAP ハナスタジオ
パッケージ: これは、モデルに関するすべての情報(属性ビュー、分析ビュー、計算ビューなど)をグループとして保持するコンテナです。
パッケージの種類: パッケージには以下の2種類があります。
| タイプ | 詳細説明 | アイコン |
|---|---|---|
| 構造上の | 構造パッケージでは、サブパッケージのみを作成できます。構造パッケージでは、情報ビュー(属性ビュー、分析ビューなど)を作成することはできません。 構造パッケージの例は次のとおりです。 SAPsystem-local、system-local.generated、およびsystem-local.private。 |
|
| 非構造物 | 非構造パッケージには、情報オブジェクトとサブパッケージを含めることができます。これはデフォルトのパッケージです。 |
パッケージの用途: パッケージはすべての情報モデルをまとめてグループ化し、モデルの転送を容易にします。どちらのタイプのパッケージも転送に使用できます。
構造パッケージを作成する手順 SAP HANA Studio:
ステップ1) このステップでは、
- HANAシステムを選択してください。ここではHDBです。
- コンテンツフォルダに移動してください。
ステップ2) このステップでは、
- [新規]を選択します。
- パッケージオプションを選択してください。
ステップ3) このステップでは、
- パッケージ名を入力してください。例:「DHK_SCHEMA」。
- パッケージの説明を入力してください。
- 原文言語と担当者はデフォルトで選択されています。
以下に示すように、「DHK_SCHEMA」という名前の非構造化パッケージがContentノードに作成されます。
ステップ4) 次に、非構造パッケージを構造パッケージに変換します。
- パッケージ「DHK_SCHEMA」を選択し、右クリックします。
- パッケージの「編集」オプションに移動してください。
ステップ5) このステップでは、
- 「構造オプション」欄で「はい」を選択してください。
- [OK]ボタンをクリックします。
「DHK_SCHEMA」が非構造パッケージから構造パッケージに変更されると、アイコンのスタイルが変わります。 〜へ
これは、非構造パッケージが構造パッケージに変換されたことを示しています。
構造パッケージの下に非構造パッケージをサブパッケージとして作成する手順:
パッケージはデフォルトでは非構造パッケージとして作成されます。非構造パッケージ内には、他のパッケージや情報オブジェクトを作成できます。まず構造パッケージを作成し、その中にサブパッケージを作成することをお勧めします。
ステップ1) このステップでは、
- 構造パッケージ「DHK_SCHEMA」を選択し、右クリックします。
- 「新規作成」→「パッケージ」を選択します。
ステップ2) このステップでは、
- 「名前」欄にサブパッケージ名を入力してください。
- 説明文を入力してください。
- 「OK」ボタンをクリックしてください。
DHK_SCHEMAパッケージのサブパッケージとして、新しい非構造化パッケージが作成されます。
情報ビューを有効化および検証する方法
ビューを保存しても、それは設計時リポジトリに保存されるだけで、アクティブ化されるまでは実行時オブジェクトは存在せず、レポートで読み取ることもできません。アクティブ化によって_SYS_BICスキーマの下に列ビューが生成され、生成されたオブジェクトがSQLツールやレポートツールが実際にクエリを実行する対象となります。
ステップ1)ビューを保存します。 Ctrl+Sを押して SAP HANA Studio。このビューは現在、非アクティブなデザインタイムオブジェクトとして存在し、コンテンツノードにひし形のオーバーレイが表示されています。
ステップ2)ビューをアクティブにします。 ビューを右クリックして「アクティブ化」を選択するか、Ctrl+F3キーを押します。「アクティブ化」を選択するとこのビューのみがデプロイされ、「再デプロイ」を選択すると、設計時の定義は変更されていないが生成されたオブジェクトが見つからない場合にランタイムオブジェクトが再構築されます。
ステップ3)ジョブログを読む。 ジョブログビューでは、アクティベーションバッチ内のすべてのオブジェクトについて、成功または失敗が報告されます。失敗したエントリにはオブジェクト名と理由が表示されるため、概要行だけに頼るのではなく、必ずエントリを展開してください。
ステップ4)データをプレビューする。 アクティブになっているビューを右クリックし、「データプレビュー」を選択します。「分析」タブでは、属性をラベル軸に、メジャーを値軸にドラッグして、結合によって期待どおりの行数が返されることを確認できます。
ステップ5)よくあるアクティベーションエラーを解決する。 ほとんどのケースで原因となっているのは以下の3つの故障です。
- スキーマに対する権限が不足しています。 _SYS_REPO には、基本テーブルを保持するスキーマに対する SELECT WITH GRANT OPTION 権限がありません。権限を付与して再度有効化してください。
- 無効な列名: ビューのモデリング後に、ベーステーブルの列名が変更または削除されました。データ基盤を更新し、フィールドを再マッピングしてください。
- 循環依存: 2つのビューが互いを参照しています。一方のビューを基となるテーブルに向けることで、ループを解消してください。
アクティベーションが成功すると、SELECT * FROM “_SYS_BIC”.”package/VIEW_NAME” を使用してビューを直接クエリできます。これは、レポートツールを接続する前にオブジェクトが存在することを確認する最も速い方法です。
SAP HANA パフォーマンス最適化テクニック
正しい結果を返すアクティブ化されたビューでも、処理速度が遅い場合があります。以下のルールは、計算エンジンがモデルを実行する方法を規定します。
- すべての情報ビューとテーブルビューは、投影ノードと組み合わせて使用する必要があります。投影ノードは、列セットを絞り込むことでパフォーマンスを向上させます。
- 投影ノードにフィルタを適用する。
- 計算ビューではノードの結合を避け、可能な限り代わりにユニオンを使用してください。
- 入力パラメータまたは変数を使用して、分析ビューまたは計算ビュー内のデータセットを制限します。
- 集計を行う前に計算を行う必要があります。
- 属性ビューの階層構造は計算ビューでは表示されないため、計算ビューでは階層構造を再定義する必要があります。
- 属性ビューの階層構造は、分析ビューで確認できます。
- 属性ビュー、分析ビュー、または計算ビューで定義された属性のラベルとメジャーの説明は、使用する計算ビューには表示されません。これらは再マッピングする必要があります。
- CE機能と SQLスクリプト 同じ情報モデル内で。
結合設計も実行時コストに影響します。参照結合は、適切なテーブルからフィールドが要求されない場合に完全に削除される可能性があります。 結合タイプの選択 ノード配置と同じくらい注目に値する。
計算ビューが属性ビューと分析ビューに取って代わった理由
SAP 非推奨の属性ビューと分析ビュー、XS Classic モデル、および SAP HANAリポジトリ。非推奨化が発表されました。 SAP HANA 1.0 SPS 12 および再定式化 SAP HANA 2.0 SPS 02。非推奨とは、引き続きサポートされていることを意味します。 SAP HANA 2.0 には引き継がれなかったが、 SAP HANAクラウド。
その理由は、機能の置き換えではなく統合にある。後続のサポートパッケージスタックは、他の2種類の機能を吸収するまで計算ビューを拡張していった。
- データカテゴリの計算ビュー 次元セマンティック層に投影ノードを持つこのノードは、属性ビューの役割を果たします。
- データカテゴリの計算ビュー キューブ スター結合と、セマンティック層に集約ノードを組み合わせることで、分析ビューの役割を果たします。
ビュータイプが1つということは、オプティマイザのパスが1つ、学習すべきモデリングパターンのセットが1つ、そして移行対象が1つであることを意味します。 SAP 既存の属性ビュー、分析ビュー、およびスクリプトベースの計算ビューをグラフィカルな計算ビューとテーブル関数に変換する移行ツールが付属しています。既存のビューは引き続き実行されるため、移行は急いで行うのではなく、スケジュールを組んで行うことができますが、新規開発は計算ビューから始める必要があります。









