ディメンションの値に対してピボットを適用する方法

 稀なケースではありますが、メジャーフィールドの集計値ではなく、ディメンションの値にピボットを適用したいと以前相談を受けました。

その時の解決方法をこちらでも紹介したいと思います。

39930451-b2cd-4e13-a846-19c5d156d0d6.png

チャレンジ

  • ディメンションの値にピボットを適用させる

あまり良い例ではないですが、、、市と性別を軸にユーザーの名前を表示させたいとします。

実装方法

実装方法1:Listタイプのカスタムメジャーを使用する

  1. ユーザー名の情報を持つディメンションfirst_nameからlistタイプのカスタムメジャーを作成する(Explore上の操作)
  2. 上で作成したフィールドを使用し、Explore上でピボットテーブルを作成する

実装方法2:Viewファイル内にtype: listのメジャーフィールドを作成する

  1. ピボットを適用させたいディメンションフィールドをViewファイル内に作成する
dimension: first_name {
    type: string
    sql: ${TABLE}.first_name ;;
}
  1. 上で作成したディメンションフィールドを、listタイプのメジャーフィールドとしてViewファイル内で再定義する
measure: list { 
type: list
list_field: first_name
}
  1. 上で作成したフィールドを使用し、Explore上でピボットテーブルを作成する

アウトプット

39930451-b2cd-4e13-a846-19c5d156d0d6.png
2 0 463