計算ビューとは何ですか?
SAP HANA計算ビューは、強力な情報ビューです。
SAP HANA Analytic viewメジャーは、一つのファクトテーブルからのみ選択できます。 情報ビューでより多くのファクトテーブルが必要な場合は、計算ビューが画像に表示されます。 計算ビューは複雑な計算をサポートします。
計算ビューのデータ基盤には、表、列ビュー、分析ビュー、および計算ビューを含めることができます。
データソースに結合、共用体、集計、投影を作成できます。
計算ビューには複数のメジャーを含めることができ、多次元レポートに使用することも、リストタイプのレポートで使用するメジャーを使用しないこともで
SAP HANA計算ビューの特性は以下のとおりです–
- サポート複雑な計算。
- OLTPおよびOLAPモデルをサポートします。
- サポート顧客の処理、言語、通貨の転換。
- ユニオン、投影、集計、ランクなどをサポートします。
SAP HANA計算ビューは二つのタイプがあります–
- SAP HANAグラフィカル計算ビュー(SAP HANA Studioグラフィカルエディタによって作成されます)。
- SAP HANAスクリプトベースの計算ビュー(SAP HANA StudioによるSQLスクリプトによって作成されます)。
SAP HANAグラフィカル計算ビュー
SAP HANA分析ビューでは、1つのテーブルからのみメジャーを選択できます。 したがって、別のテーブルからのメジャーを含むビューの要件がある場合、分析ビューではなく計算ビューでは達成できません。したがって、この場合、各テーブルに2つの異なる分析ビューを使用し、それらを計算ビューに結合できます。
2つの分析ビュー”AN_PURCHASE_ORDER”と”AN_FI_DOCUMENT”を結合して、グラフィカルな計算ビュー”CA_FI_LEDGER”を作成します。
CA_FI_LEDGERには、発注書に関連する財務伝票の詳細が表示されます。
ステップ1)このステップで,
- パッケージ(ここでモデリング)に移動し、右クリックします。
- 新しいオプションを選択します。
- 計算ビューを選択します。
計算ビューエディタが表示され、シナリオパネルは以下のように表示されます–
シナリオパネルの詳細は以下の通りです–
- パレット:このセクションには、計算ビューを作成するためのソースとして使用できる以下のノードが含まれています。
5つの異なるタイプのノードがあり、それらは
- Join:このノードは2つのソースオブジェクトを結合し、結果を次のノードに渡すために使用されます。 結合タイプは、内部、左外部、右外部、およびテキスト結合にすることができます。注:結合ノードに追加できるのは2つのソースオブジェクトのみです。
- Union:これは、複数のソース間でunion all操作を実行するために使用されます。 ソースはn個のオブジェクトにすることができます。
- 投影:これは、列を選択し、データをフィルタリングし、次のノードで使用する前に追加の列を作成するために使用されますunion、aggregation、rank。
: 投影ノードには1つのソースオブジェクトしか追加できません。
- 集計:選択した属性に基づいて特定の列に対して集計を実行するために使用されます。Rank:これはSQLのRANK関数の正確な置換です。 要件に基づいてpartition句とorder by句を定義できます。
2)
- パレットから投影ノードをクリックし、発注書分析ビューからシナリオ領域にドラッグアンドドロップします。 “Projection_Po”に名前を変更しました。
- パレットから投影ノードをクリックし、FIドキュメント分析ビューのシナリオ領域にドラッグアンドドロップします。 “Projection_Fi”に名前を変更しました。
- 分析ビュー”AN_PUCHASE_ORDER””AN_FI_DOCUMENT”とコンテンツフォルダから投影ノードと”Projection_Fi”にそれぞれドラッグアンドドロップします。
- パレットからノードの結合をクリックし、シナリオ領域にドラッグアンドドロップします。
- Projection_PoノードをJoin_1ノードに結合します。
- Projection_FiノードをJoin_1ノードに結合します。
- パレットから集計ノードをクリックし、シナリオ領域にドラッグアンドドロップします。
- Join_1ノードを集約ノードに結合します。
計算ビューを作成するために、2つの分析ビューを追加しました。
ステップ3)集約の下のJoin_1ノードをクリックすると、詳細セクションが表示されるのを見ることができます。
- 出力のためにProjection_Poノードからすべての列を選択します。
- Projection_Fiノードからすべての列を選択して出力します。
- Projection_Poノードを列
Projection_PoのProjection_Fiノードに結合します。 PO_NUMBER=PROJECTION_FIです。PO_NO.
ステップ4)このステップの,
- 集計ノードをクリックすると、ペインの右側に詳細が表示されます。
- 詳細ウィンドウの右側に表示されるJoin_1から出力する列を選択します。
ステップ5)Semanticsノードをクリックします。
詳細画面が以下のように表示されます。 列の属性とメジャータイプを定義し、この出力のキーをマークします。
- 属性とメジャーを定義します。
- Po_NumberとCOMPANYをキーとしてマークします。
- acc_DOC_NOをキーとしてマークします。
ステップ6)ウィンドウの上部バーから計算ビューを検証して有効化します。
- [検証]アイコンをクリックします。
- アクティブ化アイコンをクリックします。
計算ビューが有効になり、以下のようにモデリングパッケージの下に表示されます–
計算ビューを選択して右クリック->データプレビュー
二つの分析ビューを追加し、両方の分析ビューからメジャー(TAX_AMOUNT,GROSS_AMOUNT)を選択しました。
データプレビュー画面は以下のように表示されます–
計算エンジン計画演算子(CE演算子)とも呼ばれるCE関数は、SQLステートメントの代わりに使用されます。
CE関数は二つのタイプです–
データソースアクセス関数
この関数は、列テーブルまたは列ビューをテーブル変数にバインドします。
以下は、いくつかのデータソースアクセス関数のリストです–
- CE_COLUMN_TABLE
- CE_JOIN_VIEW
- CE_OLAP_VIEW
- CE_CALC_VIEW
関係演算子関数
関係演算子を使用すると、評価中にSQLプロセッサをバイパスし、計算エンジンと直接通信できます。
以下は、いくつかの関係演算子関数のリストです–
- CE_JOIN(これは、2つのソース間の内部結合を実行し、
必要な列/データを読み取るために使用されます。)
- CE_RIGHT_OUTER_JOIN(これは、2つのソース
間の右外部結合を実行し、照会された列を出力に表示するために使用されます。)
- CE_LEFT_OUTER_JOIN(ソース間の左外部結合を実行し、
クエリされた列を出力に表示するために使用されます)。
- CE_PROJECTION(この関数は、ソースの特定の列を表示し、
フィルターを適用してデータを制限します。 列名の別名機能も提供します。)
- CE_CALC(ビジネス要件に基づいて追加の列を計算するために使用されます。
これは、グラフィカルモデルの計算列と同じです。)
以下は、いくつかの例を持つCE関数を持つSQLのリストです-
クエリ名 | SQLクエリ | CE-ビルドイン関数 |
---|---|---|
列テーブルのクエリを選択 | “COLUMN_TABLE”からC、Dを選択します。 | CE_COLUMN_TABLE(“COLUMN_TABLE”,) |
属性ビューのクエリを選択 | “ATTRIBUTE_VIEW”からC、Dを選択 | CE_JOIN_VIEW(“ATTRIBUTE_VIEW”,) |
分析ビューのクエリを選択 | SELECT C,D,SUM(E)From”ANALYTIC_VIEW”Group By C,D | CE_OLAP_VIEW(“ANALYTIC_VIEW”,) |
計算ビューのクエリを選択します | “CALCULATION_VIEW”からC、D、SUM(E)を選択しますC、Dによるグループ | CE_CALC_VIEW(“CALCULATION_VIEW”,) |
がC、Dを選択している場合, “ANALYTIC_VIEW”からのSUM(E)Where C=’value’ | Var1=CE_COLUMN_TABLE(“COLUMN_TABLE”); CE_PROJECTION(:var1,,”C”=”value”); CE_PROJECTION(:var1,,”C”=”value”/ |