# View: chartmetric_spotify

**View Name:** chartmetric_spotify
**Table Source:** `Derived from: Chartmetric.Raw_Data, Raw_Data.L_Spotify_Artist, Raw_Data.Spotify, Raw_Data.Spotify_Album, Raw_Data.Spotify_Artist`
**File Path:** `views/chartmetric_spotify.view.lkml`

## Overview

- **File Size:** 8047 bytes
- **Lines of Code:** 172
- **Dimensions:** 2
- **Measures:** 1
- **Dimension Groups:** 2
- **Filters:** 0

## Comments & Notes

- =========================================================================
- PRIMARY KEY & CORE IDENTIFIERS
- =========================================================================

## Dimensions

| Name | Type |
|------|------|
| `unique_row_id` | string |
| `album_pk_id` | number |

## Measures

| Name | Type |
|------|------|
| `unique_track_count` | count_distinct |

## Dimension Groups

| Name | Type |
|------|------|
| `album_release` | time |
| `artist_last_updated` | time |

## SQL Comments

- SPOTIFY (Track Columns)
- SPOTIFY_ALBUM (Album Columns)
- L_SPOTIFY_ARTIST & SPOTIFY_ARTIST (Artist Columns)

## Derived Table

```sql
sql:
      SELECT
        (t.ID || '-' || COALESCE(ar.ID::VARCHAR, 'NO_ARTIST')) AS unique_row_id,

      -- SPOTIFY (Track Columns)
      t.ID AS track_id,
      t.SPOTIFY_TRACK_ID AS spotify_track_id,
      t.SPOTIFY_ALBUM_ID AS track_spotify_album_id,
      t.SPOTIFY_ARTIST_ID AS track_spotify_artist_id,
      t.TRACK_NAME AS track_name,
      t.ALBUM_NAME AS track_album_name_string,
      t.ARTIST_NAME AS track_artist_name_string,
      t.ARTWORK_URL AS track_artwork_url,
      t.POPULARITY_SCORE AS track_popularity_score,
      t.DURATION_MS AS track_duration_ms,
      t.ISRC AS ISRC,
      t.PREVIEW_URL AS track_preview_url,
      t.EXPLICIT AS track_is_explicit,
      t.IS_PLAYABLE AS track_is_playable,
      t.CREATED_AT AS track_created_at,
      t.MODIFIED_AT AS track_modified_at,

      -- SPOTIFY_ALBUM (Album Columns)
      al.ID AS album_pk_id,
      al.SPOTIFY_ALBUM_ID AS spotify_album_id,
      al.RELEASE_DATE AS album_release_date,
      al.RELEASE_DATE_PRECISION AS album_release_date_precision,
      al.UPC AS upc,
      al.LABEL AS album_label,
      al.POPULARITY AS album_popularity,
      al.NAME AS album_name,
      al.ARTWORK_URL AS album_artwork_url,
      al.ALBUM_TYPE AS album_type,
      TO_VARCHAR(al.COPYRIGHTS) AS album_copyrights,
      al.CREATED_AT AS album_created_at,
      al.MODIFIED_AT AS album_modified_at,

      -- L_SPOTIFY_ARTIST & SPOTIFY_ARTIST (Artist Columns)
      la.ID AS link_artist_id,
      la.ORDERING AS artist_ordering,
      ar.ID AS artist_pk_id,
      ar.SPOTIFY_ARTIST_ID AS spotify_artist_id,
      ar.GENRES AS artist_genres,
      ar.POPULARITY_LATEST AS artist_popularity_latest,
      ar.FOLLOWERS_LATEST AS artist_followers_latest,
      ar.ARTIST_NAME AS artist_name,
      ar.CM_ARTIST AS cm_artist_id,
      ar.DESCRIPTION AS artist_description,
      ar.ARTWORK_URL AS artist_artwork_url,
      ar.LAST_UPDATED AS artist_last_updated,
      ar.VERIFIED AS artist_is_verified,
      ar.IS_DUPLICATE AS artist_is_duplicate,
      ar.CREATED_AT AS artist_created_at,
      ar.MODIFIED_AT AS artist_modified_at
      FROM CHARTMETRIC.RAW_DATA.SPOTIFY t
      LEFT JOIN CHARTMETRIC.RAW_DATA.SPOTIFY_ALBUM al ON t.SPOTIFY_ALBUM_ID = al.SPOTIFY_ALBUM_ID
      LEFT JOIN CHARTMETRIC.RAW_DATA.L_SPOTIFY_ARTIST la ON t.ID = la.SPOTIFY
      LEFT JOIN CHARTMETRIC.RAW_DATA.SPOTIFY_ARTIST ar ON la.SPOTIFY_ARTIST = ar.ID
      ;;
```

