LookML ダッシュボードの円グラフ パラメータ

このページでは、dashboard.lkml ファイルに LookML ダッシュボード パラメータを使用して、type: looker_pie の LookML ダッシュボード要素を追加してカスタマイズする方法について説明します。

Looker UI を使用して円グラフを作成する方法については、円グラフのオプションのドキュメントをご覧ください。

使用例


## BASIC PARAMETERS
name: element_name
title: 'Element Title'
type: looker_pie
height: N
width: N
top: N
left: N
row: N
col: N
refresh: N (seconds | minutes | hours | days)
note:
  text: 'note text'
  state: collapsed | expanded
  display: above | below | hover

## QUERY PARAMETERS
model: model_name
explore: explore_name
dimensions: view_name.field_name
measures: view_name.field_name
sorts: [view_name.field_name asc | desc, view_name.field_name, …]
limit: N
column_limit: N
filters:
  view_name.field_name: 'Looker filter expression' | 'filter value'
listen:
  dashboard_filter_name: dimension_or_measure_name
query_timezone: 'specific timezone' | user_timezone
merged_queries:
- 'primary query definition'
- 'next source query definition'
  join_fields:
  - field_name: view_name.field_name
    source_field_name: view_name.field_name

## PLOT PARAMETERS
value_labels: none | legend | labels
label_type: lab | val | labVal | per | labPer
inner_radius: N
hidden_fields: [view_name.field_name, view_name.field_name, …]

## SERIES PARAMETERS
colors: [css_color, css_color, …]
series_colors:
  series_name: css_color
  # Possibly more series color assignments
series_labels:
  'Series Name': desired series label
  # Possibly more series label assignments

パラメーター定義

パラメーター名 説明
基本パラメータ
name(要素の場合) 要素を作成する
title(要素の場合) 要素名のユーザーへの表示方法を変更します
type(要素の場合) 要素で使用するビジュアリゼーションのタイプを決定します。
height(要素の場合) layout: tile および layout: static ダッシュボードの要素の高さを tile_size の単位で定義します
width(要素の場合) layout: tile および layout: static ダッシュボードの要素の幅を tile_size の単位で定義します
top layout: static ダッシュボードで、要素の上から下への位置を tile_size の単位で定義します。
left layout: static ダッシュボードの要素の左から右への位置を tile_size の単位で定義します
row layout: newspaper ダッシュボードの要素の上から下の位置を、行単位で定義します。
col layout: newspaper ダッシュボードの要素の左から右への位置を列単位で定義します
refresh(要素の場合) 要素が自動的に更新される間隔を設定します
note LookML のセクションを開始して、要素のメモを定義します。このパラメータには、textstatedisplay のサブパラメータがあります。
クエリ パラメータ
model 要素のクエリに使用するモデルを定義します。
explore(要素の場合) 要素のクエリに使用する Explore を定義します。
dimensions 要素のクエリに使用するディメンションを定義します。
measures 要素のクエリに使用するメジャーを定義します。
sorts 要素のクエリに使用する並べ替えを定義します
limit 要素のクエリに使用する行数制限を定義します。
filters(要素の場合) 要素のクエリで変更できないフィルタを定義します。
listen filters(ダッシュボード用)が作成された場合に、要素のクエリで変更できるフィルタを定義します。
query_timezone クエリの実行時に使用するタイムゾーンを定義します
merged_queries マージされた結果クエリを定義
プロット パラメータ
value_labels 円グラフの個々のセクションにラベルを付ける方法を変更する
label_type 円グラフのさまざまなセクションを表すラベルの形式をカスタマイズできます
inner_radius 円グラフの内側の半径を決めて、実際にはドーナツグラフに変換します
hidden_fields クエリで使用する(グラフには表示しない)フィールドを指定します。
時系列パラメータ
colors グラフの系列の表示順序に基づいて、グラフの系列の色を設定します
series_colors シリーズの名前に基づいてグラフの系列の色を設定します
series_labels ユーザーにシリーズ名の表示方法を変更する

基本パラメータ

