入門!SAP Analytics Cloud for Planning 機能紹介シリーズ – 高度な式

Estimated read time 1 min read

本ブログシリーズはSAP Analytics CloudのPlanning機能をこれから学ぶ方を対象とし、予算計画などの一連の予算管理業務に必要なSAP Analytics Cloudのそれぞれの機能の特徴や要点をご紹介します

※機能の詳細ついてはSAP Help Portalを参照してください。

※ SAP Analytics Cloudは、四半期に1度のペースで製品のバージョンアップが実施されます。そのため今後のバージョンアップにより、本ブログで紹介する画面キャプチャや、操作が異なる可能性があることをご了承ください。(本ブログは2025年5月に作成しています。)

本ブログでは、SAP Analytics Cloudにおける高度な式をご紹介します。

目次:

高度な式の概要高度な式の動作の前提になる原則 高度な式が必要となるケース代表的な構文まとめ

概要

高度な式は、データアクションタイプのひとつであり、データアクションのステップとして定義します。パラメータ機能や、更新対象のモデルが一つに限定される点などは、データアクション共通の前提に準じます。

 

計画モデルのデータ処理に特化した専用の構文を用いて任意の計算ロジックを記述できます処理要件に柔軟に対応することが可能です。ロジックの記述方法には、スクリプト形式とビジュアル形式の2種類が用意されています

高度な式の構成は3つに分かれていますコンテキスト、コンフィグ、処理内容があり、それぞれ下記の表のようになっています。

例えば、下記は数量×単価の高度な式のイメージです。ビジュアル形式、スクリプト形式でビジュアル、コンフィグ、処理内容が分かれています。

高度な式の動作の前提となる原則

高度な式の動作を理解頂くにあたり特に重要な原則として、以下2つが挙げられます。

原則①
式は、スコープ内の全レコードに対して一括で処理されます

原則②
式で条件が記載されていない次元については、同値同士のレコードで計算が行われます

この前提の元、先ほども例に出しました数量×単価の式を見ていきます。

 

この計算式は、金額を出すために数量かける単価を計算しているもので、実行結果の黄色の部分が生成された実行結果です。
前提として、販売数量は品目と相手先の組み合わせに数値がはいっています。
一方、掛け算の対象になる単価は品目ごとには値が入っていますが、相手先は値なしシャープにデータを持っていたという状況での話になります。

原則①の確認

式は、スコープ内の全レコードに対して一括で処理されます。
数量×単価をこのすべての行にしたい場合、

