Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
KABATA_Kimikazu
Advisor
Advisor
0 Kudos
本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に、Free Trial 環境を使用した操作手順を解説します。

本内容は「DBエンジニア」向けの内容になります。

今回は「テーブルを作成し、データをロードする」方法についてご紹介します。

 

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

・テーブルの作成

・CSV データのロード


 

サンプルのスクリプトやCSVデータは下記のサイトからダウンロードしてください。

使用するファイルは下記になります。

・CUSTOMERS.hdbtable

・ORDERS.hdbtable

・PRODUCTS.hdbtable

・Customers.csv

・Orders.csv

・Products.csv


 

テーブルを作成する


 

それでは、BASを使ってテーブルを作成します。まずは、今まで多くのDBエンジニアの皆様が作成していた、「xxxxxx.sql」というSQLのスクリプトにあたるファイルを作成します。

GLOBAL-DWHプロジェクト内のdbフォルダ配下のsrc フォルダを選択した後、画面上部メニューの「View」から「Find Command…」を選択します。

検索ボックスで「HANA」と入力し、表示されたリストの中から「SAP HANA Create SAP HANA Database Artifact」を選択します。


 


 

この「Artifact (アーティファクト)」は「モノ、オブジェクト」に近いニュアンスの言葉で、要は「テーブルやインデックス、シノニムなど、諸々のDBオブジェクトをこれから作ります」という意味になります。

まず、ファイルを配置するフォルダが「/home/user/projects/global-dwh/db/src」になっていることを確認してください。もし、選択されていない場合はフォルダアイコンをクリックして、当該フォルダを選択してください。

今回はテーブルを作成しますが、ファイル名の拡張子が「Artifact」毎に決まっています

リストから「.hdbtable」を選択してください。検索ボックスに「table」と入力するとリスト表示されます。


 

まずはCUSTOMERS (顧客マスター)テーブルを作成しますのでArtifact Nameには 「CUSTOMERS」と入力し、「Create」ボタンをクリックしてファイルを作成します。


 

左のツリーから「CUSTOMERS.hdbtable」を選択し、ダウンロードした「CUSTOMERS.hdbtable」ファイルを開いて内容をコピー & ペーストします。

※ ファイルの内容はAuto Saveされます。


 
-- CUSTOMERS テーブルの作成

COLUMN TABLE "CUSTOMERS" (
"CUSTOMERID" INTEGER
, "CITYID" INTEGER
, "COUNTRYID" INTEGER
, "REGIONID" INTEGER
, "CUSTOMER" NVARCHAR(50)
, "CITYNAME" NVARCHAR(50)
, "COUNTRYNAME" NVARCHAR(50)
, "REGIONNAME" NVARCHAR(50)
, PRIMARY KEY ("CUSTOMERID")
)

 

次にこのCUSTOMERS テーブルを「Deploy」します。「Deploy」という言葉は少し難しいのですが、DBに対してテーブルを作成する操作です。

画面左下にある同名の「CUSTOMERS.hdbtable」を選択し、「Deploy」アイコンをクリックします。


 

「Deploy」が成功したら、テーブルがDBに作成されているか確認しましょう。

Database Connections から、「global-dwh-hdi」を選択し、DBに接続するためのアイコン(Open HDI container) をクリックし、別のタブ/ウインドウが開いて、Database Explorer が起動します。

ツリーから「Tables」を選択します。CUSTOMERS テーブルが「GLOBAL_DWH」スキーマ内に作成されたことが確認できると思います。


 

コピー & ペーストしたテーブルを作成する命令文がSQL文に似ていたものの、「CREATE TABLE」文の「CREATE」がなかったことに違和感を覚えたDBエンジニアの方も多いかと思います。

BASを使ったテーブル作成では、この定義ファイルに列を追加したり、削除したり、データ型の桁数を増やしてから「Deploy」するとテーブルにその変更が反映されます。

要するに「ALTER TABLE」文を発行しなくてもテーブルの属性変更ができます。

これが「HDI」の良いトコロです。

ただし、データ型の変換ができないパターンもあるので、「ALTER TABLE文でできないことは基本的にできない」と憶えておいてください。

 

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

新規作成するファイル名、及び定義文のコピー元のファイルは、それぞれ「PRODUCTS.hdbtable」と「ORDERS.hdbtable」になります。


 
-- PRODUCTS テーブルの作成

COLUMN TABLE "PRODUCTS" (
"PRODUCTID" INTEGER
, "CATEGORYID" INTEGER
, "LINEID" INTEGER
, "PRODUCTNAME" NVARCHAR(50)
, "PRODUCTDESCRIPTION" NVARCHAR(50)
, "CATEGORYNAME" NVARCHAR(50)
, "CATEGORYDESCRIPTION" NVARCHAR(50)
, "LINENAME" NVARCHAR(50)
, "LINEDESCRIPTION" NVARCHAR(50)
, "DISCONTINUED" INTEGER
, PRIMARY KEY ("PRODUCTID")
)

 



 
-- ORDERS テーブルの作成

COLUMN TABLE "ORDERS" (
"ORDERID" INTEGER
, "PRODUCTID" INTEGER
, "CUSTOMERID" INTEGER
, "EMPLOYEEID" INTEGER
, "ORDERPERIODID" INTEGER
, "REQUIREDPERIODID" INTEGER
, "SHIPPEDPERIODID" INTEGER
, "SHIPPERID" INTEGER
, "UNITPRICE" INTEGER
, "QUANTITY" INTEGER
, "DISCOUNT" INTEGER
, "UNITSALES" BIGINT
, "NETSALES" BIGINT
, "UNITCOST" INTEGER
, "COST" INTEGER
, PRIMARY KEY ("ORDERID", "PRODUCTID")
)

 

 

CSVデータをロードする


CSVデータを利用したデータローディングはDatabase Explorer を利用します。

まずは「CUSTOMERS 」テーブルから始めます。

Database Explorerから対象のテーブルを選択します。

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


 

「自分のPC上にあるファイル」を意味する「Local」を選択し、事前にダウンロードしておいたファイルから、対象CSVファイル(Customers.csv)を選択し、テーブル定義情報などを確認してからデータをロードします。


 


 


 


 



 

データがロードされたか確認してみましょう。


 


 

それでは、同じ手順で「PRODUCTS (製品マスター)」 テーブルと「ORDERS (オーダー)」テーブルに対してもデータをロードしてみましょう。

CSV ファイルは、各々「Products.csv」と「Orders.csv」になります。

 

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

さて、次はいよいよ、モデリングの本題である「Calculation View (HANA View) の作成」です。

 

では、次回もお楽しみに !!

 

次回 : Calculation View (HANA View)を作成する

 

参考 : SAP Analytics CloudとSAP HANA Cloudとの連携