Order to Cash プロセス向けの SAP アクセラレータは、Cloud Data Fusion の SAP テーブル バッチ ソース機能の実装例です。このアクセラレータは、エンドツーエンドの Order to Cash プロセスと分析を初めて作成する際に役立ちます。このアクセラレータには、次のタスクを行うように構成できるサンプルの Cloud Data Fusion パイプラインが含まれています。
- SAP データソースに接続する。
- Cloud Data Fusion でデータの変換を行う。
- BigQuery にデータを保存する。
- Looker で分析を設定する。これには、ダッシュボードと ML モデルが含まれます。ここでは、Order to Cash プロセス用の重要業績評価指標(KPI)を定義できます。
このガイドでは、実装のサンプルと、構成の開始方法について説明します。
このアクセラレータは、バージョン 6.3.0 以降で動作している Cloud Data Fusion 環境で利用できます。
始める前に
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion and BigQuery APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion and BigQuery APIs.
- SAP テーブル バッチ ソースをダウンロードします。
- Looker Block をインストールするには、Looker インスタンスへのアクセス権があり、マーケットプレイスの Labs 機能を有効にしている必要があります。無料トライアルをリクエストすると、インスタンスにアクセスできるようになります。
必要なスキル
SAP Order to Cash アクセラレータを設定するには、次のスキルが必要です。
- SAP On-Prem ERP システムと構成に関する専門知識
- Cloud Data Fusion に関する知識
- BigQuery に関する知識
- Looker に関する知識
- Identity and Access Management(IAM)サービス アカウントとアクセス制御の基本知識
- SQL クエリの作成など、データ分析に関する知識
- Kimball のディメンション データモデルに関する知識
必要なユーザー
このページで説明する構成では、SAP システムと Google Cloud での変更が必要になります。この構成を行うには、これらのシステムに関する次のユーザーと連携する必要があります。
ユーザーの種類 | Description |
---|---|
SAP 管理者 | SAP サービス サイトにアクセスしてソフトウェアをダウンロードできる SAP システムの管理者。 |
SAP ユーザー | SAP システムへの接続を認可された SAP ユーザー。 |
GCP 管理者 | 組織の IAM アクセスを管理する管理者。サービス アカウントの作成とデプロイを行い、Cloud Data Fusion、BigQuery、Looker に関する権限を付与します。 |
Cloud Data Fusion ユーザー | Cloud Data Fusion でデータ パイプラインを設計、実行する権限があるユーザー。 |
BigQuery データオーナー | BigQuery データセットの作成、表示、変更する権限があるユーザー。 |
Looker デベロッパー | このユーザーは、Marketplace から Looker Block をインストールできます。このユーザーには、develop 権限、manage_model 権限、deploy 権限が必要です。 |
必要な IAM のロール
アクセラレータのサンプル実装には、次の IAM ロールが必要です。プロジェクトが他の Google Cloud サービスに依存している場合は、追加のロールが必要になることがあります。
- BigQuery 管理者(
roles/bigquery.admin
) - BigQuery データオーナー(
roles/bigquery.dataOwner
) - Storage オブジェクト閲覧者(
roles/storage.objectViewer
) - Dataproc サービス アカウントに付与する必要がある Cloud Data Fusion 実行者(
roles/datafusion.runner
)
プロセスの概要
アクセラレータをプロジェクトに実装する手順は次のとおりです。
- SAP ERP システムを構成し、提供された SAP トランスポートをインストールします。
- SAP テーブル バッチ ソース プラグインを使用するように Cloud Data Fusion 環境を設定します。
- BigQuery でデータセットを作成します。 アクセラレータには、ステージング テーブル、ディメンション テーブル、ファクト テーブルのサンプル データセットが用意されています。
- アクセラレータのサンプル Cloud Data Fusion パイプラインを構成して、SAP データを統合します。
- Cloud Data Fusion Hub から、Order to Cash 分析プロセスに関連付けられたパイプラインをデプロイします。BigQuery データセットを作成するには、これらのパイプラインを正しく構成する必要があります。
- Looker を BigQuery プロジェクトに接続します。
- Looker Block をインストールしてデプロイします。
詳細については、SAP テーブル バッチ ソース プラグインの使用をご覧ください。
BigQuery のサンプル データセット
このアクセラレータのサンプル実装では、次のデータセットが BigQuery に作成されます。
データセット名 | Description |
---|---|
sap_cdf_staging |
そのビジネス プロセスに対して、指定された SAP ソースシステムのすべてのテーブルが含まれます。 |
sap_cdf_dimension |
顧客ディメンションやマテリアル ディメンションなどの主要なディメンション エンティティが含まれます。 |
sap_cdf_fact |
パイプラインから生成されたファクト テーブルが含まれます。 |
Cloud Data Fusion のサンプル パイプライン
このアクセラレータのサンプル パイプラインは、Cloud Data Fusion Hub で入手できます。
Hub からサンプル パイプラインを取得する手順は、次のとおりです。
- インスタンスに移動します:
Google Cloud コンソールで、Cloud Data Fusion のページに移動します。
Cloud Data Fusion Studio でインスタンスを開くには、[インスタンス]、[インスタンスを表示] の順にクリックします。
- [Hub] をクリックします。
- [SAP] タブを選択します。
- [パイプライン] を選択します。サンプル パイプラインのページが開きます。
- 目的のパイプラインを選択してダウンロードします。
各パイプラインには、ご利用の環境で実行するように構成できるマクロが含まれています。
サンプル パイプラインには次の 3 つのタイプがあります。
- ステージング レイヤ パイプライン: このタイプのパイプラインのステージング データセットは、SAP 内の元のソーステーブルに直接マッピングされます。サンプルのステージング レイヤ パイプラインには、SAP ソーステーブルと BigQuery ターゲット テーブルを参照する名前があります。たとえば、KNA1_Customer_Master という名前のパイプラインは、SAP ソーステーブル(
KNA1
)と BigQuery ターゲット テーブル(CustomerMaster
)を参照します。 - ディメンション レイヤ パイプライン: このタイプのパイプラインのディメンション レイヤ データセットは、分析に必要なディメンションとファクトを作成する、キュレートされ、調整されたバージョンのステージング データセットです。このサンプル パイプラインには、ターゲット BigQuery データセット内のターゲット エンティティを参照する名前があります。たとえば、customer_dimension というパイプラインは、BigQuery データセット
sap_cdf_fact
の顧客ディメンション エンティティを参照します。 - ファクト レイヤ パイプライン: ファクト レイヤ データセットは、分析に必要なファクトを作成する、キュレートされ、調整されたバージョンのステージング データセットです。これらのサンプル パイプラインには、ターゲットの BigQuery データセット内のターゲットのエンティティを参照する名前があります。たとえば、sales_order_fact という名前のパイプラインは、対応する BigQuery データセット
sap_cdf_fact
のセールス オーダー ファクト エンティティにキュレートされたデータを配信します。
以下のセクションでは、ご利用の環境でパイプラインを取得する方法についてまとめています。
ステージング レイヤ パイプラインを構成する
ステージング パイプラインには次の 2 つの構成手順があります。
- ソース SAP システムを構成する。
- ターゲットの BigQuery データセットとテーブルを構成する。
SAP テーブル バッチ ソース プラグインのパラメータ
SAP テーブル バッチ ソース プラグインは、SAP テーブルまたはビューのコンテンツを読み取ります。アクセラレータには次のマクロが用意されています。これらのマクロを変更して、SAP 接続を集中管理できます。
マクロ名 | 説明 | 例 |
---|---|---|
${SAP Client} |
使用する SAP クライアント | 100 |
${SAP Language} |
SAP ログオン言語 | EN |
${SAP Application Server Host} |
SAP サーバー名または IP アドレス | 10.132.0.47 |
${SAP System Number} |
SAP システム番号 | 00 |
${secure(saplogonusername)} |
SAP ユーザー名 | 詳細については、Using Secure Keys をご覧ください。 |
${secure(saplogonpassword)} |
SAP ユーザーのパスワード | 詳細については、Using Secure Keys をご覧ください。 |
${Number of Rows to Fetch} |
抽出されたレコードの数の制限に使用 | 100000 |
詳細については、プラグインの構成をご覧ください。
BigQuery ターゲットのパラメータ
アクセラレータには、BigQuery ターゲット用に次のマクロが用意されています。
BigQuery ターゲット コネクタの構成
マクロ名 | 説明 | 例 |
---|---|---|
${ProjectID} |
BigQuery データセットが作成されたプロジェクト ID。 | sap_adaptor |
${Dataset} |
ターゲット データセット | sap_cdf_staging |
Order to Cash KPI のために使用するサンプル パイプライン
アクセラレータのサンプル パイプラインに対応した、Order to Cash 処理における主なビジネス エンティティは次のとおりです。これらのパイプラインは、こうしたエンティティに関する分析を後押しするデータを提供します。
主なビジネス エンティティ | 対応するサンプル パイプライン名 |
---|---|
Customer は、組織がビジネスを行う個人または法人の場合があります。これら 3 つの SAP ソーステーブルは、ビジネスに関連する顧客の詳細情報を取得します。これらのテーブルの情報は、sap_cdf_dimension データセットの customer_dimension に追加されます。 |
KNA1_CustomerMaster KNVV_CustomerSales KNVP_CustomerPartnerFunction |
Material は、企業とその顧客との間で取引される商品です。これらの SAP ソーステーブルの情報は、sap_cdf_dimension データセットの material_dimension に追加されます。 |
MARA_MaterialMaster MARD_MaterialStorageLocation |
Order to Cash プロセスの注文管理のサブプロセス(システムが顧客から注文を受け取ったとき) |
VBAK_SalesDocumentHeader VBAP_SalesDocumentItem VBEP_SalesDocumentSchedule |
注文処理と発送のサブプロセス |
LIKP_DeliveryHeader LIPS_DeliveryItem |
請求書発行と顧客支払いのサブプロセス(顧客が請求書を受け取ったとき) |
VBRK_BillingHeader VBRP_BillingLineItem |
売掛金とレポートのサブプロセス(支払いがシステムに記録されるとき) | ACDOCA_UniversalJournalItem |
すべての Cloud Data Fusion ステージング パイプライン
アクセラレータでは、次の Cloud Data Fusion ステージング パイプラインのサンプルを使用できます。
- KNA1_CustomerMaster
- KNVV_CustomerSales
- KNVP_CustomerPartnerFunction
- MARA_MaterialMaster
- MARD_MaterialStorageLocation
- VBAK_SalesDocumentHeader
- VBAP_SalesDocumentItem
- VBEP_SalesDocumentSchedule
- LIKP_DeliveryHeader
- LIPS_DeliveryItem
- ACDOCA_UniversalJournalItem
- VBRK_BillingHeader
- VBRP_BillingLineItem
- BSEG_AccountDocumentItem
- BSID_AccDocCustOpenItem
- BSAD_AccDocCustCloseItem
- T001_CompanyCodes
- T006A_UnitOfMeasure
- T024D_MRPControllers
- T042ZT_PaymentMethodText
- T189T_PriceListCategory
- TCURC_CurrencyCodes
- TCURT_CurrencyCodesText
- TCURW_ExchangeRateType
- TINCT_CustomerIncotermsText
- TVAKT_SalesDocumentType
- TVAPT_SalesDocumentItemCategory
- TVFST_BillingBlockReasonText
- TVLST_DeliveryBlockText
- TVTWT_DistributionChannelText
- MAKT_MaterialDescription
- T005T_CountryNames
- T005U_RegionText
- TVAST_SalesDocBlockReasonText
- T077X_AccountGroupName
- T134T_MaterialTypeDescription
- T023T_MaterialGroupDescription
- TSPAT_SalesDivisionText
- TVKOV_DistributionChannel
- TVTA_SalesArea
- TVKOT_SalesOrgText
- TVAUT_SalesDocumentOrderText
- TVSBT_ShippingConditionText
- TVAG_SalesDocRejectionReasons
- TVAGT_SalesDocRejectionReasonDescription
ディメンション レイヤのパイプラインを構成する
KPI は、ソース SAP テーブルから抽出できます。分析用にデータを準備するには、BigQuery テーブルのスキーマ構造と一致するように、ソーステーブルのデータを整理します。
アクセラレータによって、次の 4 つのサンプル テーブルが作成されます。
テーブル名 | テーブルの説明 |
---|---|
customer_dimension | 顧客および関連するファクト(顧客分類、顧客階層、顧客販売関連情報など)のキュレートされたリスト*。 |
material_dimension | マテリアルおよび関連するファクト(SKU 番号、プロダクト階層、分類など)のキュレートされたリスト。 |
sales_order_fact | 販売情報(注文の種類、注文ステータスの表示、注文数量、注文値など)のキュレートされたリスト。これらのフィールドは通常、注文管理 KPI(オープン注文、確定注文、却下された注文、請求済み注文など)を生成するために集計されます。 |
revenue_fact | 顧客へのマテリアルの販売によって生成された詳細な会計情報。会計テーブルから派生したこのファクト テーブルには、総売上高、割引前純売上高、割引後純売上高、トレンドなど、収益 KPI を通して分析情報を提供する情報が含まれています。 |
*このコンテキストでは、キュレートされたリストは、選択された列のリストに適用されるビジネス ロジックから生成されます。
アクセラレータは、SQL スクリプトを使用して BigQuery データセットのディメンション レイヤを構築します。これはプロジェクトで変更できます。たとえば、これらのスクリプトを適応させて、ターゲットの BigQuery データセット エンティティに列を追加できます。
スタースキーマへの変換: BigQuery エグゼキュータのパイプライン名
Cloud Data Fusion の以下の BigQuery エグゼキュータ パイプラインは、ディメンション テーブルとファクト テーブルにデータを読み込みます。
すべてのディメンション変換パイプライン
customer_dimension
material_dimension
sales_order_fact
revenue_fact
BigQuery エグゼキュータの構成
マクロ名 | 例 |
---|---|
${ProjectID} |
sap_adaptor |
${StagingDatasetName} |
sap_cdf_staging |
${TargetDatasetName} |
sap_cdf_dimension |
Looker を BigQuery プロジェクトに接続する
Looker を BigQuery に接続するには、BigQuery 接続に関する Looker のドキュメントをご覧ください。
ブロックをインストールする
GitHub で SAP Looker Block にアクセスできます。
Looker Block により、事前構成済みの LookML モデルとともに、2 つの探索環境と 2 つのダッシュボードがインストールされます。
次のステップ
- Cloud Data Fusion について学ぶ。
- Google Cloud での SAP の詳細を確認する。
- BigQuery の詳細を確認する。
- Looker Block について学ぶ。