LookML 資訊主頁的單一值圖表參數

建構中:我們正在努力為這個頁面新增更多內容。在此期間,請參閱「單一值圖表選項」說明文件頁面,瞭解如何使用圖表選項選單建立及編輯單一值圖表。

本頁面說明的參數適用於 dashboard.lkml 檔案中的 LookML 資訊主頁元素。type: single_value

如要瞭解如何透過 Looker UI 建立單一值圖表,請參閱「單一值圖表選項」說明文件頁面。

基本參數

定義 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 也可做為資訊主頁列的一部分,詳情請參閱「資訊主頁參數」說明文件頁面。

適用於 tilestatic 版面配置的資訊主頁

height 參數會以 tile_size 為單位 (以像素為單位定義),定義 layout: tilelayout: static 資訊主頁的元素高度。

舉例來說,下列程式碼會指定 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 個資料列。如果資訊主頁的 preferred viewer 參數設為 dashboards,則最低高度為 2 列。

舉例來說,以下程式碼會將元素設為 12 列高,或是設為預設值的其他元素高度的兩倍:

- dashboard: sales_overview
  layout: newspaper
  ...

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

width

本節是指屬於資訊主頁元素width 參數。

width 也可做為資訊主頁的一部分,詳情請參閱「資訊主頁參數」說明文件頁面。

width 參數會以 tile_size 為單位,定義 layout: tilelayout: static 資訊主頁中元素的寬度。

舉例來說,下列程式碼會指定 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 參數會以 tile_size 為單位,定義 layout: static 資訊主頁中元素的上下位置。

舉例來說,下列程式碼會指定 tile_size: 100top: 4,將 orders_by_date 元素的頂端邊緣放置在距離資訊主頁頂端 400 像素的位置。

- dashboard: sales_overview
  tile_size: 100
  ...

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

left

left 參數會以 tile_size 為單位,定義 layout: static 資訊主頁中元素的左右位置。

舉例來說,下列程式碼會指定 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 像素。

舉例來說,假設元素設為預設高度,以下程式碼會將元素設為資訊主頁的第二列元素:

- dashboard: sales_overview
  layout: newspaper
  ...

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

col

如果是 layout: newspaper 資訊主頁,col 參數會定義元素左側邊緣所在的欄。

資訊主頁會分成 24 欄,資訊主頁的左側是第 0 欄。採用報紙版面配置的資訊主頁預設元素寬度為 8 欄,也就是說,資訊主頁左側的資訊主頁元素 (col: 0) 預設會佔用第 0 到第 7 欄。

舉例來說,下列程式碼會將元素設為資訊主頁中第三欄的元素:

- 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 子參數會決定附註是否要collapsedexpanded。如果選擇 collapsed,且附註過長,附註結尾會顯示可點選的刪節號 (...),點選後即可閱讀完整附註。

display

display 子參數會決定附註在元素上的顯示位置。above 會將附註放在元素頂端,below 則會放在元素底部,而 hover 則會要求使用者將滑鼠游標懸停在元素上,才能看到附註。

查詢參數

定義 LookML 資訊主頁元素時,您必須至少為 modelexplore 查詢參數指定值,並使用 dimensions 參數或 measures 參數指定至少一個欄位。您也可以使用其他查詢參數,控管資料在資訊主頁元素中的顯示方式。

model

model 參數會定義要用於元素查詢的模型。如未指定,系統會預設為資訊主頁所在的模型。

- name: orders_by_date
  model: ecommerce

model 參數接受 LookML 常數。您可以在專案的資訊清單檔案中定義常數,然後使用 "@{constant_name}" 語法將常數設為 model 的值。使用常數可在單一位置定義模型名稱,如果您要更新多個資訊主頁元素使用的模型名稱,這項功能就特別實用。

如要進一步瞭解如何搭配使用常數與 LookML 資訊主頁,請參閱 constant 參數說明文件頁面。

explore

本節是指屬於資訊主頁元素explore 參數。

explore 也可做為模型的一部分,詳情請參閱 explore 參數說明文件頁面。

explore 也可做為資訊主頁篩選器的一部分,詳情請參閱「資訊主頁參數」說明文件頁面。

explore 參數會定義要用於元素查詢的探索。

- name: orders_by_date
  explore: order

explore 參數接受 LookML 常數。您可以在專案的資訊清單檔案中定義常數,然後使用 "@{constant_name}" 語法將常數設為 explore 的值。使用常數可在一個位置定義 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 參數會定義要用於元素查詢的排序方式。主要排序方式會列在最前面,其次是次要排序方式,依此類推。使用 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]

