サーバーからデータを取得するときにフィルタリング又は並べ替えを実行するには、API リクエストでクエリ パラメーターを使用します。
リクエストの末尾に一つ以上のクエリ パラメーターを追加して、そのリソースに対して返されるデータの量と形式を管理できます。クエリ パラメーターでは、レスポンスを配信する前に、フィルタリングや並べ替えなどの一連の変換をデータに対して実行することをサービスにリクエストします。さらに、これらのパラメーターを論理演算子と組み合わせてリクエストを絞り込むことができます。
システム クエリ オプションは、URL によって識別されるリソースに対して返されるデータの量と順序を制御するクエリ文字列パラメーターです。すべてのシステム クエリ オプションの名前には、必要に応じてドル ($) 文字がプレフィックスとして付けられます。
例: GET https://fluenceapi-prod.fluence.app/api/CustomerTenant/{API_Token}/v2305.1/odata/Consolidation?$select=Account_Name,Entity_Name,CostCenter_Name,Currency_Name,Scenario_Name,Date_Name,Amount&$filter=filter=(Entity_Name eq '120') and (Date_Name eq '2024 Dec') and ('Scenario_Name eq 'Actual')
この例では、特定の列がある「Entity_Name '120'」、「Date_Name '2024 Dec'」、「Scenario_Name 'Actual'」のレコードを取得します。
Account_Name
Entity_Name
CostCenter_Name
Currency_Name
Scenario_Name
Date_Name
Amount
Apply ($apply) と groupby ($groupby)
$apply
システム クエリ オプションを使用して、データに対して変換、グループ化、集計の各タスクを実行します。
groupby
オプションでは、ステートメントで指定された関数に基づいて、同じ格納値がある列の行をグループ化します。通常、これらの関数は、min、max、sum、average などの標準的な集計方法のいずれかです。
$apply=groupby((Field))
では、一つ以上のフィールドでデータをグループ化します。aggregate(...)
では、グループ化されたデータに対して計算 (合計、カウントなど) を実行します。これらを組み合わせて、API クエリを最適化してパフォーマンスと効率性を向上させます。
例: GET https://fluenceapi-prod.fluence.app/api/CustomerTenant/{API_Token}/v2305.1/odata/Consolidation?$apply=groupby((Account),aggregate(Amount+with+sum+as+Total))
このリクエストでは、「Consolidation
」クライアント スキーマ テーブル内のすべての「Account
」ディメンションをグループ化し、指定された勘定の合計「Amount
」を計算します。
注: OData 集計機能の詳細については、OData ドキュメントを参照してください。
Count ($count)
$count
システム クエリ オプションを使用すると、クライアントはレスポンス内のリソースに含まれる一致するリソースの数をリクエストできます。
例: GET https://fluenceapi-prod.fluence.app/api/CustomerTenant/{API_Token}/v2305.1/odata/Consolidation?Filter=(Entity_Name eq '120')&$apply=groupby((Entity_Name),aggregate($count as Count))
この例では、「Consolidation
」クライアント スキーマ テーブル内の「Entity_Name '120'
」のレコード数を取得してカウントします。
Filter ($filter)
リクエスト URL によってアドレス指定されたデータのコレクションをフィルタリングするには、$filter
システム クエリ オプションを使用します。システムでは、テーブル内の各行に対して、指定された式を $filter を使用して評価します。式が true であると評価されるアイテムのみがレスポンスに含まれます。
例: GET https://fluenceapi-prod.fluence.app/api/CustomerTenant/{API_Token}/v2305.1/odata/Consolidation?Filter=(Entity_Name eq '120') and (Date_Name eq '2024 Dec') and (Scenario_Name eq 'Actual')
この例では、「Consolidation
」クライアント スキーマ テーブル内で、「Entity_Name」が「'120'」、日付が「'2024 Dec'」、「Scenario_Name」が「'Actual'」のレコードを取得します。
Order by ($orderby)
リソースをリクエストする順序を指定するには、$orderby
オプションを使用します。$orderby
パラメーターを使用する場合、昇順の場合は 'asc'、降順の場合は 'desc' を使用します。
例: GET https://fluenceapi-prod.fluence.app/api/v2305.1/odata/Consolidation?$orderby= Amount desc
この例では、「Consolidation
」クライアント スキーマ テーブル内のレコードを取得し、「Amount
」フィールドに基づいて降順で結果を返します。
Page (Page) と PageSize (PageSize)
バッチ リクエストではサーバー側のページングをサポートしており、クエリ ページと各ページで取得する行数を設定できます。最大ページング サイズは 2500 行です。[Page
] フィールドでは取得するクエリ ページを指定できる一方、クエリの [PageSize
] フィールドではそのページで取得する行数を指定します。クエリ文字列の $Skip
パラメーターは、サーバー側のページングにおける行の開始点を決定します。
Page
パラメーターは 1 から始まります。
さらに、ディメンション メンバーの数も返されます。
レスポンス本文にある [TotalRows
] フィールドには、システム内のディメンションの全体の行数が格納されます。同様に、レスポンス本文の [CurrentPage
] フィールドは現在のページを示し、[TotalPages
] は合計ページ数を表します。
表示を制御するには、[Format] ヘッダーのキー/値を使用します。[flat] に設定すると、ディメンション メンバーとプロパティ フィールドのフラット化されたリストが生成されます。形式が指定されていない場合は、デフォルト値 default が適用されます。デフォルト形式を使用すると、メンバーとプロパティはネストされた配列で表示されます。
例: GET https://fluenceapi-prod.fluence.app/api/CustomerTenant/{API_Token}/v2305.1/metadata/Dimensions/Measure?Page=1&PageSize=500
この例では、メジャー ディメンションのメンバーのリストを取得します。クエリ パラメーター Page 及び PageSize は、最大 500 行を含むデータの最初のページを返します。
Select ($select)
$select
システム クエリ オプションでは、クライアント スキーマ テーブルから特定の列セットを取得します。Anaplan Financial Consolidation システムには、クライアント スキーマに関連付けられた複数の行を含む大量の財務データが含まれている場合があります。$select パラメーターを使用すると、企業は API レスポンスで必要なフィールドのサブセットを指定できます。これにより、必要なデータのみが取得されるため、ネットワーク帯域幅が削減され、パフォーマンスが向上します。
$select の値は、選択されたアイテムのカンマ区切りリストです。選択アイテムはそれぞれ次のいずれかになります。
- 宣言された列または動的な列をすべて含めるためのワイルドカード文字であるアスタリスク (
*
) - 列名を含めるためのパス
例: GET https://fluenceapi-prod.fluence.app/api/CustomerTenant/{API_Token}/v2305.1/odata/Consolidation?$select *
この例では、$select *
を使用して、「Consolidation
」クライアント スキーマ テーブルからすべての列と行を取得します。
レコードを制限するには、たとえば、GET https://fluenceapi-prod.fluence.app/api/CustomerTenant/{API_Token}/v2305.1/odata/Consolidation?$select=Account_Name,Entity_Name,CostCenter_Name,Currency_Name,Scenario_Name,Date_Name,Amount
を使用できます。
この例では、以下を含む「Consolidation
」クライアント スキーマ テーブル内のすべての列と行を取得します。
Account_Name
Entity_Name
CostCenter_Name
Currency_Name
Scenario_Name
Date_Name
Amount
Skip ($skip)
$skip クエリ オプションでは、結果のコレクションから指定された数のアイテムを除外するようにクエリに指示します。
例: GET https://fluenceapi-prod.fluence.app/api/CustomerTenant/{API_Token}/v2305.1/odata/Consolidation?$skip=10
この例では、「Consolidation
」クライアント スキーマ テーブルから最初の 10
行を除外します。
Top ($top)
$top システム クエリ オプションでは、コレクションから指定された数のアイテムを結果に含めるようクエリに指示します。
GET https://fluenceapi-prod.fluence.app/api/CustomerTenant/{API_Token}/v2305.1/odata/Consolidation?$top=10
この例では、「Consolidation
」クライアント スキーマ テーブルの最初の 10
行を含めます。