LookML ダッシュボード要素を定義する場合は、少なくとも nametype の基本パラメータの値を指定する必要があります。その他の基本パラメータ(titleheightwidth など)は、ダッシュボード上の要素の外観と位置に影響します。

name

このセクションでは、ダッシュボード要素の一部である name パラメータについて説明します。

name はダッシュボード フィルタの一部として使用することもできます。詳しくは、ダッシュボード パラメータに関するドキュメント ページをご覧ください。

name の宣言ごとに新しいダッシュボード要素が作成され、名前が割り当てられます。要素名は一意である必要があります。layout: grid ダッシュボードを使用している場合、名前が elements パラメータで参照されることがあります。

- name: orders_by_date

title

このセクションでは、ダッシュボード要素の一部である title パラメータについて説明します。

title はダッシュボードの一部として使用することもできます。詳しくは、ダッシュボード パラメータに関するドキュメント ページをご覧ください。

title はダッシュボード フィルタの一部として使用することもできます。詳しくは、ダッシュボード パラメータに関するドキュメント ページをご覧ください。

title パラメータを使用すると、要素名のユーザーへの表示方法を変更できます。指定しない場合、タイトルはデフォルトで要素 name に設定されます。

次の例を考えてみましょう。

- name: sales_overview
  title: '1) Sales Overview'

この形式を使用すると、要素は [販売の概要] ではなく [1)販売の概要] と表示されます。

type

このセクションでは、ダッシュボード要素の一部である type パラメータについて説明します。

type はダッシュボード フィルタの一部として使用することもできます。詳しくは、ダッシュボード パラメータに関するドキュメント ページをご覧ください。

また、type(結合用)パラメータのドキュメント ページに記載されているように、type を結合の一部として使用することもできます。

type は、ディメンションの一部として使用することもできます。詳しくは、ディメンション、フィルタ、パラメータの種類に関するドキュメント ページをご覧ください。

type は、メジャーの一部として使用することもできます。詳しくは、メジャーのタイプに関するドキュメント ページをご覧ください。

type パラメータは、要素で使用するビジュアリゼーションのタイプを決定します。

- name: element_name
  type: text | looker_grid | table | single_value | looker_single_record |
        looker_column | looker_bar | looker_scatter | looker_line | looker_area |
        looker_pie | looker_donut_multiples | looker_funnel | looker_timeline |
        looker_map | looker_google_map | looker_geo_coordinates | looker_geo_choropleth | looker_waterfall | looker_wordcloud | looker_boxplot

さまざまなタイプの LookML ダッシュボード要素の概要については、type(LookML ダッシュボード用)のドキュメントをご覧ください。

height

このセクションでは、ダッシュボード要素の一部である height パラメータについて説明します。

height は、ダッシュボードの行の一部として使用することもできます。詳しくは、ダッシュボード パラメータのドキュメントをご覧ください。

tile または static レイアウトのダッシュボードの場合

height パラメータは、layout: tile ダッシュボードと layout: static ダッシュボードの要素の高さを tile_size(ピクセル単位で定義)単位で定義します。

たとえば、次のコードでは tile_size: 100height: 4 を指定して、orders_by_date 要素の高さを 400 ピクセルにしています。

- dashboard: sales_overview
  tile_size: 100
  ...

  elements:
  - name: orders_by_date
    height: 4
    ...

newspaper レイアウトのダッシュボードの場合

height パラメータは、layout: newspaper ダッシュボードの要素の高さを単位で定義します。

新聞レイアウトのダッシュボードのデフォルトは、6 行(およそ 300 ピクセル)の要素の高さです。preferred viewer パラメータが dashboards-next に設定されたダッシュボードの最小高さは 1 行です。ダッシュボードの高さの最小値は 2 行で、preferred viewer パラメータを dashboards に設定します。

たとえば、次のコードは、要素の高さを 12 行、またはデフォルトに設定されている他の要素の高さの 2 倍に設定します。

- dashboard: sales_overview
  layout: newspaper
  ...

  elements:
  - name: orders_by_date
    height: 12
    ...

width

このセクションでは、ダッシュボード要素の一部である width パラメータについて説明します。

