属性ビュー SAP HANA: どうやって作るの?

⚡ スマートサマリー

属性ビュー SAP HANAモデルでは、マスタデータを再利用可能なディメンションとして扱い、PRODUCTやPRODUCT_DESCなどのテーブルを結合することで、レポートではメジャーや集計を行わずに、キーと並んで説明テキストを読み取ることができます。

  • 🧱 目的: 属性ビューはマスタデータのコンテキストを提供し、キーフィールドと非キーフィールドにテキストまたは説明を表示します。
  • ♻️ 再利用: 有効化された属性ビューは、分析ビューと計算ビューの両方で使用できます。
  • 🗂️ タイプ: 標準、時間、派生ビューがあり、読み取り専用の派生ビューの編集可能な代替手段として「コピー元」が用意されています。
  • 🛠️ ビルド: データ基盤上のテーブルを削除し、PRODUCT_IDで結合し、キーをマークし、検証してから、アクティブ化します。
  • 🔍 プレビュー: データプレビューでは、分析、一意の値、生データタブ、またはプレーンなSQL出力が提供されます。
  • 🏛️ ランタイム: アクティベーションによって_SYS_BICスキーマの下に列ビューが生成され、すべてのクエリはこのビューを実際に読み取ります。

属性ビューモデリング SAP ハナスタジオ

属性ビューとは何ですか SAP ハナ?

属性ビュー SAP HANAはディメンションのように機能します。複数のテーブルを結合し、他のビューのマスタデータとして動作し、再利用可能なオブジェクトです。

属性ビューには、以下のような利点があります。

  • これはマスターデータコンテキストとして機能し、キーフィールドと非キーフィールドにテキストまたは説明を提供します。
  • それは再利用できます 分析的視点計算ビュー.
  • これは、データベーステーブルから列と行のサブセットを選択します。
  • 属性(フィールド)は、複数のテーブルのフィールドから計算できます。
  • 計測機能も集計機能もありません。

属性ビューの種類

属性ビューには3つのタイプがあり、作成ダイアログでタイプを選択します。

属性ビューのタイプ 詳細説明
スタンダード 以下のチュートリアルで使用される、テーブルフィールドから構築された標準ビュー。
時間 デフォルトの時刻表に基づいています。グレゴリオ暦:M_TIME_DIMENSION、M_TIME_DIMENSION_YEAR、M_TIME_DIMENSION_MONTH、M_TIME_DIMENSION_WEEK。会計年度:M_FISCAL_CALENDAR。
派生 既存の属性ビューから派生したものです。読み取り専用で開き、説明文のみ編集可能です。

からコピー 同じダイアログ内で、既存のビューをコピーしてビューを定義することもできます。違いは重要です。派生ビューでは説明のみ編集できますが、コピーしたビューは完全に変更できます。

属性ビューを作成する方法 SAP HANA

標準ビューの作成は、テーブルの作成からデータプレビューまで、以下の定義済みの手順に従って行われます。

標準属性ビューの作成のための事前定義された手順 SAP HANA

属性ビューのテーブルの作成

ここでは製品テーブル用の標準​​属性ビューが構築されるため、まず以下のスクリプトを使用して「PRODUCT」テーブルと「PRODUCT_DESC」テーブルが作成されます。

商品テーブルスクリプト –

CREATE	 COLUMN TABLE "DHK_SCHEMA"."PRODUCT"
(	
"PRODUCT_ID"	NVARCHAR (10) PRIMARY KEY,								
"SUPPLIER_ID"	NVARCHAR (10),				
"CATEGORY" NVARCHAR (3),				
"PRICE"	 DECIMAL (5,2)
);		

INSERT	INTO "DHK_SCHEMA"."PRODUCT" VALUES ('A0001','10000','A', 500.00);																	
INSERT	INTO "DHK_SCHEMA"."PRODUCT" VALUES ('A0002','10000','B', 300.00);																	
INSERT INTO "DHK_SCHEMA"."PRODUCT" VALUES ('A0003','10000','C', 200.00);																	
INSERT	INTO "DHK_SCHEMA"."PRODUCT" VALUES ('A0004','10000','D', 100.00);																	
INSERT	INTO "DHK_SCHEMA"."PRODUCT" VALUES ('A0005','10000','A', 550.00);

製品説明表スクリプト –

CREATE COLUMN TABLE "DHK_SCHEMA"."PRODUCT_DESC"									
(	
"PRODUCT_ID" NVARCHAR (10) PRIMARY KEY,								
"PRODUCT_NAME" NVARCHAR (10)				
);