pivots

pivots 參數會定義元素查詢應樞紐分析的維度。使用 view_name.dimension_name 語法指定維度。如果查詢沒有任何參數,請勿加入 pivots

## single pivot example
- name: orders_by_date
  pivots: customer.gender

## multiple pivot example
- name: orders_by_date
  pivots: [customer.gender, customer.age_tier]

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 參數定義 LookML 資訊主頁的資訊主頁篩選條件。接著,使用 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

在元素中新增 listen 參數,然後提供篩選器名稱,並使用 view_name.field_name 語法,在篩選器應套用的欄位中加入半形冒號和參照。舉例來說,您可以建立名為「日期」的篩選器,要求使用者在 UI 的篩選器欄位中輸入日期。接著,您可以將使用者輸入的值套用至 orders_by_date 元素,如下所示:

- dashboard: sales_overview
  ...

  filters:
  - name: date
    type: date_filter

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

如需使用 filters 參數和 listen 參數,將資訊主頁篩選器套用至個別資訊主頁元素的其他範例,請參閱「建構 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 子參數指定結果的合併方式

下列 LookML 程式碼範例會建立合併結果的 type: looker_grid 元素。在本例中,merged_queries 參數用於建立資訊主頁元素,將兩個獨立查詢的資料合併為單一資料表圖表:

- name: merged_results_element
  title: Merged Results Tile
  type: looker_grid
  merged_queries:
  - model: ecommerce
    explore: users
    type: table
    fields: [users.state, users.count, users.city]
    sorts: [users.count desc 0]
    limit: 5000
    column_limit: 50
    query_timezone: UTC
    listen:
    - State: users.state
  - model: ecommerce
    explore: users
    type: table
    fields: [users.state, users.city]
    sorts: [users.state]
    limit: 500
    column_limit: 50
    query_timezone: UTC
    join_fields:
    - field_name: users.state
      source_field_name: users.state
    - field_name: users.city
      source_field_name: users.city
    listen:
    - State: users.state

在這個範例中,資訊主頁元素會合併兩個來源查詢的資料,這些查詢是以 ecommerce 模型中的 users 探索為依據。主要查詢包含 users.stateusers.countusers.city 欄位,並依 users.count 欄位排序結果。第二個來源查詢包含 users.stateusers.city 欄位,並依 users.state 欄位排序結果。

join_field 參數會根據 users.stateusers.city 欄位中的相符值合併來源查詢。

listen 參數會對這兩項查詢套用 State 篩選器,讓資訊主頁檢視者選取特定州別,藉此調整資訊主頁圖塊中顯示的查詢結果。

範例:合併公司資料

假設您想建立合併查詢,將來自兩個不同探索 (company_infocompanies) 的公司資訊合併。您想加入每個「探索」的 ipo.stock_symbolcompanies.namecompanies.contact_email 欄位中的查詢,建立可傳回公司名稱、公司聯絡電子郵件、首次公開募股年份、股票代號、員工數和職位數的查詢。您可以在 LookML 中定義合併查詢元素,如下所示:

- name: merged_results_element
  title: Merged Results Tile
  merged_queries:
  - model: market_research
    explore: company_info
    fields: [companies.name, companies.contact_email, ipo.public_year, ipo.stock_symbol]
    filters:
      companies.contact_email: "-NULL"
      ipo.valuation_amount: NOT NULL
    sorts: [ipo.public_year desc]
  - model: company_data
    explore: companies
    fields: [companies.name, ipo.stock_symbol, companies.contact_email,
      companies.number_of_employees, jobs.job_count]
    filters:
      companies.number_of_employees: NOT NULL
      ipo.stock_symbol: "-NULL"
      companies.contact_email: "-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: companies.name
    - field_name: companies.contact_email
      source_field_name: companies.contact_email

將篩選器套用至合併的查詢元素

先前合併查詢元素的範例說明如何使用 filters 參數,直接在每個來源查詢中套用硬式編碼的篩選器。舉例來說,主要查詢中的 companies.contact_email: "-NULL"ipo.valuation_amount: NOT NULL 篩選器會將結果限制在具有有效聯絡電子郵件和估值的公司。這些查詢層級的篩選器會在合併查詢前預先篩選資料,使用者無法變更。

您也可以在每個來源查詢的定義中,使用 listen 參數,將資訊主頁篩選器套用至合併的查詢元素。舉例來說,假設您有一個名為 Industry 的資訊主頁篩選器,您是使用 filters 參數為 LookML 資訊主頁定義該篩選器