width はダッシュボードの一部として使用することもできます。詳しくは、ダッシュボード パラメータに関するドキュメント ページをご覧ください。

width パラメータは、layout: tile ダッシュボードと layout: static ダッシュボードの要素の幅を tile_size の単位で定義します。

たとえば、次のコードは tile_size: 100width: 4 を指定して、orders_by_date 要素の幅を 400 ピクセルにしています。

- dashboard: sales_overview
  tile_size: 100
  ...

  elements:
  - name: orders_by_date
    width: 4
    ...

width パラメータは、layout: newspaper ダッシュボードの要素の幅を列単位で定義します。

新聞レイアウトのダッシュボードのデフォルト幅は 24 列です。

次のコードは、要素をダッシュボードの幅の半分に設定します。

- dashboard: sales_overview
  layout: newspaper
  ...

  elements:
  - name: orders_by_date
    width: 12
    ...

top

top パラメータは、layout: static ダッシュボードの要素の上から下の位置を tile_size の単位で定義します。

たとえば、次のコードでは、tile_size: 100top: 4 を指定して、orders_by_date 要素の上端をダッシュボードの上から 400 ピクセルの位置に配置しています。

- dashboard: sales_overview
  tile_size: 100
  ...

  elements:
  - name: orders_by_date
    top: 4
    ...

left

left パラメータは、layout: static ダッシュボードの要素の左から右への位置を tile_size の単位で定義します。

たとえば、次のコードは tile_size: 100left: 4 を指定し、orders_by_date 要素の左端をダッシュボードの左端から 400 ピクセルの位置に配置します。

- dashboard: sales_overview
  tile_size: 100
  ...

  elements:
  - name: orders_by_date
    left: 4
    ...

row

layout: newspaper ダッシュボードの場合、row パラメータは、要素の上端を配置する行を定義します。

ダッシュボードの先頭は行 0 です。新聞レイアウトのダッシュボードでは、要素の高さはデフォルトで 6 行になっています。つまり、ダッシュボードの上部にあるダッシュボード要素(row: 0)では、デフォルトで 0 ~ 5 の行が使用されます。

各行の高さは 50 ピクセルです。つまり、デフォルトの要素の高さは 6 で、300 ピクセルです。

たとえば次のコードは、要素がデフォルトの高さに設定されていると仮定して、要素を要素の 2 行目に設定します。

- dashboard: sales_overview
  layout: newspaper
  ...

  elements:
  - name: orders_by_date
    row: 6
    ...

col

layout: newspaper ダッシュボードの場合、col パラメータは、要素の左端を配置する列を定義します。

ダッシュボードは 24 列に分かれています。ダッシュボードの左側 0 から始まるダッシュボード。新聞レイアウトのダッシュボードの要素幅は、デフォルトで 8 列になります。つまり、ダッシュボードの左側にある col: 0 要素では列 0 ~ 7 がデフォルトで表示されます。

たとえば、次のコードでは、ダッシュボードの要素の 3 列目に設定する要素を設定します。

- dashboard: sales_overview
  layout: newspaper
  ...

  elements:
  - name: orders_by_date
    col: 16
    ...

refresh

このセクションでは、ダッシュボード要素の一部である refresh パラメータについて説明します。

refresh はダッシュボードの一部として使用することもできます。詳しくは、ダッシュボード パラメータに関するドキュメント ページをご覧ください。

refresh パラメータを使用すると、要素を定期的に再読み込みすることで、最新のデータを取得できます。これは、オフィスのテレビなど、常にダッシュボードが表示される設定で役立ちます。このパラメータを有効にするには、ダッシュボードをブラウザ ウィンドウで開く必要があります。この設定は、ダッシュボードのキャッシュを「ウォームアップ」するためにバックグラウンドで実行されることはありません。

リフレッシュ レートは、秒、分、時間、日の任意の数値(小数点なし)にできます。例:

- name: orders_by_date
  refresh: 2 hours

更新間隔を短く設定する場合は注意が必要です。この要素の背後にあるクエリがリソースを大量に消費する場合、特定の要素が原因でデータベースに過大な負荷がかかる可能性があります。