INSERT INTO	"DHK_SCHEMA"."PRODUCT_DESC"	VALUES ('A0001','PRODUCT1');															
INSERT INTO	"DHK_SCHEMA"."PRODUCT_DESC"	VALUES ('A0002','PRODUCT2');															
INSERT INTO	"DHK_SCHEMA"."PRODUCT_DESC"	VALUES ('A0003','PRODUCT3');															
INSERT INTO	"DHK_SCHEMA"."PRODUCT_DESC"	VALUES ('A0004','PRODUCT4');															
INSERT INTO	"DHK_SCHEMA"."PRODUCT_DESC"	VALUES ('A0005','PRODUCT5');

両方のテーブルがスキーマ「DHK_SCHEMA」に存在するようになったので、モデリングの手順を開始できます。

属性ビューの作成

ステップ1) まず SAP HANAシステムの場合、以下に示すようにコンテンツノードを下方向にたどります。

  1. コンテンツフォルダを選択してください。
  2. DHK_SCHEMA の下にある非構造パッケージ MODELLING を選択し、右クリックして [新規] を選択します。
  3. 「属性表示」オプションを選択してください。

MODELLING パッケージの [新しい属性ビュー] を右クリックします。 SAP ハナスタジオ

ステップ2) 下記の作成ダイアログにビュー情報を入力してください。

  1. 属性ビュー名とラベルを入力してください。
  2. ビューの種類を選択してください。ここでは「属性ビュー」を選択します。
  3. サブタイプとして「標準」を選択してください。
  4. [完了]ボタンをクリックします。

属性ビュー作成ダイアログ(名前、ビュータイプ、標準サブタイプを含む)

ステップ3) ビューエディタ画面を確認してください。情報ビューエディタが開きます。番号の付いた各項目について、以下に説明します。

  1. シナリオペイン:セマンティクスとデータが含まれています Foundation ノード。
  2. 詳細ペイン:列、ビュープロパティ、階層の各タブが含まれています。
  3. セマンティクスノード:ビューの出力構造。ここでは次元を表す。
  4. Rescale データ Foundation node: ビューを定義するテーブルがここに配置されます。
  5. 詳細ペインのタブが表示されます。
  6. ローカル:ローカル属性の詳細をすべて表示します。
  7. 表示:ローカル属性でフィルタリングします。
  8. 選択された属性の詳細。
  9. ツールバー:パフォーマンス分析、列の検索、検証、有効化、データプレビュー。

シナリオペイン、詳細ペイン、ツールバーを表示する情報ビューエディタ

ステップ4) データをクリック Foundation ノードにデータベーステーブルを含めるように設定し、以下の手順に従ってください。

  1. DHK_SCHEMA の下の TABLE ノードからテーブル「PRODUCT」と「PRODUCT_DESC」をドラッグします。
  2. データに「PRODUCT」と「PRODUCT_DESC」をドロップします Foundation ノード。
  3. 出力として「PRODUCT」のフィールドを選択すると、フィールドアイコンが灰色からオレンジ色に変わります。
  4. 同様の方法で、「PRODUCT_DESC」のフィールドを出力として選択します。
  5. 両方のテーブルからの出力フィールドは、出力ペインの列リストに表示されます。

PRODUCTテーブルとPRODUCT_DESCテーブルがデータ基盤ノード上に削除されました

「PRODUCT」テーブルと「PRODUCT_DESC」テーブルを「PRODUCT_ID」フィールドで結合します。

ステップ5) 結合パスを選択し、右クリックして「編集」を選択します。「結合条件の編集」画面が表示されます。

  1. 結合タイプとして「内部結合」を選択してください。
  2. カーディナリティ「1..1」を選択してください。

内部結合タイプと1..1カーディナリティの編集結合条件画面

確認するには「OK」をクリックしてください。その他 SAP 花が参加 参照結合やテキスト結合などの型は、同じダイアログで設定されます。

ステップ6) 列を選択し、出力キーを定義します。

  1. 「セマンティクス」ノードを選択します。
  2. 詳細ペインに「列」タブが表示されます。
  3. キーとして「PRODUCT_ID」を選択します。
  4. PRODUCT_DESC のフィールド PRODUCT_ID_1 の非表示設定を確認してください。
  5. [検証]ボタンをクリックします。
  6. 認証が成功したら、「有効化」ボタンをクリックしてください。

セマンティクス列タブでは、PRODUCT_IDをキーとして設定し、PRODUCT_ID_1を非表示にしています。

画面下部のジョブログセクションには、検証と有効化の結果が表示されます。

ジョブログセクションで検証とアクティベーションの成功を報告

