フィルタの作成
/essbase/rest/v1/applications/{applicationName}/databases/{databaseName}/filters
指定されたアプリケーションおよびデータベース内にフィルタを作成し、作成したフィルタを返します。
フィルタは、Essbaseデータベース(キューブ)の特定のセルに対するアクセス制限を提供します。システム管理者は誰に対してもフィルタを適用でき、フィルタの影響を受けません。パワー・ユーザーは、自分が作成したアプリケーションにフィルタを定義して適用できます。アプリケーション・マネージャおよびデータベース・マネージャは、アプリケーションまたはキューブ内でフィルタを定義および適用できます。
リクエスト
- application/json
- application/xml
- applicationName(required): string
アプリケーション名。
- databaseName(required): string
データベース名。
フィルタの詳細。
レスポンス
- application/json
- application/xml
200 レスポンス
OK
フィルタが正常に作成されました。フィルタの詳細、フィルタを取得、編集または削除するためのリンク、およびフィルタ行を取得するためのリンクを返します。
400 レスポンス
不正なリクエスト
フィルタの作成に失敗しました。アプリケーション名またはデータベース名が正しくないか、そのフィルタがすでに存在する可能性があります。
415 レスポンス
受入れできません
メディア・タイプがサポートされていないか指定されていません。
500 レスポンス
サーバーの内部エラーです。
例
次の例では、Essbaseセキュリティ・フィルタを作成する方法を示します。
この例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat
内でその変数値が設定されています。
cURLコマンドを含むスクリプト
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/applications/Efficient/databases/UserFilters/filters?links=none" -H "Accept: application/json" -H "Content-Type: application/json" --data "@./lookup_filter_def.json" -u %User%:%Password%
要求本文の例
入力ファイルlookup_filter_def.json
は、次のJSON情報で構成されます。
{"name": "dslookupfilter",
"rows":
[
{
"access": "MetaRead",
"mbrSpec": "@datasourceLookup(\"EFFICIENT.UserDetails\",\"USERNAME\",$loginUser, \"COUNTRY\")"
},
{
"access": "MetaRead",
"mbrSpec": "@datasourceLookup(\"EFFICIENT.UserDetails\",\"USERNAME\",$loginUser, \"BUSINESSUNIT\")"
},
{
"access": "MetaRead",
"mbrSpec": "@datasourceLookup(\"EFFICIENT.UserDetails\",\"USERNAME\",$loginUser, \"COSTCENTER\")"
}
]
}
レスポンス本体の例
{
"name" : "dslookupfilter"
}