note

次のように、要素に説明的なメモを追加できます。

- name: element_name
  note:
    text: 'note text'
    state: collapsed | expanded
    display: above | below | hover

note には、サブパラメータ textstatedisplay があります。

text

text サブパラメータは、メモに表示されるテキストを指定します。テキストはローカライズできます。

state

state サブパラメータは、要素の幅内の 1 行に収まらないほど大きいメモを collapsedexpanded のどちらにするかを決定します。collapsed を選択してメモが長すぎる場合は、メモの最後に表示される省略記号(...)が表示されます。これを使用してメモの全文を読むことができます。

display

display サブパラメータは、要素にメモが表示される場所を決定します。above はメモを要素の上部に配置し、below はメモを要素の下に配置します。hover では、ユーザーが要素にカーソルを合わせるとメモが表示されます。

クエリ パラメータ

LookML ダッシュボード要素を定義する場合は、少なくとも model および explore クエリ パラメータに加え、dimensions パラメータおよび measures パラメータを使用して 1 つのディメンションと 1 つのメジャーを指定する必要があります。以下で説明するその他のクエリ パラメータを使用して、ダッシュボード要素でのデータの表示方法を制御することもできます。

model

model パラメータは、要素クエリに使用するモデルを定義します。指定しない場合は、デフォルトでダッシュボードが存在するモデルになります。

- name: orders_by_date
  model: ecommerce

model パラメータは、LookML 定数を受け入れます。プロジェクトのマニフェスト ファイルで定数を定義してから、構文 "@{constant_name}" を使用して定数を model の値として設定できます。定数を使用すると、1 つのモデル名を 1 か所で定義できます。これは、複数のダッシュボード要素で使用されるモデルの名前を更新する場合に特に便利です。

LookML ダッシュボードで定数の詳細と使用例については、constant パラメータのドキュメント ページをご覧ください。

explore

このセクションでは、ダッシュボード要素の一部である explore パラメータについて説明します。

explore は、モデルの一部として使用することもできます。詳しくは、explore パラメータのドキュメントをご覧ください。

explore はダッシュボード フィルタの一部として使用することもできます。詳しくは、ダッシュボード パラメータに関するドキュメント ページをご覧ください。

explore パラメータは、要素クエリに使用する Explore を定義します。

- name: orders_by_date
  explore: order

explore パラメータは、LookML 定数を受け入れます。プロジェクトのマニフェスト ファイルで定数を定義してから、構文 "@{constant_name}" を使用して定数を explore の値として設定できます。定数を使用すると、1 つの場所で Explore の名前を定義できます。これは、複数のダッシュボード要素で使用される Explore の名前を更新する場合に特に便利です。

LookML ダッシュボードで定数の詳細と使用例については、constant パラメータのドキュメント ページをご覧ください。

dimensions

dimensions パラメータは、要素クエリに使用するディメンションを定義します。ディメンションを指定するには、構文 view_name.dimension_name を使用します。クエリに dimensions を含めない場合は、含めないでください。

## single dimension example
- name: orders_by_date
  dimensions: order.order_date

## multiple dimension example
- name: orders_by_date
  dimensions: [order.order_date, customer.name]

measures

measures パラメータは、要素クエリに使用するメジャーを定義します。構文は view_name.measure_name を使用してメジャーを指定します。クエリに measures を含めない場合は、含めないでください。

## single measure example
- name: orders_by_date
  measures: order.count

## multiple measure example
- name: orders_by_date
  measures: [order.count, order_item.count]

sorts

sorts パラメータは、要素クエリに使用する並べ替えを定義します。1 番目、2 番目、3 と順に表示されます。構文 view_name.field_name は、ディメンションまたはメジャーを指定するときに使用します。Looker のデフォルトの並べ替え順を使用する場合は、sorts を含めないでください。降順にする場合、末尾には desc を付けます。昇順で並べ替える場合は、接尾辞は不要です。

## single sort example
- name: orders_by_date
  sorts: order.order_date desc

