Skip to content

グループのソート

概要

group_by を指定している場合、group_sort: GroupSortTypegroup_sort_custom: [AttributeField] により系列・凡例の表示順を指定できます。

設定詳細

  • デフォルト(省略時)は group_sort: "LABEL_ASC" です
  • group_sort: "LABEL_ASC" | "LABEL_DESC" の場合、
    • グループに指定された値の昇順・降順でソートします
  • group_sort: "CUSTOM_ASC" | "CUSTOM_DESC" の場合、
    • group_sort_custom: [AttributeField] に指定したカラムの値の昇順・降順でソートします
      • AttributeField の型は、その他のカラム指定方法を参照してください
      • AttributeField で指定するカラムは、データ加工用に生成されるSQLの SELECT 句で MAX(...) として取り出され、その値をもとに系列・凡例の表示順を決定します
      • そのため、group_by で指定したカラムの値に対して、一意に値が定まるカラムを指定する必要があります
        • 例えば、group_bycategory_name を指定している場合、category_name に対して一意に定まる category_id を指定する必要があります
  • group_sort / group_sort_custom はSQLの ORDER BY 句には反映されません
    • SQLの ORDER BY 句は データのソート に記載の通り order_by / order_by_custom により制御されます

型定義

ts
type GroupSortType = 'LABEL_ASC' | 'LABEL_DESC' | 'CUSTOM_ASC' | 'CUSTOM_DESC';

設定例

カテゴリ別の売上の凡例をカテゴリIDの昇順で表示する場合

  • カテゴリ(category_name)別の売上(sales_amount)の凡例を、カテゴリID(category_id)の昇順で表示する場合、次のように設定します。
yaml
template_type: XY_CHART_V2
component_settings:
  x:
    - field: sales_month
  views:
    - view_id: 69e855bc3b550bfb275f6a18
      render_type: LINE
      ys:
        - field: sales_amount
          aggregator: SUM
  group_by:
    - field: category_name
  group_sort: CUSTOM_ASC
  group_sort_custom:
    - field: category_id
  order_by: LABEL_ASC

上記の設定では、次のようなSQLが生成され、チャート用のデータ加工が行われます。

sql
SELECT
  sales_month AS sales_month___,
  category_name AS category_name___,
  SUM(IFNULL(sales_amount, 0)) AS sales_amount___sum,
  MAX(category_id) AS category_id___attr
FROM
  /* データソースのSQL */  
GROUP BY
  sales_month___,
  category_name___
ORDER BY
  sales_month___ ASC
LIMIT
  1001
  • group_sort_custom に指定した category_idMAX(category_id) AS category_id___attr として取り出され、その値をもとに系列・凡例の表示順が決定されます
  • SQLの ORDER BY 句には sales_month___ ASCorder_by: LABEL_ASC)が反映されています