本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に、Free Trial 環境を使用した操作手順を解説します。
本内容は「
DBエンジニア」向けの内容になります。
今回は「
Calculation View (HANA View)を作成する」方法についてご紹介します。
※ 正式名称は「Calculation View」なのですが、通称で呼ばれることが多いのでここでは「
HANA View」と呼ぶことにします。
前回、BASを使ってテーブルを作成し、CSVデータをロードしました。今回はその続きの操作になります。
下記の図の通り、3つのテーブルをキーでジョインして、あたかも一つのテーブルのように見せる、いわゆる、「
ビュー(仮想テーブル)」を作成します。

通常のSQL 文を使ったビューも作成できますが、今回は
様々な機能が利用できるHANA Viewを作成します。
どのようなステキな機能があるのかはまた別の機会に説明しますが、今回はSQL ビューに慣れた方にも馴染みやすい、簡単な内容で操作をご紹介したいと思います。
また、今回のビューは売上数値など、レポートや分析のために使われる値を含むビューを作成するので、「
キューブ」というタイプのビューを作成します。
(参考までに、マスターテーブルなどの分析軸となりえるタイプのビューを作成する時は「
ディメンション」タイプのビューを作成します。)
HANA Viewを作成する - キューブ
今まで同様の手順で定義ファイルを作成しますが、今回はHANA Viewを作成しますので、「
Artifact Type」に「
Calculation View」を選択します。入力ボックスに「
calc」と入力するとCalculation View がリスト表示されます。



ビューの名前は「
V_ORDERS」として、Data Categoryに「
CUBE」を選択してください。
今回は簡易的なビューを作成するため、「
Use Star Join ? 」は「
No」をチェックした後、「
Create」ボタンをクリックします。

左のツリーでファイルを選択すると、HANA Viewの作成画面が表示されます。
左のメニューボタンから「
Create Join」ボタンをクリックして、そのまま、「
Aggregation」ボックス配下に「
Join」ボックスをセットします。

次に「+」ボタンをクリックして、結合するテーブルを選択します。

検索ボックスにワイルドカードを意味する「**」を入力して、全テーブルを表示させた後、CUSTOMERS, PRODUCTS, ORDERS の3つのテーブルをチェックして追加してください。

次に詳細設定のボタンをクリックして、テーブル間の結合条件などを設定します。

まず、CUSTOMERSテーブルの「
CUSTOMERID」列とORDERSテーブルの「
CUSTOMERID」列を関連付けします。
列を選択後、矢印ボタンをクリックして、もう一方のテーブルの列に対してDrag & Drop します。
同様にPRODUCTSテーブルの「
PRODUCTID」列とORDERSテーブルの「
PRODUCTID」列も同様の操作で関連付けします。



次に画面上部の「
Mapping」タブを選択し、表示対象の列を選択します。Drag & Drop で列を選択しますが、今回はテーブルを選択して全列を指定します。
「
CUSTOMERS」、「
PRODUCTS」、「
ORDERS」の順番にマスターテーブル系から選択することをお薦めします。



全てのテーブルの列をDrag & Dropしたら、
ORDERSテーブルの「
PRODUCTID_1」列と「
CUSTOMERID_1」列は他のテーブルの列と同じ値になるので表示対象列から除外します。
図の通り、列を選択してゴミ箱アイコンをクリックしてください。
※複数列を選択する場合はShiftキーを押しながら対象列を選択します。

続いて、左側のボックス画面に戻って、「
矢印ボタン」をクリックしてDrag & Dropで「
Aggregation」 ボックスの「
小さな丸」に持って行きます。矢印が引けました。

「
Aggregation」ボックスを選択して、表示する列を設定します。ここでも結合した全てのデータを表示させるために「
Join_1」を選択し、Drag & Drop で右側のボックスに移動させます。


続いて、左側のボックス画面に元って、「
Semantics」ボックスを選択します。
右側に表示された画面にて、各列の属性を定義します。

まず、各列の「
Type」を設定します。
ここでは、各列を「
Attribute (アトリビュート)」か「
Measure (メジャー)」のどちらかを設定します。
簡単に解説すると、「地域ごとの売上を見たい」、「製品ごとの売上を見たい」と言った時に、
「地域」や「製品」が「Attribute」になり、
「売上」の数値が「Measure」になります。
Attributeは「分析軸」のことで、Measureは「集計結果の数値」になります。

マスターテーブル(CUSTOMERS, PRODUCTS) のデータは基本的に全て分析軸になり得るので、
Attribute マークになっていない列をチェックした後、
Attributeアイコンをクリックします。
(各列の設定情報は図を参考にしてください)

続いて、トランザクションテーブル(ORDERS) に含まれる列の属性を設定します。図の通り、
集計対象外の列をチェックして、Attributeアイコンをクリックします。

続いて、ビューで表示する列を
最終決定します。
ここでは表示を簡易化するために図のように「
ID」系の列や「
DESCRIPTION」系の列、そして、「
DESCONTINUED」列を「
非表示 (Hidden) 」に設定します。


最後に表示対象の列に日本語の列名を指定します。


設定は以上です。お疲れ様でした !
それではDeployしましょう。対象のファイルを選択して「Deploy」アイコンをクリックします。

HANA View にアクセスする
手間暇掛けて作成したHANA View にアクセスしてみましょう。
Database Explorerで「
Column Views」を選択し、「
V_ORDERS」ビューを右クリックして「
Open Data」を選択します。

図のようにAttributeの列を「Label Axis(ラベル軸)」に、Measureの列を「Value Axis(値軸)」にDrag & Dropすると各軸毎にMeasureの数値が計算されます。
他にも軸を変えたり、グラフの種類を変えたりして、色々と試してみましょう。明細データを確認することもできます。


ただし、このツールはあくまでも簡易的なビジュアライズ画面なのでBI用途で使用するものではありません。過度な期待はしないようにお願いいたします。
また、日本語指定した列名ですが、このツールでは元々の英数字の列名が表示されます。日本語列名が表示されるのは後の手順で出てきますので、今しばらくお待ちください。
いかがでしたでしょうか ?
今回はまずは「
HANA Viewに馴染んでいただく」ことを目的にしているので、基本的な内容に留めています。
今後、HANA View でできること (SQL Viewではできないこと)や HANA View の便利な機能などもご紹介する予定です。
待ちきれない方は
こちらのマニュアル参照していただけたらと思います。
それでは、次回をお楽しみに !!
次回 :
ロール作成とユーザーへの付与
参考 :
SAP Analytics CloudとSAP HANA Cloudとの連携