label: "KNR Models" connection: "knr-looker" # View inclusions include: "/views/chartmetric_airplay.view.lkml" include: "/views/chartmetric_recordings.view.lkml" include: "/views/global_countries.view.lkml" include: "/views/performance_nr_contribution.view.lkml" include: "/views/performance_nr_contributor.view.lkml" include: "/views/performance_nr_particpant.view.lkml" include: "/views/performance_nr_sound_recording.view.lkml" include: "/views/nr_sound_recording_has_featured_artist_nr_participant.view.lkml" include: "/views/nr_sound_recording_has_primary_artist_nr_participant.view.lkml" include: "/views/nr_contribution_contributed_to_nr_sound_recording.view.lkml" include: "/views/nr_contribution_type.view.lkml" # ========================================================================= # EXPLORE: CHARTMETRIC + PERFORMER CONTENT MATRIX # ========================================================================= explore: chartmetric_airplay { hidden: no label: "Chartmetric + Performer Content" description: "Cross-platform explore combining radio play telemetry with the core Performer NR catalog registry." join: chartmetric_recordings { type: left_outer relationship: many_to_many sql_on: LOWER(${chartmetric_airplay.isrc}) = LOWER(${chartmetric_recordings.isrc}) ;; } join: global_countries { view_label: "Airplay Channel Country" type: left_outer relationship: many_to_one sql_on: UPPER(${chartmetric_airplay.channel_country_code}) = UPPER(${global_countries.country_code}) ;; } join: performance_nr_sound_recording { type: left_outer relationship: many_to_many sql_on: LOWER(${chartmetric_airplay.isrc}) = LOWER(${performance_nr_sound_recording.isrc}) ;; } join: nr_contribution_contributed_to_nr_sound_recording { type: left_outer relationship: one_to_many sql_on: ${performance_nr_sound_recording.id} = ${nr_contribution_contributed_to_nr_sound_recording.nr_sound_recording_id} ;; } join: performance_nr_contribution { type: left_outer relationship: many_to_one sql_on: ${nr_contribution_contributed_to_nr_sound_recording.nr_contribution_id} = ${performance_nr_contribution.id} ;; } join: nr_contribution_type { type: left_outer relationship: many_to_one sql_on: ${performance_nr_contribution.id} = ${nr_contribution_type.nr_contribution_id} ;; } join: performance_nr_contributor { type: left_outer relationship: many_to_one sql_on: ${nr_contribution_type.nr_contributor_id} = ${performance_nr_contributor.id} ;; } join: nr_sound_recording_has_featured_artist_nr_participant { type: left_outer relationship: one_to_many sql_on: ${performance_nr_sound_recording.id} = ${nr_sound_recording_has_featured_artist_nr_participant.nr_sound_recording_id} ;; } join: nr_sound_recording_has_primary_artist_nr_participant { type: left_outer relationship: one_to_many sql_on: ${performance_nr_sound_recording.id} = ${nr_sound_recording_has_primary_artist_nr_participant.nr_sound_recording_id} ;; } join: featured_artist_participant { from: performance_nr_particpant view_label: "Featured Artist Participant" type: left_outer relationship: many_to_one sql_on: ${nr_sound_recording_has_featured_artist_nr_participant.nr_participant_id} = ${featured_artist_participant.id} ;; } join: primary_artist_participant { from: performance_nr_particpant view_label: "Primary Artist Participant" type: left_outer relationship: many_to_one sql_on: ${nr_sound_recording_has_primary_artist_nr_participant.nr_participant_id} = ${primary_artist_participant.id} ;; } }