Looker ビジュアリゼーション クックブックを最大限に活用する: 条件付き書式のカスタマイズ

特定の条件を満たす(または満たしていない)値を視覚的にハイライト表示することで、ユーザーはデータの傾向をすばやく特定できます。このパターンは、Excel またはその他のスプレッドシート アプリケーションで条件付き書式と呼ばれることもあります。

たとえば、このページのビジュアリゼーション設定で直接条件付き書式を使用するセクションでは、テーブルのビジュアリゼーションを使用することでユーザーの成長がポジティブかネガティブになる可能性のある場所を特定することができます。

Looker では、ビジュアリゼーションでいくつかの方法で条件付き書式がサポートされています。

  • 表計算と絵文字を使用。このアプローチは、書式設定を決定する条件を Looker Explore 内で直接作成する必要がある場合に最適です。表計算を使用したビジュアリゼーションにカスタム書式を適用する方法については、表計算を使用した条件付き書式のベスト プラクティスのページをご覧ください。
  • テキストと表グラフのビジュアリゼーション設定にある内蔵オプションを使用します。
  • html LookML パラメータを使用します。これは、書式設定を行う条件が特定のフィールドに対する分析全体で一貫している場合の値の書式設定に適しています。

この Cookbook では、最後の 2 つのオプションのチュートリアルを提供します。

ビジュアリゼーション設定を使用した条件付き書式

ビジュアリゼーション設定を使用して、表グラフ単一値のビジュアリゼーション単一レコードのビジュアリゼーションで条件付き書式を適用できます。

このセクションでは、ビジュアリゼーションの [編集] メニューで利用可能なビジュアリゼーション設定を使用して、表グラフで条件付き書式を使用するためのガイドを提供します。

単一値のビジュアリゼーションの条件付き書式の手順ガイドについては、Looker クックブックでビジュアリゼーションを最大限に活用する単一値のビジュアリゼーションで大量の情報を表示するレシピをご覧ください。

構成要素

前提条件

条件付き形式でテーブル ビジュアリゼーションを作成するには、次のものが必要です。

あるマーケティング チームは、毎月の新規ユーザー数を年齢層別に把握し、毎月実施するマーケティング訴求の反響をより良く理解したいと考えています。

テーブル ビジュアリゼーションと Explore データテーブルは、ユーザー数をユーザー作成月でグループ化し、8 つのユーザー年齢層列(10-19、20-29、30-39、80歳以上まで)でピボット表示します。

デフォルトのテーブル ビジュアリゼーションは、一部のユーザーには解析が難しい場合があります。ビジュアリゼーション設定内で条件付き書式を使用すると、目標と比較対照したり、ルールを設定したりできます。これにより、ユーザーがデータをよりわかりやすく把握できます。

この例では、マーケティング チームがテーブル内の値を次の条件と比較したいと考えています。

  • プラスの成長率(緑) - 50 人以上の新規ユーザーを含む月と年齢の階層
  • 平均成長率(黄色) - 25 ~ 50 名の新規ユーザーを含む月と年齢の階層
  • 低い成長率(赤) - 24 人以下の新規ユーザーを含む月と年齢の階層

次の手順に沿って、ビジュアリゼーションの [編集] メニューで設定を使用して、テーブル ビジュアリゼーションに条件付き書式を適用します。

  1. [ビジュアリゼーション] バーの [編集] メニューを選択します。
  2. [プロット] タブで、必要に応じてテーブル スタイル オプションを選択します。たとえば、[テーブルのテーマ] プルダウン メニューでテーブルテーマを選択するか、[行番号を表示]切り替えを選択または解除して、行番号を表示するかどうかを選択します。
  3. [プロット] タブで、[セルのビジュアリゼーション] オプションを選択して無効にします。テーブル値に条件付き書式を適用するには、[セルのビジュアリゼーション] を無効にする必要があります
  4. [書式] タブで、[条件付き書式を有効にする] 切り替えを選択して、条件付き書式を有効にし、条件付き書式の設定にアクセスします。
    • [フォーマット] タブの [] セクションで [コレクション] プルダウン メニューからカラーパレットを選択できます。また、[カスタマイズ]セクションで、[]フィールドの行のサイズをピクセル単位で、[ヘッダー]フィールドの列のヘッダー テキストの配置、フォントサイズ、色をカスタマイズすることができます。
    • この例では、[null 値をゼロとして含める] オプションを選択して、任意の null を 0 として含めます。
  5. 条件付き書式ルールを作成します。[ルールを追加] ボタンを選択して、条件付き書式ルールを必要な数だけ追加できます。
    • [適用先] プルダウンから、ルールに適用する値を選択します。
  6. [形式] プルダウンから、ルールに適用する形式を選択します。* デフォルトのスケールに従うの書式を使用することもできます。値は、選択したカラーパレットと値の設定に基づいて、グラデーション上にハイライト表示されます。スケールでの色のコーディングについて詳しくは、表グラフのオプションのドキュメント ページの条件付き書式のセクションをご覧ください。

    • 必要に応じて、各ルールの [背景色]、[フォントの色]、[フォント スタイル] の値を指定します。色のコントラストを、コンテンツへのアクセスのしやすさで考慮してください。
    • この例では、3 つのルールが作成されます。

      • 値が 49 より大きい場合、緑色の背景色オプションのフォーマット オプションが選択されます。
      • 値が 24 ~ 50 の場合、黄色の背景色オプションのフォーマット オプションが選択されます。
      • 値が 25 未満の場合、赤色の背景色オプションのフォーマット オプションが選択されます。