## multiple sort example
- name: orders_by_date
  sorts: [order.order_date desc, customer.name]

limit

limit パラメータでは、要素クエリに使用する行数制限を定義します。この制限は、ピボットが適用されるの行数に適用されます。

- name: orders_by_date
  limit: 100

filters

このセクションでは、ダッシュボード要素の一部である filters パラメータについて説明します。

filters はダッシュボードの一部として使用することもできます。詳しくは、ダッシュボード パラメータに関するドキュメント ページをご覧ください。

filters は、メジャーの一部として使用することもできます。詳しくは、filters パラメータのドキュメントをご覧ください。

filters パラメータは、要素のクエリに使用する変更できないフィルタを定義します。ユーザーがダッシュボードで変更できるフィルタが必要な場合は、ダッシュボードの filters を使用してフィルタを設定し、listen を使用して要素に適用する必要があります。

filters の構文は次のとおりです。

- name: element_name
  filters:
    orders.created_date: 2020/01/10 for 3 days
    orders.status: Shipped
    # You can create multiple filter statements

各フィルタは、Looker のフィルタ式または値定数を受け入れることができます。フィルタ式で _localization または _user_attributes Liquid 変数を使用して柔軟なフィルタ値を指定することもできます。

listen

ダッシュボードには、ユーザーがダッシュボード要素の背後にあるデータを変更できるフィルタを含めることができます。これらは、ダッシュボードの filters パラメータを使用して設定します。フィルタが要素に影響するには、listen パラメータを使用して、フィルタの要素が「リッスン」に設定する必要があります。

listen の構文は次のとおりです。

- name: element_name
  listen:
    filter_name_goes_here: dimension or measure on which to apply
                           the filter using view_name.field_name syntax
    # You can add more than one listen statement

たとえば、[日付] というフィルタを作成し、ユーザーが UI のフィルタ フィールドに日付を入力する必要があるとします。その後、ユーザーが入力した値を次のように orders_by_date 要素に適用できます。

- dashboard: sales_overview
  ...

  filters:
  - name: date
    type: date_filter

  elements:
 - name: orders_by_date
    listen:
      date: order.order_date
    ...

このコンセプトの詳細については、LookML ダッシュボードの構築のドキュメントをご覧ください。

query_timezone

query_timezone パラメータでは、クエリを実行するタイムゾーンを指定します。タイムゾーン オプションは、timezone の値のドキュメント ページに表示されます。閲覧者のタイムゾーンを使用してクエリを実行する場合は、値を user_timezone として割り当てます。

- name: orders_by_date
  query_timezone: America/Los Angeles
- name: orders_by_customer
  query_timezone: user_timezone

merged_queries

merged_queries パラメータでは、複数のクエリから結果を結合する方法を定義します。コンポーネント クエリを merged_queries パラメータの下に定義し、join_fields サブパラメータを使用してマージルールを定義します。

merged_queries の構文は次のとおりです。

  merged_queries:
  - 'primary query definition'
  - 'next source query definition'
    join_fields:
    - field_name: 'field from the source query using the view_name.field_name syntax'
      source_field_name: 'joined field from the primary query using the
        view_name.field_name syntax'
    # more join_fields definitions as needed
  - 'next source query definition'
    join_fields:
    - field_name: view_name.field_name
      source_field_name: view_name.field_name
    # more join_fields definitions as needed
  # additional source queries and join_fields definitions as needed

merged_results で定義された最初のクエリがプライマリ クエリであり、他のクエリはそのクエリと統合されます。

たとえば、銘柄コード、会社名、Twitter ユーザー名で結合すると、2 つのクエリを統合して、会社名、会社の Twitter ユーザー名、IPO の年、銘柄コード、従業員数、求人数の結果を返すことができます。

