ピボットテーブル、KPIに文字列を表示するにはどうしたらよいでしょうか?
添付資料を参照ください。
@kobayashi
ご質問いただきありがとうございます。
下記の3案のうち、最適なものをご選択いただければと思います。
前提(公式仕様の確認)
Amazon QuickSight の KPI ビジュアルは「値(Value)」フィールドウェルにメジャー(数値集計)のみを受け付けます。ディメンション(文字列)を配置した場合は自動的に Count 集計が適用され、文字列そのものは表示されません。
参照: Using KPIs - Amazon Quick
参照: KPI to populate strings - QuickSight Community
以下に、KPI 風の文字列表示を実現する 3 つの方法 を推奨順に説明します。
方法比較まとめ(推奨順)
| 方法 | 動的更新 | 難易度 | 見た目の再現性 | 推奨理由 |
|---|---|---|---|---|
| フリーフォーム + テーブル(1行1列) | ◎ | ★☆☆ | ◎ | 設定が最もシンプル。計算フィールド不要、フィルター連動で動的更新、文字列をそのまま表示可能 |
| Insight カスタムナラティブ | ◎ | ★★☆ | ○ | フィールド値を動的に参照でき柔軟性が高い。ナラティブ式エディターの習熟が必要 |
| テキストボックス + パラメーター | △ | ★☆☆ | ◎ | 見た目の自由度は高いが、パラメーター値は静的テキストのためフィルター連動の動的更新に追加工夫が必要 |
方法①:フリーフォームレイアウト + テーブルビジュアル(1行1列)
テーブルビジュアルを 1 セルだけ表示する形で KPI 風に見せる方法です。設定がシンプルで確実に動作します。
再現手順
| # | 操作 |
|---|---|
| 1 | 分析(Analysis)を開き、対象シートのレイアウトをフリーフォームに変更する。 メニュー: Format → Layout → Free-form 参照: Types of layout |
| 2 | パラメーターを作成する。 ① 左ペイン「Parameters」→「+ Create one」 ② 名前: pYearMonth、データ型: String、デフォルト値: 202601 |
| 3 | パラメーター用コントロールを追加する。 ① 作成したパラメーター横の「▼」→「Add control」 ② スタイル: ドロップダウン(値リストを年月のリストで設定) ③ ユーザーがここで年月を切り替える |
| 4 | フィルターを作成する。 ① 左ペイン「Filters」→「+」→「年月」フィールドを選択 ② フィルタータイプ: Custom filter → 条件: Equal to → 値: パラメーター pYearMonth を選択③ スコープ: All visuals of this sheet(デフォルト) |
| 5 | テーブルビジュアルを追加する。 ① ツールバー「+ Add」→「Add visual」 ② Visual types ペインから 「Table」 を選択(Pivot table ではなく通常の Table) |
| 6 | テーブルのフィールド設定をする。 ① Value フィールドウェルにのみ レーティング をドラッグ&ドロップ② Group by は空のままにする ③ Value にディメンション(文字列)のみを配置すると、非集計ビュー(Unaggregated view)となり、文字列がそのまま表示される 参照: Using tables as visuals — “To create a nonaggregated view of the data, add fields only to the Value field well.” |
| 7 | ビジュアル固有フィルターを設定する。 ① テーブルビジュアルを選択した状態で、左ペイン「Filters」→「+」→「組織」フィールド ② フィルタータイプ: Filter list → 1課 のみチェック③ フィルターのスコープを変更: フィルター名横の「…」メニュー → 「Apply to」→「Only this visual」 を選択 |
| 8 | テーブルのヘッダーを目立たなくする。 ① ビジュアル右上のフォーマットアイコン(筆マーク)をクリック → Properties ペインが開く ② 「Headers」 セクションを開く ③ Row height: 8(最小値・単位: px)に設定 ④ TEXT セクション → Font size: 8(最小)に設定 ⑤ TEXT セクション → Text styling の色: 白色(背景と同色)に設定 ⑥ Background: 白色に設定 ⑦ Borders: 「なし(No borders)」アイコンを選択 ※ テーブルのヘッダーを完全に非表示にするトグルは現時点で存在しないため、上記設定で実質的に見えなくする 参照: Headers |
| 9 | テーブルのセル(ボディ)を大きく表示する。 ① Properties ペイン → 「Cells」 セクションを開く ② Row height: 80〜120(カードの高さに合わせて調整・単位: px) ③ TEXT セクション → Font size: 28〜36pt に設定 ④ TEXT セクション → 水平アラインメント: Center alignment アイコンを選択 ⑤ TEXT セクション → 垂直アラインメント: Middle alignment アイコンを選択 参照: Cell formatting |
| 10 | テーブルビジュアルのタイトルを「1課」に変更する。 ① ビジュアル上部のタイトルテキストをダブルクリック ② 1課 と入力③ タイトルのフォントサイズ: 12pt 程度 |
| 11 | ビジュアルをリサイズし、カード型に整形する。 ビジュアルの枠をドラッグして幅 200〜250px、高さ 150〜180px 程度に調整。 |
| 12 | 同様の手順(手順5〜11)を「2課」「3課」用にも繰り返す。 各テーブルのビジュアル固有フィルター(手順7)で対応する組織名を指定する。 |
| 13 | 3つのテーブルを横に並べて配置し完成。 パラメーターコントロールで年月を切り替えると、各カードのレイティングが動的に更新される。 |
注意事項
- 年月×組織でデータが1レコードになるよう、フィルターが正しく設定されていることを確認してください。複数レコードが返される場合、テーブルに複数行が表示されます。
- テーブルビジュアルのヘッダーを完全に非表示にする専用トグルは現時点で提供されていません。上記手順8の方法(最小サイズ+テキスト色・背景色を白に統一+ボーダーなし)で実質的に非表示にします。
- Value フィールドウェルに文字列ディメンションのみを配置し、Group by を空にすることで非集計ビューとなり、文字列がそのまま表示されます。
参考URL
- Create stunning, pixel perfect dashboards with the new free-form layout mode in Amazon QuickSight - AWS Blog
- Using tables as visuals - Amazon Quick 公式ドキュメント
- Table and pivot table formatting options - Amazon Quick 公式ドキュメント
- Cell formatting - Amazon Quick 公式ドキュメント
- Headers - Amazon Quick 公式ドキュメント
- Types of layout - Amazon Quick 公式ドキュメント
方法②:Insight ビジュアル(カスタムナラティブ)
Insight(オートナラティブ)ビジュアルを使えば、データセットのフィールド値を動的テキストとして表示できます。
再現手順
| # | 操作 |
|---|---|
| 1 | 分析(Analysis)を開き、対象シートのレイアウトをフリーフォームに変更する。 メニュー: Format → Layout → Free-form |
| 2 | パラメーターと年月フィルターを方法①の手順 2〜4 と同様に作成する。 |
| 3 | Insight ビジュアルを追加する。 ① ツールバーの 「+ Add」→「Add insight」 をクリック ② テンプレート選択画面が表示される ③ テンプレートを選択せずに画面を閉じる(×ボタンまたは画面外をクリック) ④ 空の Insight コンテナがシートに追加される(「Customize insight」ボタンが表示される場合もある) 参照: Adding custom insights to your analysis — “Exit this screen and customize the insight manually.” |
| 4 | Insight のフィールドウェルに配置する。 ① Categories フィールドウェル: レーティング をドラッグ&ドロップ② Values フィールドウェル: スコア(メジャー)をドラッグ&ドロップ※ Top ranked computation には少なくとも Categories に1つのディメンションが必要 |
| 5 | ビジュアル固有フィルターを設定する。 ① Insight ビジュアルを選択した状態で「Filters」→「+」→「組織」フィールド ② Filter list → 1課 のみチェック③ スコープ: フィルター名横の「…」→ 「Apply to」→「Only this visual」 |
| 6 | カスタムナラティブを編集する。 ① Insight ビジュアル内の 「Customize insight」ボタンをクリック(または右上メニュー(▼)→「Customize narrative」を選択) ② ナラティブ式エディターが開く |
| 7 | Computation を追加する。 ① エディター右側の「Computations」パネル下部 → 「Add computation」 をクリック ② 一覧から 「Top ranked」 を選択し 「Next」 をクリック ③ Number of results: 1 に設定 ④ 「Add」 をクリック ⑤ Computations パネルに「TopRanked」が追加される |
| 8 | ナラティブの式を記述する。 ① エディター本文(左側)のデフォルトテンプレートをすべて削除 ② 右側「Computations」→「TopRanked」を展開 ③ items → [0] → categoryField → formattedValue を1回だけクリックして挿入④ エディター本文に TopRanked.items[0].categoryField.formattedValue が挿入される⑤ これにより「レーティング」フィールドの値(例: B, BBB, A)が動的に表示される ※ 2回クリックすると同じ式が重複挿入されるため注意 |
| 9 | フォーマットを調整する。 ① エディター本文に挿入された式テキストを全選択 ② エディター上部のツールバーでフォントサイズを 28〜36pt に設定 ③ 太字に設定(任意) ④ 「Save」 をクリック |
| 10 | Insight ビジュアルのタイトルを「1課」に変更する。 ① ビジュアル上部のタイトルをダブルクリック ② 1課 と入力 |
| 11 | ビジュアルをリサイズし、KPI カード風の外観に整える。 幅 200〜250px、高さ 150〜180px 程度に調整。 |
| 12 | 同様の手順(手順3〜11)を「2課」「3課」用にも繰り返す。 各 Insight のビジュアル固有フィルター(手順5)で対応する組織名を指定する。 |
補足: Top ranked computation の出力パラメーター
公式ドキュメント(Top ranked computation)によると、出力は以下のとおりです:
categoryField.name— カテゴリフィールドの表示名metricField.name— メトリクスフィールドの表示名metricField.aggregationFunction— メトリクスの集計関数(SUM、AVG 等)itemsCount— 返されるアイテム数items[n].categoryField.value— カテゴリフィールドの値items[n].categoryField.formattedValue— カテゴリフィールドのフォーマット済み値(NULL の場合 ‘NULL’、空の場合 ‘(empty)’ と表示)items[n].metricValue.value— メトリクスの生値items[n].metricValue.formattedValue— メトリクスのフォーマット済み値items[n].metricValue.formattedAbsoluteValue— メトリクスの絶対値フォーマット済み
1組織×1年月でデータが1レコードなら、items[0].categoryField.formattedValue はそのレイティング文字列そのものになります。
注意事項
items[]の添え字にはリテラル値のみ使用可能です。itemsCount - 1のような計算式は使用できません(QuickSight Community 確認済み)。- Insight ビジュアルにはビジュアル固有フィルターを適用できるため、組織ごとに個別の Insight を作成してフィルターで表示データを切り替えます。
参考URL
- Adding custom insights to your analysis - Amazon Quick 公式ドキュメント
- Top ranked computation - Amazon Quick 公式ドキュメント
- Insights that include autonarratives - Amazon Quick 公式ドキュメント
- Use the narrative expression editor - Amazon Quick 公式ドキュメント
- Insights visual narrative: dynamic indexing into Top.items[] - QuickSight Community
方法③:フリーフォームレイアウト + テキストボックス + パラメーター
パラメーターの動的テキスト挿入機能を使い、KPI 風のカードを作成します。
再現手順
| # | 操作 |
|---|---|
| 1 | 分析(Analysis)を開き、対象シートのレイアウトをフリーフォームに変更する。 メニュー: Format → Layout → Free-form |
| 2 | パラメーターを作成する。 ① 左ペイン「Parameters」→「+ Create one」 ② 名前: pYearMonth、データ型: String、デフォルト値: 202601 |
| 3 | パラメーター用コントロールを追加する。 ① 作成したパラメーター横の「▼」→「Add control」 ② スタイル: ドロップダウン(値リストを年月のリストで設定) ③ ユーザーがここで年月を切り替える |
| 4 | フィルターを作成する。 ① 左ペイン「Filters」→「+」→「年月」フィールドを選択 ② フィルタータイプ: Custom filter → 条件: Equal to → 値: パラメーター pYearMonth を選択③ スコープ: All visuals of this sheet |
| 5 | テキストボックスを追加する。 ① ツールバーの 「+ Add」→「Add text box」 をクリック ② テキストボックスが空の状態でシートに配置される |
| 6 | テキストボックスにパラメーターの動的値を挿入する。 ① テキストボックス内をクリックし編集モードに入る ② ツールバーの パラメーターアイコン( <> マーク) をクリック③ 一覧から pYearMonth パラメーターを選択して挿入④ テキストボックス内にパラメーター値のプレースホルダーが表示される |
| 7 | テキストボックスを KPI カード風にスタイリングする。 ① パラメーター値テキストを選択し、フォントサイズを 36pt 以上に設定 ② テキスト配置を中央揃え ③ テキストボックスの書式設定で背景色: 白、ボーダー: 有効(色: ダークブルーなど) ④ ボックスをリサイズしてカード型に整形 |
| 8 | 「1課」「2課」「3課」のラベル用テキストボックスを別途作成し、各カードの上部に配置する。 フォントサイズ 12pt 程度、テキスト: 各組織名。 |
| 9 | 必要に応じてカードを横に並べて配置し完成。 |
制限事項
- テキストボックスで参照できるのはパラメーター値およびシステムパラメーター(日付
AWS:printTime、ページ番号AWS:pageNumber等)のみ。データセットのフィールド値を直接表示することはできない。 - この方法で表示されるのはパラメーター(コントロール)に設定した固定値であり、データから動的に取得した「レーティング」フィールドの値ではない。そのため、年月を切り替えてもレイティング値が自動更新されない。
- データセットのフィールド値を動的に表示する必要がある場合は、方法①または方法②を使用すること。
参考URL
- Add text boxes to your Amazon QuickSight analysis - AWS Blog
- Using QuickSight parameters and controls to drive interactivity - AWS Blog
参考URL一覧
- Using KPIs - Amazon Quick 公式ドキュメント
- KPI to populate strings - QuickSight Community
- Display and Style String Values - QuickSight Community
- Types of layout - Amazon Quick 公式ドキュメント
- Using tables as visuals - Amazon Quick 公式ドキュメント
- Table and pivot table formatting options - Amazon Quick 公式ドキュメント
- Cell formatting - Amazon Quick 公式ドキュメント
- Headers - Amazon Quick 公式ドキュメント
- Adding custom insights to your analysis - Amazon Quick 公式ドキュメント
- Top ranked computation - Amazon Quick 公式ドキュメント
- Insights that include autonarratives - Amazon Quick 公式ドキュメント
- Use the narrative expression editor - Amazon Quick 公式ドキュメント
- Add text boxes to your Amazon QuickSight analysis - AWS Blog
- Create stunning, pixel perfect dashboards with the new free-form layout mode - AWS Blog
- Using QuickSight parameters and controls to drive interactivity - AWS Blog
回答ありがとうございます。上記パターンで試してみます。
@kobayashi その後いかがでしょうか? oyachiya さんの返答で解決しておりますでしょうか?もし解決しているようでしたら、返答の下にあるチェックボックスをクリックし、Solutionを選択いただけると助かります
