SAP HANA 計算ビューチュートリアル
計算ビューとは何ですか?
SAP HANA 計算ビューは強力な情報ビューです。
SAP HANA 分析ビューのメジャーは、1 つのファクト テーブルからのみ選択できます。情報ビューでさらに多くのファクト テーブルが必要な場合は、計算ビューが役立ちます。計算ビューは複雑な計算をサポートします。
計算ビューのデータ基盤には、テーブル、列ビュー、分析ビュー、計算ビューを含めることができます。
作成できます ジョイン、データ ソースのユニオン、集計、およびプロジェクション。
計算ビューには複数のメジャーを含めることができ、多次元レポートに使用することも、リスト タイプのレポートで使用されるメジャーを使用しないこともできます。
の特徴 SAP HANAの計算ビューは以下のとおりです –
- 複雑な計算をサポートします。
- OLTP および OLAP モデルをサポートします。
- クライアントの処理、言語、通貨換算をサポートします。
- 結合、投影、集計、ランクなどをサポートします。
SAP HANA計算ビューには2つのタイプがあります。
- SAP HANAグラフィカル計算ビュー(作成者: SAP HANA Studio グラフィカル エディター)。
- SAP HANAスクリプトベースの計算ビュー(SQLスクリプトによって作成) SAP ハナスタジオ).
SAP HANA グラフィカル計算ビュー
In SAP HANA分析ビュー、メジャーは XNUMX つのテーブルからのみ選択できます。
したがって、別のテーブルのメジャーを含むビューの要件がある場合、分析ビューでは実現できず、計算ビューで実現できます。
したがって、この場合、テーブルごとに XNUMX つの異なる分析ビューを使用し、それらを計算ビューで結合できます。
2 つの分析ビュー「AN_PURCHASE_ORDER」と「AN_FI_DOCUMENT」を結合して、グラフィカル計算ビュー「CA_FI_LEDGER」を作成します。
CA_FI_LEDGER は、発注書に関連する財務文書の詳細を表示します。
ステップ1) このステップでは、
- パッケージ (ここではモデリング) に移動し、右クリックします。
- 新しいオプションを選択します。
- 「計算ビュー」を選択します。
計算ビューエディタが表示され、シナリオパネルが以下のように表示されます。
シナリオパネルの詳細は以下の通りです –
- パレット: このセクションには、計算ビューを構築するためのソースとして使用できる以下のノードが含まれています。
5 種類のノードがあります。
- 参加: このノードは、XNUMX つのソース オブジェクトを結合し、結果を次のノードに渡すために使用されます。 結合タイプには、内部結合、左外部結合、右外部結合、およびテキスト結合があります。注意: 結合ノードに追加できるソース オブジェクトは XNUMX つだけです。
- 連合: これは、複数のソース間ですべての結合操作を実行するために使用されます。ソースは n 個のオブジェクトにすることができます。
- 投影: これは、結合、集計、ランクなどの次のノードで使用する前に、列の選択、データのフィルター、追加の列の作成に使用されます。注意: Projection ノードにはソース オブジェクトを XNUMX つだけ追加できます。
- 集計: これは、選択した属性に基づいて特定の列で集計を実行するために使用されます。
- ランク: これは、SQL の RANK 関数を正確に置き換えるものです。 要件に基づいてパーティションと order by 句を定義できます。
ステップ2)
- パレットから [投影] ノードをクリックし、発注書の分析ビューからシナリオ エリアにドラッグ アンド ドロップします。 名前を「Projection_PO」に変更します。
- パレットから [投影] ノードをクリックし、FI ドキュメント分析ビューのシナリオ領域にドラッグ アンド ドロップします。 名前を「Projection_FI」に変更します。
- 分析ビュー「AN_PUCHASE_ORDER」「AN_FI_DOCUMENT」を Content フォルダーから Projection ノードと「Projection_FI」にそれぞれドラッグ アンド ドロップします。
- パレットから「ノードの結合」をクリックし、シナリオエリアにドラッグ&ドロップします。
- Projection_PO ノードを Join_1 ノードに結合します。
- Projection_FI ノードを Join_1 ノードに結合します。
- パレットから集計ノードをクリックし、シナリオエリアにドラッグ&ドロップします。
- Join_1 ノードを Aggregation ノードに結合します。
計算ビューを作成するために、XNUMX つの分析ビューを追加しました。
ステップ3) 集計の下の Join_1 ノードをクリックすると、詳細セクションが表示されます。
- 出力のために Projection_PO ノードからすべての列を選択します。
- 出力のために Projection_FI ノードからすべての列を選択します。
- columnProjection_PO で Projection_PO ノードを Projection_FI ノードに結合します。 PO_Number = 投影 FI.PO_NO。
ステップ4) このステップでは、
- 集計ノードをクリックすると、ペインの右側に詳細が表示されます。
- 詳細ウィンドウの右側に表示される Join_1 から出力する列を選択します。
ステップ5) ここで、「セマンティクス ノード」をクリックします。
以下のように詳細画面が表示されます。列の属性とメジャータイプを定義し、この出力のキーをマークします。
- 属性と測定値を定義します。
- PO_Number と COMPANY をキーとしてマークします。
- ACC_DOC_NO をキーとしてマークします。
ステップ6) ウィンドウの上部バーから、計算ビューを検証してアクティブにします。
- 「検証」アイコンをクリックします。
- 「アクティブ化」アイコンをクリックします。
計算ビューがアクティブになり、以下のようにモデリング パッケージの下に表示されます。
計算ビューを選択し、右クリック -> データ プレビュー
XNUMX つの分析ビューを追加し、両方の分析ビューからメジャー (TAX_AMOUNT、GROSS_AMOUNT) を選択します。
以下のようにデータプレビュー画面が表示されます。
CE 機能は計算エンジン計画とも呼ばれます Operaトール (CE Operators) は SQL ステートメントの代替です。
CE機能はXNUMX種類 –
データソースアクセス機能
この関数は、列テーブルまたは列ビューをテーブル変数にバインドします。
以下はデータソースアクセス関数のリストです –
- CE_COLUMN_TABLE
- CE_JOIN_VIEW
- CE_OLAP_VIEW
- CE_CALC_VIEW
リレーショナル Operaトル関数
リレーショナルを使用する Operaユーザーは、 SQL 評価中にプロセッサと直接通信し、計算エンジンと直接通信します。
以下はリレーショナルです Operator 機能一覧 –
- CE_JOIN (XNUMX つのソース間で内部結合を実行し、必要な列/データを読み取るために使用されます。)
- CE_RIGHT_OUTER_JOIN (XNUMX つのソース間で右外部結合を実行し、クエリされた列を出力に表示するために使用されます。)
- CE_LEFT_OUTER_JOIN (ソース間で左外部結合を実行し、クエリされた列を出力に表示するために使用されます)。
- CE_PROJECTION (この関数は、ソースから特定の列を表示し、フィルターを適用してデータを制限します。列名のエイリアス機能も提供します。)
- CE_CALC (ビジネス要件に基づいて追加の列を計算するために使用されます。これは、グラフィカル モデルの計算列と同じです。)
以下は、 SQL CE 機能といくつかの例-
クエリ名 | SQLクエリ | CEビルトイン機能 |
---|---|---|
列テーブルのクエリを選択 | 「COLUMN_TABLE」から C、D を選択します。 | CE_COLUMN_TABLE(“COLUMN_TABLE”,[C,D]) |
属性ビューでクエリを選択 | 「ATTRIBUTE_VIEW」から C、D を選択します | CE_JOIN_VIEW(“ATTRIBUTE_VIEW”,[C,D]) |
分析ビューでクエリを選択します | 「ANALYTIC_VIEW」から SELECT C、D、SUM(E) C、D ごとにグループ化 | CE_OLAP_VIEW(“ANALYTIC_VIEW”,[C,D]) |
計算ビューでクエリを選択 | 「CALCULATION_VIEW」から C、D、SUM(E) をグループ化して C、D を選択します | CE_CALC_VIEW(“CALCULATION_VIEW”,[C,D]) |
どこにあるのか | SELECT C, D, SUM(E) From “ANALYTIC_VIEW” ここで C = '値' | Var1= CE_COLUMN_TABLE(“COLUMN_TABLE”); CE_PROJECTION(:var1,[C,D],”C” =”値”/ |