はじめに
今回はHANA Cloudの地理空間情報(Spatial data)をSAP Analytics Cloud (SAC)の地図上に表示させる方法について紹介します!
全4パートのブログを通して、下記のデータをHANA CloudにインポートしSACの地図上で可視化します
- 国 > 都道府県 > 市区町村 の3階層のカスタムヒエラルキー
- 人口・世帯数の分析用データ
HANA Cloud の Shape fileを SAP Analytics Cloud (SAC)の地図上に表示させたい場合、HANA上でカスタムヒエラルキーを作成・登録し、SAC地理空間コロプレスレイヤ―として表示できるようにする必要があります。
今回はこちらのブログの手順を日本地図で行い、より詳細な手順について解説します。
前提
- SAP Analytics上でのSAP HANA Cloudのライブ接続が作成済みであること (作成方法についてはこちら)
- 本手順は、SAP HANA Cloud バージョン 2022.16.15 (QRC 2/2022) および SAP Analytics Cloud バージョン 2022.16.1 で実施しています。バージョンが異なる場合は若干手順が異なる場合があります
手順
ご紹介する手順は下記の通りです
Part.1 SAP HANA Cloudでの コロプレス/ドリルレイヤを使用するためのセットアップ(今回)
Part.2 SAP HANA Cloud での カスタム地理階層の作成
Part.3 SAP HANA Cloudでの 分析用データの準備 / SAP HANA Cloud の Calculation View の作成
Part.4 SAP Analytics Cloudでの システム設定 / モデル作成 / 地理マップの作成
手順の全体像はこのようになっています。
それではさっそくPart.1 を始めましょう!
Part.1 SAP HANA Cloudでのコロプレス/ドリルレイヤを使用するためのセットアップ
SRIDの確認
次のSQLを実行し現在のSAP HANA Cloudで利用可能なSRIDを確認しましょう。SAP HANA Cloud には、SAP Analytics Cloud が使用する空間参照系識別子(SRID)”3857” (球面(半径6,378,137m)メルカトル図法)が事前に登録されているはずです。
SELECT * FROM ST_SPATIAL_REFERENCE_SYSTEMS;
SAP Business Application Studio でのプロジェクトの作成
SAP Analytics Cloud でコロプレス/ドリルレイヤを使用するためには、 HANA Cloud に空間情報コンテンツ(GEO CONTENT)をインポートする必要があります。インポートの事前準備として、SAP Business Application Studio を使用して SAP HANA データベースプロジェクトを作成します
1.SAP Business Application Studio を起動して、使用する Dev Space を開きます
2.Welcome ページから「Start from template」を選択します
3.SAP HANA Database Project を選択して、[Start >] ボタンをクリックします
4.Project Name に任意の名前(この例では demo)を入力して、[Next >] ボタンをクリックします
5.モジュール名に任意の名前(この例では db)を入力して、[Next >] ボタンをクリックします
6.スキーマ名に任意の名前(この例では SPATIAL_DEMO)を入力し、SAP HANA Database Version が ”HANA Cloud” になっていることを確認し、[Next >] ボタンをクリックします
7.Cloud Foundry スペースのデフォルトのデータベースインスタンスを使用するかを指定します
- デフォルトのデータベースインスタンスを使用する場合 : Yes
- デフォルトのデータベースインスタンスを使用しない場合 : No
10.プロジェクトが作成されたことを確認します
空間情報コンテンツのダウンロード
SAP Analytics Cloud でコロプレス/ドリルレイヤを使用するために、 HANA Cloud に空間情報コンテンツ(GEO CONTENT)をインポートします。
1.ブラウザでSAP Software Download Centerにアクセスします
2.検索窓で”ANALYTICS_CLOUD”と検索し、最新のANALYTICSCLOUDZZ_*.ZIP(ZZはSP)をダウンロードします
4.ダウンロードした ZIP ファイルを解凍します。.mtarファイルが2つ入っているはずです
SAP HANA Cloud へ空間情報コンテンツをインポート
1.SAP Business Application Studio で作成したプロジェクト(この例では demo)を開きます
2.demo フォルダを右クリックして表示されるコンテキストメニューから [New Folder] を選択します
3.New Folder ダイアログでフォルダ名に mta_archives と入力して [OK] ボタンをクリックします
4.mta_archives フォルダを右クリックして表示されるコンテキストメニューから [Upload Files…] を選択します
5.先ほど解凍した以下の2つのファイルをアップロードします
- FPA_SPATIAL_DATA_Z.Z.Z.mtar(Z.Z.Z はバージョン番号)
- SAP_FPA_SPATIAL_CUSTOM_REGIONS_Z.Z.Z.mtar (Z.Z.Z はバージョン番号)
Cloud Foundry のスペースに HANA Cloud インスタンスが一つしかない場合、以下の手順で空間情報コンテンツをインポート(デプロイ)します
1.アップロードした以下のファイルをそれぞれ右クリックして表示されるコンテキストメニューから [Deploy MTA Archive] を選択します
- FPA_SPATIAL_DATA_Z.Z.Z.mtar(Z.Z.Z はバージョン番号)
- SAP_FPA_SPATIAL_CUSTOM_REGIONS_Z.Z.Z.mtar (Z.Z.Z はバージョン番号)
2.デプロイが正常に完了したことを確認します
Cloud Foundry のスペースに HANA Cloud インスタンスが二つ以上ある場合、どの HANA Cloud インスタンスに対して空間情報コンテンツをインポートするかを明示的に指定する必要があります。以下の手順で空間情報コンテンツをインポート(デプロイ)します。
1.SAP BTP Cockpit で SAP HANA Cloud のインスタンス一覧を表示し、対象の SAP HANA Cloud Iインスタンスの Actions > Copy Instance ID を選択して、SAP HANA Cloud のインスタンスID をコピーします
2.SAP Business Application Studio で作成したプロジェクト(この例では demo)を開き、mta_archives フォルダを右クリックして表示されるコンテキストメニューから [New File] を選択します
3.New File フォルダでファイル名に FPA_SPATIAL_DATA.mtaext と入力し、[OK] ボタンをクリックします
4.FPA_SPATIAL_DATA.mtaext ファイルに以下の内容を記載して、保存します
_schema-version: "3.0.0"
ID: DATABASE_ID_FOR_FPA_SPATIAL_DATA
description: Provides the HANA Cloud Database ID to deploy the shape data for SAC choropleth layer
extends: FPA_SPATIAL_DATA
resources:
- name: FPA_SPATIAL_DATA-hdi
parameters:
config:
database_id: <SAP HANA Cloud のインスタンスID>
5.SAP Business Application Studio で作成したプロジェクト(この例では demo)を開き、mta_archives フォルダを右クリックして表示されるコンテキストメニューから [New File] を選択します
6.New File フォルダでファイル名を入力し、[OK] ボタンをクリックします
- ファイル名: SAP_FPA_SPATIAL_CUSTOM_REGIONS.mtaext
7.SAP_FPA_SPATIAL_CUSTOM_REGIONS.mtaext ファイルに以下の内容を記載して、保存します
_schema-version: "3.0.0"
ID: DATABASE_ID_FOR_SPATIAL_CUSTOM_REGION
description: Provides the HANA Cloud Database ID to deploy the custom hierarchy table for use with SAP Analytics Cloud
extends: SAP_FPA_SPATIAL_CUSTOM_REGIONS
resources:
- name: SAP_FPA_SPATIAL_CUSTOM_REGIONS-hdi
parameters:
config:
database_id: <SAP HANA Cloud のインスタンスID>
8.SAP Business Application Studio のメニューから [Terminal] > [New Terminal] を選択してターミナルを開きます
9.ターミナルで次のコマンドを実行し、mta_archives フォルダに移動します
$cd mta_archives
10.以下のコマンドを実行して FTP_SPATIAL_DATA をデプロイします
mta_archives $ cf deploy FPA_SPATIAL_DATA_1.1.24.mtar -e FPA_SPATIAL_DATA.mtaext
11.以下のコマンドを実行して SAP_FPA_SPATIAL_CUSTOM_REGIONS をデプロイします
mta_archives $ cf deploy SAP_FPA_SPATIAL_CUSTOM_REGIONS_1.0.0.mtar -e SAP_FPA_SPATIAL_CUSTOM_REGIONS.mtaext
ユーザの作成と権限の付与
SAP HANA Cloud ユーザを作成し、空間情報コンテンツに事前定義されているロールを付与します
1.DBADMIN ユーザで SAP HANA Cockpit にログインし、 User Management アプリケーションを起動します
2. + [Add] ボタンをクリックして、[Create User] を選択します
3.Create User 画面で以下の項目を入力します
- User Name: DEMO
- Authentication Mechanism: Password
- Password: 任意のパスワード
- Password Confirmation: 任意のパスワード文字列
4.[Save] ボタンをクリックしてユーザを作成します
5.SAP HANA Database Explorer を起動し、”DBADMIN” ユーザで SQL コンソールを起動します
6.以下の SQL 文を実行し、”DEMO” ユーザにロールを付与します
-- Viewing Spatial choropleth
GRANT FPA_SPATIAL_DATA."FPA_SPATIAL_DATA::PublicAccessObjects" TO DEMO;
GRANT SAP_FPA_SPATIAL_CUSTOM_REGIONS."sap.fpa.services.spatial::ViewerRole" TO DEMO;
-- Editing & Creating custom choropleth layers
GRANT SAP_FPA_SPATIAL_CUSTOM_REGIONS."sap.fpa.services.spatial::EditorRole" TO DEMO;
パブリックシノニムの作成
HDI コンテナとしてデプロイされた空間情報コンテンツを SAP Analytics Cloud から認識させるために、パブリックシノニムを作成します
1.SAP HANA Database Explorer を使用して ”DEMO” ユーザで SQL コンソールを起動し、以下の SQL 文を実行し、パブリックシノニムを作成します
-- public synonym の作成
CREATE PUBLIC SYNONYM SAC_CHOROPLETH_DATA FOR "FPA_SPATIAL_DATA"."FPA_SPATIAL_DATA.choropleth::CHOROPLETH";
CREATE PUBLIC SYNONYM SAC_CHOROPLETH_HIER FOR "SAP_FPA_SPATIAL_CUSTOM_REGIONS"."sap.fpa.services.spatial.choropleth::CHOROPLETH_CUSTOM_HIERARCHY";
お疲れさまでした!これでPart.1は終了です。Par.2はこちらです