view: orch_app_ar_vendor_roles {
  sql_table_name: orchard_app_reporting_v2.art_relations_prod_art_relations.vendor_roles ;;

  dimension: id {
    type: number
    sql: ${TABLE}.id ;;
    primary_key: yes
  }

  dimension: role {
    type: string
    sql: ${TABLE}.role ;;
  }

  measure: count_roles {
    label: "Roles (Count)"
    type: count_distinct
    sql: ${TABLE}.role ;;
  }

  measure: list_roles {
    label: "Roles (List)"
    type: string
    sql: LISTAGG(DISTINCT ${TABLE}.role, ', ') WITHIN GROUP (ORDER BY ${TABLE}.role) ;;
    html:
    {% assign roles = value | split: "," %}
    {% unless roles.size == 0 %}

      <details>
      <summary>{{roles.size}} Roles</summary>

      <ul>
      {% for role in roles %}
      <li>{{role}}</li>
      {% endfor %}
      </ul>
      </details>

    {% endunless %}
    ;;
  }
}
