0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Planning AnalyticsのWebシートでカスケードフィルターの作り方

Posted at

カスケードフィルターのイメージ

親フィルターの選択値により、子フィルターの選択肢が絞り込まれるカスケードフィルターの実装方法です。
・親フィルターで「A1」を選択した時
image.png
・親フィルターで「A2」を選択した時
image.png
・親フィルターで「A3」を選択した時
image.png

実装方法

以下のディメンションを作成します。こちらがカスケードの親になります。
Defaultサブセットも作成しておきます。
image.png

以下のディメンションを作成します。こちらがカスケードの子になります。
属性に親ディメンションの要素名を持っています。
Sub01という名称で全要素が含まれるサブセットを作成しておきます。
image.png

以下のディメンションを作成します。要素のタイプはストリングで、カスケードする親ディメンションの数だけ作成します。
image.png

親フィルターで選択した値を保持するキューブ(C_SY_UserSelection)を作成します。
ディメンションに }Client と D_SY_UserSelection を指定します。
image.png

親フィルターにD_SY01、子フィルターにD_SY04を配置した動的レポートを作成します。
image.png

image.png

=@SUBNM("tm1:D_SY01","Default","A1")

image.png

=@SUBNM("tm1:D_SY04","Sub01","B11")

空いているセル(B16)に、親フィルターの選択をC_SY_UserSelectionキューブに書き込むDBSS関数を追加します。

=DBSS(B15,"tm1:C_SY_UserSelection",TM1USER("tm1"),"D_SY01_S")

image.png

C_SY_UserSelectionキューブを確認すると、親フィルターの選択値が挿入されています。
image.png

D_SY04のSub01サブセットのMDX式を以下の内容に変更します。

{
FILTER(TM1SUBSETALL([D_SY04].[D_SY04]) , [D_SY04].[D_SY04].[ATR1] = [C_SY_UserSelection].(STRTOMEMBER(" [}Clients].[}Clients].[" + USERNAME + "]"),[D_SY_UserSelection].[D_SY_UserSelection].[D_SY01_S]))
}

image.png

WEBシートをPAfEから発行し動作を確認します。
・親フィルターで「A1」を選択した時
image.png
・親フィルターで「A2」を選択した時
image.png
・親フィルターで「A3」を選択した時
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?