order_by_field

使用状況

ビュー: view_name {
dimension: field_name {
order_by_field: field_name
}
}
階層
order_by_field
使用可能なフィールドタイプ
ディメンション、ディメンション グループ、メジャー

許可
フィールド名

order_by_field を誤って使用すると、ユーザーに一貫性のない混乱した動作が発生する可能性があります。

定義

order_by_field パラメータを使用すると、デフォルトの並べ替え順序を使用する代わりに、同じタイプの別のフィールドでディメンション、ディメンション グループ、またはメジャーからの並べ替え順序を使用できます。order_by_field パラメータで参照されるフィールドは、親フィールドのフィールド タイプと一致する必要があります。ディメンションで type: measure のフィールドを参照することはできません。また、その逆も同様です。

たとえば、status_id 列と status_name 列の両方を含むテーブルがあるとします。ユーザーが UI でステータス名で並べ替えると、名前がアルファベット順ではなく、ステータス ID の順序で表示されます。

両方のフィールドのグループ化特性がまったく同じになるように、ディメンションまたはディメンション グループと、order_by_field パラメータで参照されるフィールドの間には 1 対 1 の関係が必要です。これを行わないと、ユーザーの並べ替えがランダムに見える可能性があります。

status_name ごとに status_id が 1 つのみの場合は、次のように記述できます。

dimension: status_name {
  sql: ${TABLE}.status_name ;;
  order_by_field: status_id
}

order_by_field を使用すると、別のメジャーのメジャーを並べ替えることができます。

これは、数値以外のメジャータイプ(string など)を数値メジャー タイプで並べ替える場合に便利です。

この例では、都市の文字列が count メジャーによって並べ替えられています。

measure: user_cities {
  type: string
  order_by_field: count
}