2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PowerBIページ分割レポート(SSRS)にてPowerBIデータセットをソースにした場合の複数パラメータ値の利用方法

Posted at

概要

複数のパラメータ値でデータを抽出するには、下記の3つの方法があるようです。

  1. パラメータ値が複数ある場合に"|"にて結合して、PATHCONTAINS関数に繋げた列にてフィルタをを実施する方法
  2. パラメータ値が複数ある場合に"|"にて結合して、仮想テーブルとリレーションシップを構築し、フィルタを実施する方法
  3. ”複数の値をもつパラメータを有効にする”機能(RSCustomDaxFilter関数)にて、フィルタを実施する方法

結論

①が一番簡単ですが、パフォーマンスがでない可能性があるそうです。
②が実装が面倒ですが、パフォーマンスが比較的いいそうです。
③だと、レポートビルダーでしかデバックできないようですが、2番目に簡単です。

検証

①パラメータ値が複数ある場合に、"|"にて結合して、PATHCONTAINS関数に繋げた列にてフィルタを書ける方法

手順

1.パラメータ作成後、フィルタを適応するデータセットのプロパティにおけるパラメータにて、下記の式を記入する
image-20200222191535774.png

=Join(Parameters!p_sinryocode.Value,”|”)

2.下記のクエリに記載する
image-20200222192104927.png

EVALUATE
SUMMARIZECOLUMNS (
    '診療科目マスタ'[診療科目],
    FILTER (
        VALUES ( '診療科目マスタ'[診療科目コード] ),
         PATHCONTAINS(@p_sinryocode ,'診療科目マスタ'[診療科目コード])
    ),
    "科目数のカウント", [科目数のカウント]
)

参考リンク

②パラメータ値が複数ある場合に"|"にて結合して、仮想テーブルとリレーションシップを構築し、フィルタを実施する方法

手順

1.パラメータ作成後、フィルタを適応するデータセットのプロパティにおけるパラメータにて、下記の式を記入する
image-20200222191535774.png

=Join(Parameters!p_sinryocode.Value,”|”)

2.下記のクエリに記載する
image-20200222192440794.png

EVALUATE

//パラメータ名を記載すること
VAR OrderList = @p_sinryocode

//ここは定型文
VAR OrderCount =
    PATHLENGTH ( OrderList )
VAR NumberTable =
    GENERATESERIES ( 1, OrderCount, 1 )
VAR OrderTable =
    GENERATE (
        NumberTable,
        VAR CurrentKey = [Value]
        RETURN
            ROW ( "Key", PATHITEM ( OrderList, CurrentKey ) )
    )
VAR GetKeyColumn =
    SELECTCOLUMNS ( OrderTable, "Key", [Key] )
//ここまで定型文

//ここにフィルタをかけるテーブルを指定
VAR FilterTable =
    TREATAS ( GetKeyColumn, '診療科目マスタ'[診療科目コード])

RETURN

SUMMARIZECOLUMNS (
    '診療科目マスタ'[診療科目],
    FilterTable,
    "科目数のカウント", [科目数のカウント]
)

参考リンク

③”複数の値をもつパラメータを有効にする”機能(RSCustomDaxFilter関数)にて、フィルタを実施する方法

手順

  1. データセットにて、"複数の値をもつパラメータを有効にする"を選択後、パラメータにてチェックを行う。
    image-20200222193515719.png

  2. 自動で生成されるパラメータに、事前に作成したパラメータを設定する
    image-20200222193618635.png

注意事項

1.DAX クエリが長くなるとエラーになるようです。
image-20200222193226688.png

2.GUIでしか設定できない可能性があります。
image-20200222193107396.png

参考リンク

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?