view: cm_release_label { sql_table_name: INTELLIGENCE.DBT_PROD.CM_RELEASE_LABEL ;; # derived_table: { # sql: with labels as (Select t.isrc, a.upc, a.name as release_name, a.release_date, a.label as release_label #from CHARTMETRIC.RAW_DATA.CM_ALBUM a #left join CHARTMETRIC.RAW_DATA.L_CM_TRACK_CM_ALBUM ta on a.id = ta.cm_album #inner join CHARTMETRIC.RAW_DATA.CM_TRACK t on ta.cm_track = t.id #order by a.upc), # #labels_singular as (SELECT * #FROM labels l INNER JOIN # ( # SELECT isrc as isrc2, MIN(release_date) AS MinDate # FROM labels # GROUP BY isrc2 # ) t ON l.isrc = t.isrc2 AND l.release_date = t.MinDate) # #select *, listagg(distinct(release_label), '| ') #within group (order by release_label) #over (partition by isrc2) as labels #from labels_singular;; # } dimension: isrc { type: string sql: ${TABLE}.isrc ;; hidden: yes } dimension: upc { label: "UPC" type: string sql: ${TABLE}.upc ;; } dimension: release_label { label: "Release Label(s)" type: string sql: ${TABLE}.labels ;; } dimension: release_name { label: "Release Name" type: string sql: ${TABLE}.release_name;; hidden: yes } dimension_group: Date { type: time sql: ${TABLE}.release_date ;; timeframes: [ date, ] label: "Release" } }