Skip to Content
Technical Articles

はじめてのSAP HANA Cloud : Part 2 ~ テーブルとビューの作成

本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に操作手順を解説いたします。内容は下記の通りです。

 

1. HANAインスタンスを作成する

2. テーブルとビュー(SQL View)を作成する

3. SAP Web IDEを設定し、プロジェクトを作成する

4. SAP Web IDEを使ってテーブルを作成し、データをロードする

5. SAP Web IDEを使ってInformation View (HANA View)を作成する

 

今回は「2. テーブルとビュー(SQL View)を作成する」です。

 

注意 : 掲載されているスクリーンショットはSAP社内環境のものです。本番環境とは差異がある可能性があります。予めご了承ください。

 

操作の手順は下記の通りです。

1. DBユーザー(スキーマ)の作成

2. テーブルの作成

3. ビュー(SQL View)の作成

 

サンプルのデータを用意したので、まずはこちらのサイトからスクリプトやCSVファイルをダウンロードして自分のPCに展開してください。

 

DBユーザー(スキーマ)を作成する

 

Database Explorer (DBADMINユーザーでログイン)を開いて、ダウンロードしたスクリプト (sql_script.sql) の内容を適宜、SQL Console (ワークシート)にコピー & ペーストします。

 

今回は「ORDER_ENTRY」という名前のDBユーザー(スキーマ)を作成します。

ユーザーのパスワードは任意の文字(英数字、大文字、小文字含む)に変更してください。

デフォルトではユーザーが初回ログイン時にパスワード変更を求められるのですが、今回はそのステップを省略するために「NO FORCE_FIRST_PASSWORD_CHANGE」を指定しています。

また、「ユーザーグループ」の指定が必要になりますが、ここでは「Default」を指定します。

 

権限については最低限の権限を指定します。

詳細な説明は割愛しますが、見慣れない「HANA_SYSRDL#CG_ADMIN_ROLE」についてだけ補足すると、前回のBlog記事中の手順で作成した「Relational Data Lake(RDL)」用の権限になります。

 

ユーザーが作成されると同じ名前のスキーマも作成されます。

-- ユーザー作成
CREATE USER ORDER_ENTRY PASSWORD <password> NO FORCE_FIRST_PASSWORD_CHANGE SET USERGROUP DEFAULT;

-- 権限設定
GRANT CATALOG READ  TO ORDER_ENTRY  WITH ADMIN OPTION;
GRANT CREATE SCHEMA TO ORDER_ENTRY WITH ADMIN OPTION;
GRANT HANA_SYSRDL#CG_ADMIN_ROLE TO ORDER_ENTRY;

 

ここまでの画面では、「DBADMIN」ユーザーで操作をしているので、今、作成した「ORDER_ENTRY」ユーザーでの操作に切り替えます。

今、操作していたSAP HANA Database Explorerのブラウザ/タブを閉じます。

 

SAP HANA Cockpit の画面に戻ります。

画面上部の「Clear Credentials」をクリックして、「DBADMIN」ユーザーでSAP HANA Cockpit にログインした資格情報をクリアします。

 

先ほど作成した「ORDER_ENTRY」ユーザーでログインします。

 

再び、SAP HANA Cockpit にログインしましたが、画面左上部にログイン名が「ORDER_ENTRY」になっていることが確認できます。

画面右上の「Open SQL Console」をクリックしてSAP HANA Database Explorer の画面を開きます。

 

オープンしたSAP HANA Database Explorer では、「ORDER_ENTRY」が現在のユーザー(デフォルトのスキーマ) になっていることが確認できます。

 

テーブルを作成する

 

SQL Console 上でSQL文を入力してテーブル作成することもできますが、今回はCSVファイルを用意しているので、CSVファイルを読み込みながらテーブルを作成する手順をご紹介します。

テーブルを作成する前に「ORDER_ENTRY」のスキーマのオブジェクトが表示されるように、左下の「DBADMIN」を「ORDER_ENTRY」に変更します。

 