DATA([d/Measures] = “Amount”)
= RESULTLOOKUP([d/Measures] = “Quantity”) * RESULTLOOKUP([d/Measures] = “Price”, [d/Customer] = “#”)

を書くだけでよいです。

ここでスコープ内というのは、先ほど説明した3つの構成の中のコンテキストの中で対象データにフィルターをかけることができるのですが、その計算の対象のスコープにはいるすべてのレコードに対して同時に一括で処理されます。 

原則②の確認

式で条件が記載されていない次元については、同値同士のレコードで計算が行われます。

 

もう一度データを見てみますと、ここでは、単価のレコードは相手先がない状態で入っています。
そのため、単価の部分について[d/Customer] = “#”と記述することで相手先がないという条件をここに書いています。

DATA([d/Measures] = “Amount”)
= RESULTLOOKUP([d/Measures] = “Quantity”) * RESULTLOOKUP([d/Measures] = “Price”, [d/Customer] = “#”)

計算されます。これも暗黙の前提となります。

逆に、高度な式では、この例における価格データの相手先次元のように、計算対象のデータ要素ごとに次元値が異なるものを条件として明記する必要があります

高度な式が必要となるケース

標準のデータアクションタイプとして、データコピー / モデル間コピー / 配賦 / 通貨換算 などの機能が用意されていますが、高度な式は、これらで実現できない処理要件の対応のために利用します

よくある利用ケースの例

数量×単価の計算 (売上/売上原価の算出、人件費計画など)償却費計算 (定額法/定率法)内部取引の相殺消去データの算出標準の配賦機能では実現できない配賦ロジックの実現

あくまで、モデルのトランザクションデータ計算に特化した機能です
以下などを行うことはできません

マスタの登録/更新メール送信データロック操作換算テーブルの参照/更新その他のSAC機能の操作(カレンダタスクを操作する、等)

代表的な構文

高度な式を記述するにあたり、特に重要と思われる構文をピックアップしました。

 

構文

       概要

DATA

モデルデータ更新

RESULTLOOKUP

モデルデータ参照

MEMBERSET

計算スコープの設定

AGGREGATE

集計次元の指定

VARIABLEMEMBER

テンポラリ次元メンバ登録

FOREACH

ループ

IF

分岐

LINK

他モデル参照

まとめ

高度な式についての概要について話しました。
SAP Analytics Cloudは予算計画などの一連の予算管理業務に必要な機能を備えており、本ブログシリーズではそれぞれの機能の特徴や要点をご紹介しています。
こちらのリンクからご参照ください。

 

​ 本ブログシリーズはSAP Analytics CloudのPlanning機能をこれから学ぶ方を対象とし、予算計画などの一連の予算管理業務に必要なSAP Analytics Cloudのそれぞれの機能の特徴や要点をご紹介します※機能の詳細ついてはSAP Help Portalを参照してください。※ SAP Analytics Cloudは、四半期に1度のペースで製品のバージョンアップが実施されます。そのため今後のバージョンアップにより、本ブログで紹介する画面キャプチャや、操作が異なる可能性があることをご了承ください。(本ブログは2025年5月に作成しています。)本ブログでは、SAP Analytics Cloudにおける高度な式をご紹介します。目次:高度な式の概要高度な式の動作の前提になる原則 高度な式が必要となるケース代表的な構文まとめ概要高度な式は、データアクションタイプのひとつであり、データアクションのステップとして定義します。パラメータ機能や、更新対象のモデルが一つに限定される点などは、データアクション共通の前提に準じます。 計画モデルのデータ処理に特化した専用の構文を用いて任意の計算ロジックを記述できます処理要件に柔軟に対応することが可能です。ロジックの記述方法には、スクリプト形式とビジュアル形式の2種類が用意されています高度な式の構成は3つに分かれていますコンテキスト、コンフィグ、処理内容があり、それぞれ下記の表のようになっています。例えば、下記は数量×単価の高度な式のイメージです。ビジュアル形式、スクリプト形式でビジュアル、コンフィグ、処理内容が分かれています。高度な式の動作の前提となる原則高度な式の動作を理解頂くにあたり特に重要な原則として、以下2つが挙げられます。原則①式は、スコープ内の全レコードに対して一括で処理されます原則②式で条件が記載されていない次元については、同値同士のレコードで計算が行われますこの前提の元、先ほども例に出しました数量×単価の式を見ていきます。 この計算式は、金額を出すために数量かける単価を計算しているもので、実行結果の黄色の部分が生成された実行結果です。前提として、販売数量は品目と相手先の組み合わせに数値がはいっています。一方、掛け算の対象になる単価は品目ごとには値が入っていますが、相手先は値なしシャープにデータを持っていたという状況での話になります。原則①の確認式は、スコープ内の全レコードに対して一括で処理されます。数量×単価をこのすべての行にしたい場合、DATA([d/Measures] = “Amount”)
= RESULTLOOKUP([d/Measures] = “Quantity”) * RESULTLOOKUP([d/Measures] = “Price”, [d/Customer] = “#”) を書くだけでよいです。ここでスコープ内というのは、先ほど説明した3つの構成の中のコンテキストの中で対象データにフィルターをかけることができるのですが、その計算の対象のスコープにはいるすべてのレコードに対して同時に一括で処理されます。  原則②の確認式で条件が記載されていない次元については、同値同士のレコードで計算が行われます。 もう一度データを見てみますと、ここでは、単価のレコードは相手先がない状態で入っています。そのため、単価の部分について[d/Customer] = “#”と記述することで相手先がないという条件をここに書いています。DATA([d/Measures] = “Amount”)
= RESULTLOOKUP([d/Measures] = “Quantity”) * RESULTLOOKUP([d/Measures] = “Price”, [d/Customer] = “#”) 計算されます。これも暗黙の前提となります。逆に、高度な式では、この例における価格データの“相手先“次元のように、計算対象のデータ要素ごとに次元値が異なるものを条件として明記する必要があります高度な式が必要となるケース標準のデータアクションタイプとして、データコピー / モデル間コピー / 配賦 / 通貨換算 などの機能が用意されていますが、高度な式は、これらで実現できない処理要件の対応のために利用しますよくある利用ケースの例数量×単価の計算 (売上/売上原価の算出、人件費計画など)償却費計算 (定額法/定率法)内部取引の相殺消去データの算出標準の配賦機能では実現できない配賦ロジックの実現あくまで、モデルのトランザクションデータ計算に特化した機能です以下などを行うことはできませんマスタの登録/更新メール送信データロック操作換算テーブルの参照/更新その他のSAC機能の操作(カレンダタスクを操作する、等)代表的な構文高度な式を記述するにあたり、特に重要と思われる構文をピックアップしました。 構文       概要DATAモデルデータ更新RESULTLOOKUPモデルデータ参照MEMBERSET計算スコープの設定AGGREGATE集計次元の指定VARIABLEMEMBERテンポラリ次元メンバ登録FOREACHループIF分岐LINK他モデル参照まとめ高度な式についての概要について話しました。SAP Analytics Cloudは予算計画などの一連の予算管理業務に必要な機能を備えており、本ブログシリーズではそれぞれの機能の特徴や要点をご紹介しています。こちらのリンクからご参照ください。   Read More Technology Blog Posts by SAP articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author