- name: merged_results_element
  title: Merged Results Tile
  merged_queries:
  - model: market_research
    explore: company_info
    fields: [company.name, company.twitter_username, ipo.public_year, ipo.stock_symbol]
    filters:
      company.twitter_username: "-NULL"
      ipo.valuation_amount: NOT NULL
    sorts: [ipo.public_year desc]
  - model: crunchbase
    explore: companies
    fields: [companies.name, ipo.stock_symbol, companies.twitter_username,
      companies.number_of_employees, jobs.job_count]
    filters:
      companies.number_of_employees: NOT NULL
      ipo.stock_symbol: "-NULL"
      companies.twitter_username: "-NULL"
    sorts: [jobs.job_count desc]
    join_fields:
    - field_name: ipo.stock_symbol
      source_field_name: ipo.stock_symbol
    - field_name: companies.name
      source_field_name: company.name
    - field_name: companies.twitter_username
      source_field_name: company.twitter_username

データの結果は次のようになります。

次に、要素パラメータを適用して、お好みでビジュアリゼーションのスタイルを設定できます。

プロット パラメータ

このセクションで説明するパラメータのほとんどは、円グラフのビジュアリゼーション エディタの [Plot] セクションのオプションに対応しています。

value_labels

type: looker_pie のダッシュボード要素の value_labels パラメータを使用すると、円グラフの個々のセクションにエンドユーザーをどのようにラベル付けするかを変更できます。ラベルには、次の 3 つのタイプがあります。

  • none: ラベルと凡例は表示されません。

  • legend: デフォルトのオプション。ビジュアリゼーションの下部に凡例が表示されます。

  • labels: 円グラフの個々のセクションを示す線を表示します。label_type パラメータを使用してラベルタイプを指定することで、これらの行の横に表示される情報をカスタマイズできます。

label_type

label_type パラメータを使用すると、円グラフの各セクションをマークするラベルの形式をカスタマイズできます。label_type を使用するには、value_typelabels に設定する必要があります。ラベルはいくつかの方法でカスタマイズできます。

  • lab: シリーズ名を表示します。

  • val: 円スライスに関連付けられた数値を表示します。

  • labVal: 最初に系列名を太字で、次に数値を表示します。

  • per: 円グラフのスライスの比率を円グラフ全体の一部として表示します。

  • labPer: 最初にシリーズ名を太字で、次に割合を表示します。

inner_radius

このパラメータは、円グラフの内半径を決定し、実質的にドーナツグラフに変換します。指定したパーセンテージは、ドーナツグラフの「穴」が占める半径の範囲を表します。

inner_radius: 50

## default value: 0

hidden_fields

hidden_fields パラメータは、クエリで使用されているがグラフには表示されていないフィールドを指定します(存在する場合)。非表示になっているフィールドは、Explore のデータテーブル セクションに表示されます。

hidden_fields: [inventory_items.count, distribution_centers.id]

時系列パラメータ

このセクションで説明するパラメータは、円グラフのビジュアリゼーション エディタの Series セクションにあるオプションに対応しています。

colors

colors パラメータで、系列の色のリストを指定します。リストの最初の色は、最初のデータ系列に対応しています。複数の色がリストに含まれている場合、色は最初からやり直します。


colors: [blue, orange, yellow, red, purple]

色を指定するすべてのグラフ属性の場合、色の値は 16 進文字列(#2ca6cd など)または CSS 名前付き色文字列mediumblue など)を取ることができます。

series_colors

name: value ペアを使用して、シリーズ名に基づいてシリーズの色を設定します。

ピボット グラフの場合、シリーズ名はピボット名です。

series_colors:
  'Yes': skyblue
  'No': '#000000'

複数のメジャーを含むグラフの場合、シリーズ名はメジャーのフィールド名です。

series_colors:
  inventory_items.count: crimson
  orders.count: green

シリーズ名が series_colors にない場合は、グラフにデフォルトで colors で指定された色のリストが表示されます。colors が設定されていない場合、グラフはデフォルトのカラーパターンに戻ります。

series_labels

name: label ペアを使用して、シリーズ名に基づいて 1 つ以上のシリーズのラベルを設定します。

ピボット グラフの場合、シリーズ名はピボット名です。

series_labels:
  'Yes': iOS Users
  'No': Android Users

複数のメジャーを含むグラフの場合、シリーズ名はメジャーのフィールド名です。

series_labels:
  inventory_items.count: Inventory
  orders.count: Orders