SAP S/4HANA CloudのデータをQlikViewでビジュアライズ

# はじめに

[SAP S/4HANA Cloud](https://www.sap.com/japan/products/s4hana-erp/cloud.html)は、クラウドベースのERPサービスです。SAP S/4HANA Cloudでは、オープンテクノロジーの[OData規格](http://www.odata.org/)のREST API経由でデータにアクセスすることが可能です。本記事では、 CData ODBC Driver for ODataを利用して、SAP S/4HANA Cloud内のデータをBIツール（QlikView）でビジュアライズする手順をご紹介します。

# 前提ソフトウェア、および、サービス

- [SAP S/4HANA Cloud](https://www.sap.com/cmp/oth/crm-s4hana/s4hana-cloud.html)※14日間のFreeTrial環境あり
- [CData ODBC Driver for OData](http://www.cdata.com/jp/drivers/odata/odbc/) ※３０日間の無料試用版あり
- [QlikView](https://www.qlik.com/ja-jp/products/qlikview) ※無料試用版あり
- インターネット環境に繋がるWindowsマシン

# ゴール

QlikViewで、SAP S/4HANA Cloud内の製品情報（Products）のデータをビジュアライズする。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/375ca98a-952d-8c7e-c5b4-02ae57634dfd.png)

# 手順

## SAP S/4HANA Cloudでの評価版アカウント、および、APIKeyの取得

[SAP S/4HANA Cloud](https://www.sap.com/cmp/oth/crm-s4hana/s4hana-cloud.html)のサイトから14日間のFreeTrial環境を申し込みます。

[SAP API Business Hub](https://api.sap.com)にアクセスして、入手した評価版アカウントでログインします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/6fa7f93f-a6a4-9f03-b15c-bb10b94f7a04.png)

SAP API Business Hub内の [Discover (APIs)/SAP S/4HANA Cloud/OData Service for Product Master](https://api.sap.com/shell/discover/contentpackage/SAPS4HANACloud/api/API_PRODUCT_SRV) にアクセスして右上の「Get API Key」ボタンをクリックして表示されたAPIKeyを手元に控えておきます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/beebf255-f587-6120-3a63-76adc54785c6.png)

## CData ODBC Driver for OData のインストール、および、初期設定

[CData ODBC Driver for OData](http://www.cdata.com/jp/drivers/odata/odbc/)　をダウンロードして、setup.exeを実行します。インストーラーを起動してソフトウェア使用許諾契約書を確認してデフォルトのままインストールします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/346a4235-f0a8-9d5e-f01b-e53425c3fdba.png)

（注意） オンラインアクティベーションのためインターネットへの接続が必要となります

インストールが完了すると、ODBCのDSN設定画面が起動します。一度、閉じてしまった場合には、WindowsのODBCデータソースアドミニストレーターを起動してください。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/a8512e87-debc-4976-378f-1d29a81e0ff0.png)

下記の項目をセットします。

| 項目 | 値 | 備考 |
|:-----------------|:------------------|:------------------|
| Url | https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_PRODUCT_SRV |  |
| Custom Header | APIKey:********************* | 上記で取得したAPIKeyをセット |
| logfile | C:\cdatalog\SAPS4Cloud.log | (任意)CDataのログファイルを出力する場合、出力パスを指定 |
| verbosity | 1 | (任意)CDataのログファイルを出力する場合、出力レベル（1）を指定 |

製品（Product）以外のエンドポイントを指定する場合は、下記SAP Business Hub内のAPI Endpoint内のURLを指定ください。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/c48119d2-c69b-0255-e749-45f1cc57e1b1.png)


「接続のテスト」ボタンをクリックします。

接続に成功して旨のダイアログが表示されれば、SAP S/4HANA Cloudへのコネクションが作成できたことになります。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/df32577a-bdc6-07a2-7629-aad45c811314.png)

「OK」ボタンをクリックして、「CData ODBC Driver for OData - DSN設定」の画面も「OK」ボタンをクリックして閉じます。

## QlikViewのロードスクリプトの作成

QlikViewでロードスクリプトの編集を起動して、接続ボタンをクリックします。マシンにインストールされているODBCのDSN一覧が表示されるので「CData OData Source (Sys)」を選択して、「接続テスト」をクリックして成功したら「OK」ボタンをクリックします。スクリプトに「CONNECT」文が追加されることを確認します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/72347510-05f6-28d7-4525-ec765a06d7af.png)

「選択」ボタンをクリックすると「SQLステートメントの作成」ウィンドウが開きます。テーブルを「Product」、項目を全て「*」選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/f5668677-e040-2c00-cdef-402ba21c9cdc.png)

ロードスクリプトタブで生成されるSQLが確認できます。

```sql
SQL SELECT *
FROM CData.OData."A_Product";
```

プレビュータブに移動すると、SAP S/4HANA Cloudの製品（Product）データが確認できます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/2ffc681f-f729-0a53-ce3f-aa75bd2e055c.png)

「OK」ボタンをクリックすると、SQLがロードスクリプトに追加されます。リロードボタンをクリックしてアドホックにデータのロードを実行します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/b029f9d4-748b-5fc1-bf35-b287b97bcb3e.png)

データのロードが完了したら、シートに、製品（Product）テーブル内の項目をチャートやテーブルオブジェクトにバインドしてビジュアライズしてみます。本例では、ItemCategoryGroup毎とProductGroup毎の割合がわかるパイチャートと、テーブルオブジェクトにProductテーブルのリストを配置してみました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/375ca98a-952d-8c7e-c5b4-02ae57634dfd.png)

# おわりに

今回は、ビジュアライズのツールとしてQlikViewを使用してみましたが、ODBCやJDBC準拠データソースを持つBIツール（Tableau、PowerBI、Yellowfinなど）であれば、同様にCData Drivers for OData製品を利用することでSAP S/4HANA CloudのデータをBIツールからのデータ取得が可能です。CData Drivers for OData製品、３０日間の無料評価版もあるので是非お試しください。