「Tables」を選択し、右クリックしてメニューから「Import Data」を選択します。

 

次の画面でファイルを選択する画面が出てくるのでCSVファイルを選択します。

まず始めは「Customers.csv (顧客データ)」 を選択します。

 

次の画面ではスキーマ名とテーブル名を入力します。画面の通り選択/入力してください。

 

画面の通り、データ型と、必要に応じて桁数/文字数を入力します。

今回は「CUSTOMERID」 を主キー(プライマリーキー)に設定します。

 

次の画面では、エラーが発生した時のデータをセーブするかどうかの選択をします。

デフォルトのまま進みます。

 

今までの設定内容を確認し、問題がなければ、右上の「Import Into Database」ボタンをクリックしてテーブル作成とデータロードを開始します。

 

データロードが成功したら、左下に表示されたテーブルをクリックしてテーブルの定義情報を確認します。

定義情報の右上の「Open Data」ボタンをクリックしてデータがロードされているか確認します。

 

同じ手順で「PRODUCTS (製品マスター)」テーブルと「ORDERS(オーダー)」テーブルも作成します。

CSVファイル名、スキーマ名、テーブル名、データ型等は下記の画像を確認してください。

※ ORDERS テーブルのBIGINT 型を指定する箇所は要注意です!!

 

PRODUCTS (製品マスター) テーブル

 

ORDERS(オーダー) テーブル

※ ORDERS テーブルのBIGINT 型を指定する箇所は要注意です!!

 

ビュー(SQL View)を作成する

 

せっかくなので、SQL文も実行してみます。今回はビュー (SQL View)を作成してデータを可視化します。

SQL Consoleにビュー作成のSQL文をコピー & ペーストします。今、作成した3つのテーブルを結合したビューになります。

-- ビューの作成
CREATE VIEW ORDER_ENTRY.V_ORDERS AS 
  SELECT 
	d1."CUSTOMERID",
	d1."CITYID",
	d1."COUNTRYID",
	d1."REGIONID",
	d1."CUSTOMER",
	d1."CITYNAME",
	d1."COUNTRYNAME",
	d1."REGIONNAME",
	d2."PRODUCTID",
	d2."CATEGORYID",
	d2."LINEID",
	d2."PRODUCTNAME",
	d2."CATEGORYNAME",
	d2."LINENAME",
	f1."UNITSALES",
	f1."NETSALES"
  FROM "ORDER_ENTRY"."ORDERS" f1
    INNER JOIN "ORDER_ENTRY"."CUSTOMERS" d1 
      ON d1."CUSTOMERID" = f1."CUSTOMERID"
    INNER JOIN "ORDER_ENTRY"."PRODUCTS"  d2 
      ON d2. "PRODUCTID"  = f1."PRODUCTID"
;

 

 

メニュー左下の「Views」を選択し、今、作成した「V_ORDERS」ビューを右クリックして「Open Data」を選択します。

 

表示された画面でビューのデータが参照できますし、左上部の「Analysis」タブを選択するとデータの内容を簡単にビジュアライズするための画面が表示されます。

 

図のように各列を縦軸、横軸を示すボックスにドラッグ & ドロップすると棒グラフが表示されます。

 

グラフには幾つかの種類があるので、パイチャートなど色々なグラフを試してみてください。

ただし、このツールはあくまでも簡易的なビジュアライズ画面なのでBI用途で使用するものではないので過度な期待はしないようにお願いいたします。

 

いかがでしたでしょうか ?

 

注意点としては、あまり大きなサイズのデータをこのDB Explorer でアップロードできないこと、また、テーブル作成のGUI画面は現時点では用意されていないので、今回ご紹介したようなCSVファイルをベースに「Import」機能を使用するか、硬派にSQL文を実行するかの方法になります。

次回以降では、Webベースの開発ツール「SAP Web IDE」を使用したテーブル作成についてご紹介いたします。

Free Trial 環境を使用している方こちらが次回の手順になります。

 

お楽しみに !!

Be the first to leave a comment
You must be Logged on to comment or reply to a post.