view: restrictions_aggregated_release_store_snowflake {
  derived_table: {
    sql:
SELECT agg_restrictions.release_id, cmm.customer_name, dt.name
FROM (
    SELECT r.release_id, vdmr.customer_master_master_id, vdmr.distribution_type_id
    FROM orchard_app_reporting_v2.art_relations_prod_art_relations.releases r
        INNER JOIN orchard_app_reporting_v2.art_relations_prod_art_relations.artist_info ai ON r.artist_id = ai.artist_id
        INNER JOIN intelligence.dbt_prod.active_vendor_contracts vw ON ai.vendor_id = vw.vendor_id
        INNER JOIN orchard_app_reporting_v2.art_relations_prod_art_relations.vendor_dms_master_restriction vdmr ON vw.vendor_contract_id = vdmr.vendor_contract_id
    UNION ALL
        SELECT r.release_id, sdmr.customer_master_master_id, NULL AS distribution_type_id
        FROM orchard_app_reporting_v2.art_relations_prod_art_relations.releases r
            INNER JOIN orchard_app_reporting_v2.art_relations_prod_art_relations.subaccount_dms_master_restriction sdmr ON r.subaccount_id = sdmr.subaccount_id
        WHERE r.subaccount_id IS NOT NULL
    UNION ALL
        SELECT release_id, customer_master_master_id, distribution_type_id
        FROM orchard_app_reporting_v2.art_relations_prod_art_relations.release_dms_master_restriction
) agg_restrictions
    INNER JOIN orchard_app_reporting_v2.art_relations_prod_art_relations.customer_master_master cmm ON cmm.customer_master_master_id = agg_restrictions.customer_master_master_id
    INNER JOIN orchard_app_reporting_v2.art_relations_prod_art_relations.distribution_type dt ON dt.id = agg_restrictions.distribution_type_id
WHERE {% condition name %} dt.name {% endcondition %} ;;
  }

  dimension: release_id {
    type: number
    sql: ${TABLE}.release_id ;;
    hidden: yes
  }

  dimension: store_name {
    type: string
    sql: ${TABLE}.customer_name ;;
    hidden: yes
  }

  measure: count_aggregate_restrictions {
    label: "Count Restrictions (Aggregated)"
    type: count_distinct
    sql: ${TABLE}.customer_name ;;
  }

  measure: list_aggregate_restrictions {
    label: "List Restrictions (Aggregated)"
    type: string
    sql: LISTAGG(DISTINCT ${TABLE}.customer_name, ', ') WITHIN GROUP (ORDER BY ${TABLE}.customer_name) ;;
    html:
    {% assign stores = value | split: "," %}
    {% unless stores.size == 0 %}

      <details>
      <summary>Detail ({{stores.size}})</summary>

      <ul>
      {% for store in stores %}
      <li>{{store}}</li>
      {% endfor %}
      </ul>
      </details>

    {% endunless %}
    ;;
  }

  filter: name {
    label: "Distribution Type (Aggregated)"
    type: string
  }

}