filters:
- name: Industry
  title: Industry
  type: field_filter
  ui_config:
    type: dropdown_menu
    display: inline
  model: market_research
  explore: company_info
  field: companies.industry

如要將 Industry 篩選器套用至兩個來源查詢中的 companies.industry 欄位,請在每個合併查詢的來源查詢定義中加入 listen 參數,如下所示:

listen:
  Industry: companies.industry

舉例來說,以下範例程式碼會將 Industry 篩選器新增至上一個範例中合併結果元素內的兩個來源查詢。

- name: merged_results_element
  title: Merged Results Tile
  merged_queries:
  - model: market_research
    explore: company_info
    fields: [companies.name, companies.contact_email, ipo.public_year, ipo.stock_symbol]
    filters:
      companies.contact_email: "-NULL"
      ipo.valuation_amount: NOT NULL
    sorts: [ipo.public_year desc]
    listen:
      Industry: companies.industry
  - model: company_data
    explore: companies
    fields: [companies.name, ipo.stock_symbol, companies.contact_email,
      companies.number_of_employees, jobs.job_count]
    filters:
      companies.number_of_employees: NOT NULL
      ipo.stock_symbol: "-NULL"
      companies.contact_email: "-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: companies.name
    - field_name: companies.contact_email
      source_field_name: companies.contact_email
    listen:
      Industry: companies.industry

新增這項功能後,當使用者與 Industry 資訊主頁篩選器互動時,合併查詢元素中對應的來源查詢就會相應地遭到篩選。

hidden_fields

hidden_fields 參數會指出查詢中使用的欄位 (如有),但這些欄位會隱藏在圖表中。隱藏的欄位會顯示在「探索」的資料表部分。

hidden_fields: [inventory_items.count, distribution_centers.id]

樣式參數

本節說明的參數對應於單一值圖表的視覺化編輯器「樣式」部分的選項。

colors

colors 參數會指定數列的顏色清單。清單中的第一個顏色對應至第一個資料序列。如果數列數量超過列出的顏色,系統會從頭開始使用顏色。


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

對於指定顏色的所有圖表屬性,顏色值可以是十六進位字串 (例如 #2ca6cd),也可以是 CSS 具名顏色字串 (例如 mediumblue)。

custom_color_enabled

custom_color_enabled 參數設為 true,即可為單一值圖表指定自訂顏色。請搭配 custom_color 參數使用這個參數。


custom_color_enabled: true | false

custom_color

為單一值圖表指定自訂文字顏色。


custom_color: #2ca6cd | mediumblue

show_single_value_title

如果將這個參數設為 true,查詢值下方就會顯示標題。您可以使用 single_value_title 參數指定或變更標題。


show_single_value_title: true | false

single_value_title

指定要與查詢值一起顯示的標題。標題文字可以在地化


single_value_title: Title

valueFormat

為值指定數字格式或日期格式。這個參數接受 Excel 樣式的格式。如未指定格式,系統會以基礎維度或指標的格式顯示值。

比較參數

本節所述的參數對應於單一值圖表的視覺化編輯器「比較」部分的選項。

show_comparison

設為 true 時,show_comparison 參數可讓您將比較資訊新增至 type: single_value 的資訊主頁元素。


show_comparison: true | false

comparison_type

使用 comparison_type 參數指定比較欄位在 type: single_value 的資訊主頁元素中如何使用。

您可以為 comparison_type 參數指定下列其中一個值:

  • value:比較欄位的值會顯示在視覺化圖表的底部。
  • change:比較欄位的值會顯示在視覺化圖表的底部。如果值為負數,三角形會向下指。如果值為正數,三角形會向上指。
  • progress:用於單一值圖表的欄位值除以比較欄位的值。這個百分比會以進度列顯示。
  • progress_percentage:用於單一值圖表的欄位值除以比較欄位的值。這個百分比會以進度列顯示。長條會標示百分比和比較欄位的值。

comparison_type: value | change | progress | progress_percentage

show_comparison_label

指定是否要顯示比較欄位的標籤。根據預設,標籤是比較欄位的名稱。


show_comparison_label: true | false

comparison_label

指定要與比較欄位一起顯示的標籤。比較標籤文字可以本地化


show_comparison_label: true
comparison_label: Label

comparison_reverse_colors

如果 comparison_type 設為 change,您可以將 comparison_reverse_colors 設為 true,在比較欄位中以綠色文字和綠色三角形顯示負數,正數則以紅色文字和紅色三角形顯示。


comparison_type: change
comparison_reverse_colors: true | false