Amazon QuickSight でパラメータコントロール値のデータセットフィールドに計算フィールドをリンクできないときの対処法

Amazon QuickSight でパラメータコントロール値のデータセットフィールドに計算フィールドをリンクできないときの対処法

Clock Icon2025.03.20

いわさです。

Amazon QuickSight はパラメータの値をコントロールで編集させることができるのですが、実際にデータセットに存在する値からコントロールの選択肢を作成することが出来ます。

この時、パラメータ値の対象がフラグやカテゴリを示す数値などの場合、それが何を示しているのか値を説明する文字列で表示して選択させたい場合がよくあります。

計算フィールドを使うことで数値フィールドをユーザーが認識しやすい形式に変換することができるのですが、パラメータコントロールにリンクさせることが出来ない場合があったので紹介します。

パラメータコントロールにフィールドをリンクさせる

コントロールの用語の定義だけ先にしておきますが、QuickSight はフィルターから直接コントロールを関連付けする「フィルターコントロール」と、パラメータとコントロールを関連付けする「パラメータコントロール」があります。[1][2]
パラメータをフィルターで使うことはもちろんですが、計算フィールドの中で使ったりビジュアルやシートを横断して使いたい時など、柔軟性が求められる時はパラメータコントロールを選択すると良いです。
今回はこのパラメータコントロールを使った場合のお話になります。

本記事では次のようなサンプル CSV を用意し、データセットとして作成しておきました。
アイテムごとの値を表現したテーブルなのですが、カテゴリ1とカテゴリ2というフィールドがあります。

category1,category2,name,val
0,sub-category1,item1,100
0,sub-category1,item2,100
0,sub-category2,item1,200
0,sub-category2,item2,200
0,sub-category3,item1,300
0,sub-category3,item2,300
1,sub-category4,item1,400
1,sub-category4,item2,400
1,sub-category5,item1,500
1,sub-category5,item2,500

前述の手順でパラメータコントロールを使ってこのカテゴリで絞り込めるようにしましょう。
分析でパラメータとフィルターを作成しリンクさせます。その上でパラメータからコントロールを作成します。
このコントロールを介して閲覧者はダッシュボードを動的に切り替えることができるようになります。

この時、ユーザーはパラメータ値を入力したい場合もあるのですが、選択可能なカテゴリから選択させたい場合もあると思います。
そういった場合、データセットのフィールドをコントロールにリンクさせることで、データセットの中から選択肢を抽出してくれます。以下から設定が可能です。

D111AB6B-D3CD-4555-A3DB-7FF4075AFBC0.png

また、以下の記事のように同一データセット内のフィールド同士であればふたつのコントロールを関連付けることが出来ます。

https://dev.classmethod.jp/articles/mastering-filters-in-amazon-quicksight/

今回あればカテゴリ1を選択することで、カテゴリ2の選択肢はカテゴリ1の選択値と一致したもののみとなります。

93C1C98D-789B-409A-9686-2DDC3586FAEE.png
カテゴリ値 0 を選択

724F10A7-324F-4477-86B2-C1438FC17884.png
カテゴリ値 1 を選択

カテゴリ1を名称に変換する

で、このカテゴリの値が 0 がカテゴリA、1 がカテゴリBを指しているとした場合 0 か 1 を選択させるのではなく、表示上はカテゴリAかカテゴリBかを選択させたくなると思います。
この時、次のように値を判定して文字列を作成する計算フィールドを作成してやることテーブル上の表示を変換することが出来ます。

9A2F4AB6-C5A3-4CAA-AACB-91FCE37CD799_4_5005_c.jpeg
計算フィールドの内容

テーブル上カテゴリ名称が表示されるようになりました。
ただし、コントロールにリンクされているフィールドは変換前野フィールドなので引き続き 0 と 1 が選択されています。

D2051148-750D-4CE5-9796-4FEE8B66193B.png
カテゴリを視認しやすい値に変更する計算フィールド

分析で追加した計算フィールドは指定できない

ここでコントロールにリンクするフィールドを変更しようとしたのですが先ほどは分析上で追加した計算フィールドです。
これが選択出来ないことに気が付きました。

EDF507B5-B2E5-4D12-8287-90332658EDFD.png
パラメータコントロールでリンクフィールドとして選択できない

実はドキュメントに記載されているのですが、コントロールのリンクに計算フィールドは指定できないようです。なんてこったい。

If your parameter links to a dataset field, it must be an actual field. Calculated fields aren't supported.

データセット編集画面で追加した計算フィールドは指定できた

計算フィールドが使えないのは色々制約があるなぁと思ったのですが、少し試してみるとデータセット編集画面で追加した計算フィールドの場合は使えそうなことがわかりました。
計算フィールドは分析画面でも作成できるのですが、データセット編集画面でも作成ができます。

  • データの準備中に計算フィールドをデータセットに追加すると、そのデータセットを使用するすべての分析でそのフィールドを使用できます。分析ページからデータセットに追加すると、計算フィールドはその分析でのみ使用可能です。
  • 分析内で集計される計算フィールドを作成することで、データをドリルダウンできます。その集計フィールドの値は、各レベルで適切に再計算されます。このタイプの集計は、データセットの準備時には不可能です。
    計算フィールドの追加 - Amazon QuickSight より

使い分けとして分析の選択状態に依存した計算を行う場合は分析上で作成を、それ以外の場合はデータセット準備中に計算フィールドを追加すると良いです。今回であれば分析の表示状態にかかわらず、データのフィールド値のみに依存した変換なので後者で良さそうです。

データセット編集画面で計算フィールドを追加します。

EB18B72F-6020-44B5-B491-D5D0964E11C4.png
データセット編集から計算フィールドを追加する

分析画面のフィールド一覧を見てみるとアイコンが違いますね。上がデータセット編集から追加した計算フィールドで、下が分析画面から追加した計算フィールドです。

7CF89462-3A6B-4A41-9270-39608CFD385D_4_5005_c.jpeg
category1strが2つ

次のようにリンクするフィールドとして選択することが出来ました。

1F432A44-4CC2-4941-B542-62FB3AA5F6DF.png
データセット編集から追加した計算フィールドは選択できる

この方法を使うことでこのように閲覧者から認識しやすいコントロールになったと思います。

2D8D8819-2B39-4AF0-9804-CCE23E08CDF5.png
動作している

さいごに

本日は Amazon QuickSight でパラメータコントロール値のデータセットフィールドに計算フィールドをリンクできないときの対処法を紹介しました。

普段何気なく分析から計算フィールドを作成することが多かったのですが、データセット編集から作成するのか分析から作成するのか違いを意識したほうが良いですね。

脚注
  1. Amazon QuickSight でパラメータ付きのコントロールを使用する - Amazon QuickSight ↩︎

  2. 分析シートへのフィルターコントロールの追加 - Amazon QuickSight ↩︎

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.