LKML
Media engagement
Watchwith
Watchwith model for media engagement.
inferred
Blocks
watchwith.view.lkml · 150 lines
inferred
view: watchwith {
sql_table_name: atomic.company_events ;;
dimension: id {
type: int
sql: ${TABLE}.id ;;
}
dimension: airing_id {
sql: ${TABLE}.airing_id ;;
}
dimension: episode_name {
sql: CASE WHEN ${TABLE}.airing_id = <% episode_uuid_301 %> THEN 'Defiance - Episode 301'
WHEN ${TABLE}.airing_id = <% episode_uuid_302 %> THEN 'Defiance - Episode 302'
WHEN ${TABLE}.airing_id = <% episode_uuid_303 %> THEN 'Defiance - Episode 303'
WHEN ${TABLE}.airing_id = <% episode_uuid_304 %> THEN 'Defiance - Episode 304'
WHEN ${TABLE}.airing_id = <% episode_uuid_305 %> THEN 'Defiance - Episode 305'
WHEN ${TABLE}.airing_id = <% episode_uuid_306 %> THEN 'Defiance - Episode 306'
WHEN ${TABLE}.airing_id = <% episode_uuid_307 %> THEN 'Defiance - Episode 307'
WHEN ${TABLE}.airing_id = <% episode_uuid_308 %> THEN 'Defiance - Episode 308'
WHEN ${TABLE}.airing_id = <% episode_uuid_309 %> THEN 'Defiance - Episode 309'
ELSE NULL
END ;;
}
dimension: app_key {
sql: ${TABLE}.app_key ;;
}
dimension: app_name {
sql: ${TABLE}.app_name ;;
}
dimension: app_product {
sql: ${TABLE}.app_product ;;
}
dimension: channel_id {
sql: ${TABLE}.channel_id ;;
}
dimension: event_id {
sql: ${TABLE}.event_id ;;
}
dimension: event_title {
sql: ${TABLE}.event_title ;;
}
dimension: event_type {
sql: ${TABLE}.event_type ;;
}
dimension: media_time_ms {
description: "milliseconds into the show"
type: int
sql: ${TABLE}.media_time ;;
}
dimension: media_time_min {
description: "minutes into the show"
type: int
sql: ${TABLE}.media_time / 60000 ;;
}
dimension: playback_rate {
type: int
sql: ${TABLE}.playback_rate ;;
}
dimension: season_id {
sql: ${TABLE}.season_id ;;
}
dimension: season_number {
sql: ${TABLE}.season_number ;;
}
dimension: series_id {
sql: ${TABLE}.series_id ;;
}
dimension: series_name {
sql: ${TABLE}.series_name ;;
}
dimension: snowplow_event_id {
primary_key: yes
sql: ${TABLE}.snowplow_event_id ;;
}
dimension: tracker_action {
sql: ${TABLE}.tracker_action ;;
}
dimension: tracker_action_value {
sql: ${TABLE}.tracker_action_value ;;
}
dimension: tracker_type {
description: "indicates if event shows up or closes out. An event can have multiple ins and outs."
sql: ${TABLE}.tracker_type ;;
}
dimension: is_in {
type: yesno
sql: ${tracker_type} = 'event-in' ;;
}
dimension: is_out {
type: yesno
sql: ${tracker_type} = 'event-out' ;;
}
dimension: hours_since_airdate {
type: int
sql: DATEDIFF(hours, ${airing_facts.air_time}::timestamp, ${tracker_timestamp_time}::timestamp) ;;
}
dimension: user_cookie {
sql: ${TABLE}.user_cookie ;;
}
dimension: work_id {
sql: ${TABLE}.work_id ;;
}
dimension: work_title {
sql: ${TABLE}.work_title ;;
}
dimension_group: airing_start {
type: time
timeframes: [time, date, week, month]
sql: ${TABLE}.airing_start_date ;;
}
dimension_group: tracker_timestamp {
description: "once the event shows on the screen"
type: time
timeframes: [time, date, week, month, hour, minute, day_of_week, hour_of_day]
sql: ${TABLE}.tracker_timestamp ;;
}
measure: count {
type: count
drill_fields: [detail*]
}
}
watchwith.view.lookml · 102 lines
source-preserved
- view: watchwith
sql_table_name: atomic.company_events
fields:
- dimension: id
type: int
sql: ${TABLE}.id
- dimension: airing_id
sql: ${TABLE}.airing_id
- dimension: episode_name
sql: CASE WHEN ${TABLE}.airing_id = <% episode_uuid_301 %> THEN 'Defiance - Episode 301'
WHEN ${TABLE}.airing_id = <% episode_uuid_302 %> THEN 'Defiance - Episode 302'
WHEN ${TABLE}.airing_id = <% episode_uuid_303 %> THEN 'Defiance - Episode 303'
WHEN ${TABLE}.airing_id = <% episode_uuid_304 %> THEN 'Defiance - Episode 304'
WHEN ${TABLE}.airing_id = <% episode_uuid_305 %> THEN 'Defiance - Episode 305'
WHEN ${TABLE}.airing_id = <% episode_uuid_306 %> THEN 'Defiance - Episode 306'
WHEN ${TABLE}.airing_id = <% episode_uuid_307 %> THEN 'Defiance - Episode 307'
WHEN ${TABLE}.airing_id = <% episode_uuid_308 %> THEN 'Defiance - Episode 308'
WHEN ${TABLE}.airing_id = <% episode_uuid_309 %> THEN 'Defiance - Episode 309'
ELSE NULL
END
- dimension: app_key
sql: ${TABLE}.app_key
- dimension: app_name
sql: ${TABLE}.app_name
- dimension: app_product
sql: ${TABLE}.app_product
- dimension: channel_id
sql: ${TABLE}.channel_id
- dimension: event_id
sql: ${TABLE}.event_id
- dimension: event_title
sql: ${TABLE}.event_title
- dimension: event_type
sql: ${TABLE}.event_type
- dimension: media_time_ms
type: int
description: milliseconds into the show
sql: ${TABLE}.media_time
- dimension: media_time_min
type: int
description: minutes into the show
sql: ${TABLE}.media_time / 60000
- dimension: playback_rate
type: int
sql: ${TABLE}.playback_rate
- dimension: season_id
sql: ${TABLE}.season_id
- dimension: season_number
sql: ${TABLE}.season_number
- dimension: series_id
sql: ${TABLE}.series_id
- dimension: series_name
sql: ${TABLE}.series_name
- dimension: snowplow_event_id
primary_key: true
sql: ${TABLE}.snowplow_event_id
- dimension: tracker_action
sql: ${TABLE}.tracker_action
- dimension: tracker_action_value
sql: ${TABLE}.tracker_action_value
- dimension: tracker_type
description: indicates if event shows up or closes out. An event can have multiple ins and outs.
sql: ${TABLE}.tracker_type
- dimension: is_in
type: yesno
sql: ${tracker_type} = 'event-in'
- dimension: is_out
type: yesno
sql: ${tracker_type} = 'event-out'
- dimension: hours_since_airdate
type: int
sql: DATEDIFF(hours, ${airing_facts.air_time}::timestamp, ${tracker_timestamp_time}::timestamp)
- dimension: user_cookie
sql: ${TABLE}.user_cookie
- dimension: work_id
sql: ${TABLE}.work_id
- dimension: work_title
sql: ${TABLE}.work_title
- dimension_group: airing_start
type: time
timeframes:
- time
- date
- week
- month
sql: ${TABLE}.airing_start_date
- dimension_group: tracker_timestamp
type: time
timeframes:
- time
- date
- week
- month
- hour
- minute
- day_of_week
- hour_of_day
sql: ${TABLE}.tracker_timestamp
- measure: count
type: count
drill_fields:
- detail*
Contents
- watchwith.view.lkml
- watchwith.view.lookml