本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に操作手順を解説いたします。内容は下記の通りです。
3. SAP Web IDEを設定し、プロジェクトを作成する
4. SAP Web IDEを使ってテーブルを作成し、データをロードする
5. SAP Web IDEを使ってInformation View (HANA View)を作成する
今回は「5. SAP Web IDEを使ってInformation View (HANA View)を作成する」です。
※ 正式名称は「Information View」なのですが、通称で呼ばれることが多いのでここでは「HANA View」と呼ぶことにします。
注意 : 掲載されているスクリーンショットはSAP社内環境のものです。本番環境とは差異がある可能性があります。予めご了承ください。
前回までWeb IDEを使ってテーブルを作成しました。今回はその続きの操作になります。
HANA Viewを作成する前に
まずは幾つかの専門用語を理解する必要があります。
ディメンションテーブル (Dimension Table) と ファクトテーブル (Fact Table) という用語です。
この2つの用語はBIやデータウェアハウス (DWH) の中でよく使われるもので、端的に言うと、
・ディメンションテーブル : マスターテーブル
・ファクトテーブル : 履歴テーブル (トランザクションテーブル)
と理解するとイメージが付き易いかと思います。
(ちょっと乱暴過ぎて、Analytics / DWH の専門家には怒られそうですが……)
今回の例では、
・ディメンションテーブル : customer テーブルとproducts テーブル (マスターテーブル)
・ファクトテーブル : orders テーブル (履歴テーブル)
として扱います。
HANA View 作成のステップとお作法、用語について
まず、マスターテーブルを元に「ディメンションビュー」を作成します。
ディメンションビューの元となるテーブルは単一テーブル、または複数のテーブルで構成します。いずれにしても「分析軸」となり得るマスターテーブルを「ビュー」として定義します。
その後、「ディメンションビュー」と「ファクトテーブル」を結合(Join)させるのですが、最終的に出来上がるビューを「キューブ(CUBE)」 と言います。
ルービックキューブのキューブと一緒で四角い箱のイメージです。
何で四角の箱なのか…… 現時点ではイメージし辛いと思いますが、まずはキーワードだけ憶えておいてください。
このキューブに対してAnalytics/BIツールからアクセスします。
全般的なお作法としての注意点ですが、設定の途中で「どの列を表示するのか」ということを適宜、意識する必要があります。DB専門用語で「Projection (射影)」を定義するのですが、そのためです。
「Projection (射影)」 はご存じの方も多いと思いますが、端的に言うと「テーブルから表示したい列を指定したもの」です。
HANA Viewを作成する – ディメンションビュー
それでは、まずはディメンションビューから作成します。
customers から始めましょう。
src フォルダを選択し、右クリックで「New」 > 「Calculation View」を選択します。これが「HANA View (通称) 」の作成のスタートになります。
customers テーブルをベースとするディメンションなので、「d_customers」とします。
Data Categoryには「DIMENSION」と指定します。
テンプレートのボックスが表示されたら「Projection」の「+」ボタンをクリックして、ベースとなるテーブルを選択します。
次に詳細設定のボタンをクリックして、customers テーブルからどの列をディメンションビューに表示させるかを指定します。
今回は全ての列を選択しますので、テーブル名を選択して、右側の「Output Columns」にDrag & Dropします。
設定できたら、Saveボタンをクリックして保存し、「Build」を行います。
そうです、HANA ViewをDBに作成します。
HANA Viewが無事に作成されて、確認したいところですが、先に進みます。
勢いに乗って、全く同じ要領で2つ目のティメンションビューを作成します。
src フォルダを選択し、右クリックで「New」 > 「Calculation View」を選択した後、下記の画面でproducts テーブルをベースとするディメンションビューなので「d_products」とします。
Data Categoryには「DIMENSION」と指定します。
「Projection 」の「+」ボタンをクリックして、ベースとなるテーブルを選択します。
次に詳細設定のボタンをクリックして、products テーブルからどの列をディメンションビューに表示させるかを指定します。
同様に全ての列を選択しますので、テーブル名を選択して、右側の「Output Columns」にDrag & Dropします。
設定できたら、Saveボタンをクリックして保存し、「Build」を行います。
順調ですね !!
HANA Viewを作成する – キューブ
続いて「マスターテーブルと履歴テーブルを結合したビュー」、いわゆる「キューブ」を作成します。
今まで同様、src フォルダを選択し、右クリックで「New」 > 「Calculation View」を選択してCalculation Viewを作成しますが、ビューのタイプが違います。
Data Categoryに「CUBE」を選択してください。ビューの名前は「v_orders」とします。
大事なことは「With Star Join」をチェックすることです。
次に左のメニューボタンから「Create Projection」をクリックして、そのまま、「Projection」ボックスを画面の通り移動させます。
次に「+」ボタンをクリックして、ファクトテーブルである、orders テーブルを選択します。
「Projection」の設定なので、前述のように表示させる列を選択します。
詳細設定のボタンをクリックして、ordersテーブルから表示する列を指定します。
今回も全ての列を選択しますので、テーブル名を選択して、右側の「Output Columns」にDrag & Dropします。
次に「矢印ボタン」をクリックしてDrag & Dropで「Star Join」 ボックスの「小さな丸」に持って行きます。矢印が引けました。
次に、「Star Join」ボックスを選択して、「+」ボタンをクリックします。
ここではファクトテーブルと結合するディメンション、すなわち、先ほど作成したd_customersとd_productsを選択します。
何やらイイ感じになってきました。画面が狭いので大きくしましょう。
こちらの画面ではテーブル(ビュー)間の関連付けを行います。まずは、ordersテーブルがベースのProjectionの「PRODUCTID」と d_products ビューの「PRODUCTID」を関連付けます。図のようにDrag & Dropで関連付けしてください。
同様にProjectionの「CUSTOMERID」とd_customersビューの「CUSTOMERID」を関連付けします。
次にMapping タブを選択して、表示対象の列を選択します。ここでも全ての列を選択するので「Projection_1」を選択して「Output Columns」にDrag & Dropします。
設定画面のサイズを元に戻します。
今度は「Semantics」ボックスを選択します。
ここでは各列の属性を設定したり、ビューに表示する項目(列)を最終決定する画面となります。
画面を再び大きくします。
まず、各列の「Type」を設定します。
ここでは、各列を「Attribute (アトリビュート)」か「Measure (メジャー)」のどちらかを設定します。
簡単に解説すると、「地域ごとの売上を見たい」、「製品ごとの売上を見たい」と言った時に、
「地域」や「製品」が「Attribute」になり、「売上」の数値が「Measure」になります。
Attributeは分析軸のことで、Measureは算出したい結果の数値になります。
まずは、Fact テーブルに含まれる列の属性を設定します。
「売上(NETSALES)」などの数値の列はMeasureになるので、それ以外の列は「Attribute」に設定します。
次にFact テーブルに含まれる列でビュー上に表示する列を最終決定します。
ここでは表示を簡易化するために上記で設定したAttributeの列を全部「非表示(Hidden)」に設定します。
次に「Shared」タブを選択して、ディメンションビューに含まれる列の設定を行います。
図のようにディメンションビューの各列は既に「Attribute」に設定されています。
なぜならば、ディメンションは「分析軸」になり得る列から構成されるからです。
ここでもディメンションビューに含まれる列でビューに表示する列の最終決定をします。
表示を簡易化するために「ID」系の列や「DESCRIPTION」系の列、そして、「DESCONTINUED」列を「非表示 (Hidden) 」に設定します。
これでHANA Viewの設定は完成です !!
HANA View にアクセスする
手間暇掛けて作成したHANA View にアクセスしてみましょう。ドキドキします。
Database Explorerで「Column Views」を選択し、「v_orders」ビューを選択します。
ビューの定義情報が表示されて、ビューの名前にもネームスペースが付与されていることが確認できます ( ビューの名前を設定する際にネームスペースが表示されていたことに気付いた方もいると思います) 。
「Open Data」ボタンをクリックしてデータを確認しましょう。
図のようにAttributeの列を「Label Axis(ラベル軸)」に、Measureの列を「Value Axis(値軸)」にDrag & Dropすると各軸毎にMeasureの数値が計算されます。
他にも軸を変えたり、グラフの種類を変えたりして、色々と試してみましょう。明細データを確認することもできます。
ただし、Part 2 でもお伝えしましたが、このツールはあくまでも簡易的なビジュアライズ画面なのでBI用途で使用するものではありません。過度な期待はしないようにお願いいたします。
いかがでしたでしょうか ?
え ? 苦労した割には Part 2 の SQL View と大差ない ?
……スルドイですね。その通りです。
今回はまずは「HANA Viewに馴染んでいただく」ことを目的にしているので、基本的な内容に留めています。
HANA View の奥深さを知るのはこれからです。
今後、HANA View でできること (SQL Viewではできないこと)や HANA View の便利な機能などもご紹介する予定です。
そして、今回のシリーズでは、まずは SAP HANA Cloud の基本的な操作をスコープとしましたが、
・作成したHANA View をテスト環境や本番環境にデプロイするにはどうするの ?
・ところでHDI って何なの !? そもそも何の略 ? モヤモヤする !!
・Relational Data Lake はどうなったの !? インスタンス作ったよ !!
・SAP Analytics Cloud (SAC) で HANA View にアクセスしたい !!
についても今後、ご紹介する予定です。
待ちきれない方はマニュアルを参照していただいても良いと思いますし、こちらのSAP HANA Academy (YouTube) を参考にしていただいても良いかと思います。
それでは、次回をお楽しみに !!
# お付き合いいただき、ありがとうございました !!