ステップ7) 属性ビュー「AT_PRODUCT」が作成されました。属性ビューフォルダを更新して確認してください。

  1. DHK_SCHEMA->MODELLING パッケージに移動してください。
  2. AT_PRODUCTは「属性ビュー」フォルダに表示されます。

AT_PRODUCT は、MODELLING パッケージの Attribute View フォルダーにリストされています。

ステップ8) データを確認します。ツールバーの「データプレビュー」を選択すると、以下に示すように2つのオプションが表示されます。

  • 分析オプションを有効にした状態で、データプレビューエディターで開きます。
  • SQLエディタで、クエリの出力のみを表示して開きます。

データプレビューメニューには、データプレビューエディターとSQLエディターが用意されています。

ステップ9) 表示データを確認してください。プレビューエディタには、「分析」、「個別値」、「生データ」の3つのタブがあります。

分析 これは属性ビューのグラフィカルな表現です。

  1. ラベル軸と値軸の属性を選択します。
  2. ラベル軸上の属性がX軸に表示されます。
  3. 値軸上の属性がY軸に表示されます。
  4. 出力形式は、グラフ、表、グリッド、HTMLから選択可能です。

分析タブのグラフ属性ビューでは、ラベル軸と値軸にデータが表示されます。

明確な値 選択した属性のレコード数とともに、列の重複しない値を一覧表示します。

「固有値」タブには、固有のエントリとレコード数が一覧表示されます。

Rawデータ 属性ビューのデータを表形式で表示します。

  1. 「生データ」タブをクリックします。
  2. データは表形式で表示されます。

生データタブには、属性ビューレコードがテーブル形式で表示されます。

ステップ10) 同じプレビューメニューで選択したSQLエディタからデータを確認してください。

データプレビューメニューの「SQLエディターで開く」オプション

このオプションは、「AT_PRODUCT」がアクティブ化されたときに「_SYS_BIC」スキーマで生成された列ビューを読み取るため、エディタには次の情報も表示されます。 SQL 使用された文。

  1. データ選択に使用されたSQLクエリが表示されます。
  2. 出力結果が表示されます。

生成されたSELECT文とその結果セットを表示するSQLエディタ

そのため、すべてのデータプレビューは、設計時オブジェクトではなく、_SYS_BIC からデータを読み取ります。以下のスクリーンショットは、カタログノード内の該当スキーマの下にある列ビュー「AT_PRODUCT」を示しています。

カタログノードの_SYS_BICスキーマの下にある列ビューAT_PRODUCT

計画に関する注意点:属性ビューは非推奨となっているため、現在のリリースでは同じディメンションがデータカテゴリディメンションの計算ビューとして構築されます。上記の手順は、既存のコンテンツにも引き続き適用されます。 SAP ハナスタジオ、より広い SAP HANAモデリング 交換部品には材料が使用されています。

よくあるご質問

データカテゴリ ディメンションのグラフィカル計算ビュー。属性ビューは非推奨であり、新しい計算ビューに追加することはできません。 SAP HANA Cloudは計算ビューのみをサポートしているため、移行前にコンテンツを変換する必要があります。

時刻表は最初は空です。クイック起動ビューで時刻データを生成すると、選択した範囲のM_TIME_DIMENSIONとその年、月、週のテーブル、または会計カレンダーのM_FISCAL_CALENDARにデータが入力されます。

2つあり、どちらも「階層」タブで作成します。レベル階層は、国、地域、都市などの順序付けられたレベルを固定します。親子階層は、親列から深さを導き出し、コストセンターに適しています。

モデラーには、パッケージ権限とソーススキーマに対するSELECT権限が必要です。_SYS_REPOには、GRANTオプション付きのSELECT権限が必要です。そうでない場合、アクティベーションは失敗します。コンシューマーには、_SYS_BICに対するSELECT権限と分析権限が必要です。

アクティベーションは成功しましたが、ランタイムオブジェクトが読み取れません。通常、ユーザーは生成された_SYS_BIC列ビューに対するSELECT権限を持っていないか、または 分析特権 要求された行をカバーしています。

はい、モデラーと_SYS_REPOが各スキーマに対してSELECT権限を保持している場合に限ります。クロススキーマモデルは通常、シノニムまたは専用スキーマを指すため、トランスポートの移植性が維持されます。

機械学習は、重複するマスターレコードを照合し、不足している説明を提案し、製品を分類します。属性ビューはクリーンなキーとテキストを公開するため、これらのモデルやデータベース内の予測サービスにとって便利な入力となります。

これは、ビューに関連するコード(DDL、テストデータ、CDSまたはHDIアーティファクトなど)の作成に役立ちます。グラフィカルモデリングは手動で行う必要があり、生成されたSQLは実際のスキーマと権限に対してチェックする必要があります。