結果のビジュアリゼーションには、マーケティング チームが指定した基準に基づいて各年齢階層のユーザー数が表示されます。

  • プラスの成長率(緑) - 50 人以上の新規ユーザーを含む月と年齢の階層
  • 平均成長率(黄色) - 25 ~ 50 名の新規ユーザーを含む月と年齢の階層
  • 低い成長率(赤) - 24 人以下の新規ユーザーを含む月と年齢の階層

html パラメータを使用した LookML の条件付き書式

ビジュアリゼーションの [編集] メニュー設定に加えて、条件付き書式をフィールドの LookML に直接ハードコードできます。これは、特定のフィールドの分析全体で一貫した条件付き書式を設定する場合に便利です。これにより、個々のクエリに対してビジュアリゼーション設定を再構成する必要がなくなります。

構成要素

  • Liquid 変数 - Liquid 変数は、指定された HTML 形式と連携してフィールドの値をレンダリングします。
  • html パラメータ - フィールドの html パラメータにコーディングされた HTML スタイルは、Explore のデータテーブルとビジュアリゼーションで表示されます。
  • 表のビジュアリゼーション - 条件付き書式は、ビジュアリゼーションの際にユーザーに表示されます。

前提条件

html パラメータに条件付き書式をハードコードするには、次のものが必要です。

各注文のステータスを示す status というデータにフィールドがあるとします。status に指定できる値は次のとおりです。

  • "cancelled"
  • "complete"
  • "pending"

[ステータス] フィールドを含むクエリ結果を表示しているユーザーに注文ステータスをハイライト表示するには、各ステータスをハイライト表示する独自の背景色を追加します。

条件付き書式を LookML フィールドにコード化するには:

dimension: status {
  type: string
  sql: ${TABLE}.status ;;
  html:
    {% if value == 'complete' %}
      <p style="color: black; background-color: lightgreen;">{{ value }}</p>
    {% elsif value == 'pending' %}
      <p style="color: black; background-color: orange;">{{ value }}</p>
    {% else %}
      <p style="color: white; background-color: red;">{{ value }}</p>
    {% endif %}
  ;;
  description: "The current status of an existing order."
}
  1. 開発モード、条件付き書式を追加する LookML フィールドに移動します。
    • フィールドの LookML 定義には、Explore から直接移動できます。
  2. フィールドに html パラメータを追加します。この場合、フィールドは status です。
  3. htmlパラメータで、フィールドの特定の値の条件を設定する式を Liquid タグの構文で作成します。
  4. 保存して検証し、期待通りに動作することを確認したら、コードを本番環境にプッシュしてください。

結果は、フィールドを含む Looker クエリ結果で、[ステータス] 値がステータスに応じて赤、緑、またはオレンジでハイライト表示されます。

解約された注文ステータスが赤色、完了で緑色、保留中はオレンジ色でグループ化された注文件数を示すテーブルのビジュアリゼーション。

背景色は他のグラフにも表示されます。たとえば、[注文数] を [注文ステータス] ごとにグループ化したクエリの縦棒グラフでは、[注文] の値ごとに色分けされた背景色が表示されます。

追加のスタイル設定

前の例と同じ構文を使用して、フィールド値に基づいてアイコンや画像を追加できます。次の例では、[注文ステータス] が [cancelled] の赤色の「x」チェックマーク アイコン、[注文ステータス] が [complete] の緑色のチェックマーク アイコン、注文ステータスが [pending] の 時計アイコンを追加します。

    dimension: status {
      type: string
      sql: ${TABLE}.status ;;
      html:
        {% if value == 'complete' %}
          <p><img src="https://findicons.com/files/icons/573/must_have/48/check.png" height=20 width=20>{{ rvalue }}</p>
        {% elsif value == 'pending' %}
          <p><img src="https://findicons.com/files/icons/1681/siena/128/clock_blue.png" height=20 width=20>{{ value }}</p>
        {% else %}
           <p><img src="https://findicons.com/files/icons/719/crystal_clear_actions/64/cancel.png" height=20 width=20>{{ value }}</p>
        {% endif %}
      ;;
      description: "The current status of an existing order."
    }

結果は、フィールドを含む Looker クエリ結果で、値の横に赤い x アイコン、緑のチェックマーク アイコン、または時計アイコン(ステータスに応じて)でステータス値が表示されます。

次のステップ

条件付き書式でテーブルのビジュアリゼーションを作成したら、他のユーザーと共有できます。