LKML
Crowdfunding
Tracks
Tracks model for crowdfunding.
inferred
Blocks
tracks.view.lkml · 219 lines
inferred
view: tracks {
sql_table_name: production.tracks ;;
dimension: anonymous_id {
sql: ${TABLE}.anonymous_id ;;
}
dimension: has_anonymous_id {
type: yesno
sql: ${anonymous_id} IS NOT NULL ;;
}
dimension: callback_id {
type: int
sql: ${TABLE}.callback_id ;;
}
dimension: context_campaign_content {
sql: ${TABLE}.context_campaign_content ;;
}
dimension: context_campaign_medium {
sql: ${TABLE}.context_campaign_medium ;;
}
dimension: context_campaign_medium_20display {
sql: ${TABLE}.context_campaign_medium_20display ;;
}
dimension: context_campaign_medium_display {
sql: ${TABLE}.context_campaign_medium_display ;;
}
dimension: context_campaign_name {
sql: ${TABLE}.context_campaign_name ;;
}
dimension: context_campaign_source {
sql: ${TABLE}.context_campaign_source ;;
}
dimension: context_campaign_term {
sql: ${TABLE}.context_campaign_term ;;
}
dimension: context_ip {
sql: ${TABLE}.context_ip ;;
}
dimension: context_language {
sql: ${TABLE}.context_language ;;
}
dimension: context_library_name {
sql: ${TABLE}.context_library_name ;;
}
dimension: context_library_version {
sql: ${TABLE}.context_library_version ;;
}
dimension: context_page_path {
sql: ${TABLE}.context_page_path ;;
}
dimension: context_page_referrer {
sql: ${TABLE}.context_page_referrer ;;
}
dimension: context_page_search {
sql: ${TABLE}.context_page_search ;;
}
dimension: context_page_title {
sql: ${TABLE}.context_page_title ;;
}
dimension: context_page_url {
sql: ${TABLE}.context_page_url ;;
}
dimension: context_user_agent {
sql: ${TABLE}.context_user_agent ;;
}
dimension: context_user_agent_device {
sql: CASE
WHEN POSITION('iPad' IN ${context_user_agent}) != 0 THEN 'Tablet'
WHEN POSITION('iPhone' IN ${context_user_agent}) != 0 OR POSITION('iphone' IN ${context_user_agent}) != 0 AND POSITION('iPad' IN ${context_user_agent}) = 0 THEN 'Mobile Phone'
WHEN POSITION('Windows' IN ${context_user_agent}) != 0 OR POSITION('windows' IN ${context_user_agent}) != 0 OR POSITION('Win/5.0' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('Nokia' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('DoCoMo' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('Mobile' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('Linux' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('Mac OS X' IN ${context_user_agent}) != 0 OR POSITION('Mac OSX' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('Android' IN ${context_user_agent}) != 0 OR POSITION('android' IN ${context_user_agent}) != 0THEN 'Mobile Phone'
WHEN POSITION('SAMSUNG' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('Opera Mini' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('Macintosh' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('X11' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('BlackBerry' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
ELSE 'Other'
END ;;
}
dimension: event {
sql: ${TABLE}.event ;;
}
dimension: event_id {
sql: ${TABLE}.event_id ;;
}
dimension: pk {
primary_key: yes
hidden: yes
sql: ${TABLE}.event_id || ${TABLE}.sent_at || ${anonymous_id} ;;
}
dimension: event_text {
sql: ${TABLE}.event_text ;;
}
dimension: user_id {
sql: ${TABLE}.user_id ;;
}
dimension_group: original_timestamp {
type: time
timeframes: [time, date, week, month]
sql: ${TABLE}.original_timestamp ;;
}
dimension_group: received {
type: time
timeframes: [time, date, week, month]
sql: ${TABLE}.received_at ;;
}
dimension_group: sent {
type: time
timeframes: [time, date, week, month]
sql: ${TABLE}.sent_at ;;
}
measure: count {
type: count
drill_fields: [detail*]
}
measure: percent_of_total_actions {
type: percent_of_total
value_format: "#.00\%"
drill_fields: [detail*]
sql: ${count} ;;
}
measure: earliest_timestamp {
type: string
drill_fields: [detail*]
sql: MIN(${received_time}) ;;
}
measure: event1_session_count {
type: number
drill_fields: [detail*]
sql: COUNT(
DISTINCT(
CASE
WHEN
{% condition event1 %} ${event} {% endcondition %}
THEN ${event_facts.session_id}
ELSE NULL END
)
) ;;
}
measure: event2_session_count {
type: number
drill_fields: [detail*]
sql: COUNT(
DISTINCT(
CASE
WHEN
{% condition event2 %} ${event} {% endcondition %}
THEN ${event_facts.session_id}
ELSE NULL END
)
) ;;
}
measure: event3_session_count {
type: number
drill_fields: [detail*]
sql: COUNT(
DISTINCT(
CASE
WHEN
{% condition event3 %} ${event} {% endcondition %}
THEN ${event_facts.session_id}
ELSE NULL END
)
) ;;
}
measure: event4_session_count {
type: number
drill_fields: [detail*]
sql: COUNT(
DISTINCT(
CASE
WHEN
{% condition event4 %} ${event} {% endcondition %}
THEN ${event_facts.session_id}
ELSE NULL END
)
) ;;
}
}
tracks.view.lookml · 166 lines
source-preserved
- view: tracks
sql_table_name: production.tracks
fields:
- dimension: anonymous_id
sql: ${TABLE}.anonymous_id
- dimension: has_anonymous_id
type: yesno
sql: ${anonymous_id} IS NOT NULL
- dimension: callback_id
type: int
sql: ${TABLE}.callback_id
- dimension: context_campaign_content
sql: ${TABLE}.context_campaign_content
- dimension: context_campaign_medium
sql: ${TABLE}.context_campaign_medium
- dimension: context_campaign_medium_20display
sql: ${TABLE}.context_campaign_medium_20display
- dimension: context_campaign_medium_display
sql: ${TABLE}.context_campaign_medium_display
- dimension: context_campaign_name
sql: ${TABLE}.context_campaign_name
- dimension: context_campaign_source
sql: ${TABLE}.context_campaign_source
- dimension: context_campaign_term
sql: ${TABLE}.context_campaign_term
- dimension: context_ip
sql: ${TABLE}.context_ip
- dimension: context_language
sql: ${TABLE}.context_language
- dimension: context_library_name
sql: ${TABLE}.context_library_name
- dimension: context_library_version
sql: ${TABLE}.context_library_version
- dimension: context_page_path
sql: ${TABLE}.context_page_path
- dimension: context_page_referrer
sql: ${TABLE}.context_page_referrer
- dimension: context_page_search
sql: ${TABLE}.context_page_search
- dimension: context_page_title
sql: ${TABLE}.context_page_title
- dimension: context_page_url
sql: ${TABLE}.context_page_url
- dimension: context_user_agent
sql: ${TABLE}.context_user_agent
- dimension: context_user_agent_device
sql: CASE
WHEN POSITION('iPad' IN ${context_user_agent}) != 0 THEN 'Tablet'
WHEN POSITION('iPhone' IN ${context_user_agent}) != 0 OR POSITION('iphone' IN ${context_user_agent}) != 0 AND POSITION('iPad' IN ${context_user_agent}) = 0 THEN 'Mobile Phone'
WHEN POSITION('Windows' IN ${context_user_agent}) != 0 OR POSITION('windows' IN ${context_user_agent}) != 0 OR POSITION('Win/5.0' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('Nokia' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('DoCoMo' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('Mobile' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('Linux' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('Mac OS X' IN ${context_user_agent}) != 0 OR POSITION('Mac OSX' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('Android' IN ${context_user_agent}) != 0 OR POSITION('android' IN ${context_user_agent}) != 0THEN 'Mobile Phone'
WHEN POSITION('SAMSUNG' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('Opera Mini' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
WHEN POSITION('Macintosh' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('X11' IN ${context_user_agent}) != 0 THEN 'Desktop'
WHEN POSITION('BlackBerry' IN ${context_user_agent}) != 0 THEN 'Mobile Phone'
ELSE 'Other'
END
- dimension: event
sql: ${TABLE}.event
- dimension: event_id
sql: ${TABLE}.event_id
- dimension: pk
primary_key: true
hidden: true
sql: ${TABLE}.event_id || ${TABLE}.sent_at || ${anonymous_id}
- dimension: event_text
sql: ${TABLE}.event_text
- dimension: user_id
sql: ${TABLE}.user_id
- dimension_group: original_timestamp
type: time
timeframes:
- time
- date
- week
- month
sql: ${TABLE}.original_timestamp
- dimension_group: received
type: time
timeframes:
- time
- date
- week
- month
sql: ${TABLE}.received_at
- dimension_group: sent
type: time
timeframes:
- time
- date
- week
- month
sql: ${TABLE}.sent_at
- measure: count
type: count
drill_fields:
- detail*
- measure: percent_of_total_actions
type: percent_of_total
value_format: '#.00\%'
drill_fields:
- detail*
sql: ${count}
- measure: earliest_timestamp
type: string
drill_fields:
- detail*
sql: MIN(${received_time})
- measure: event1_session_count
type: number
drill_fields:
- detail*
sql: COUNT(
DISTINCT(
CASE
WHEN
{% condition event1 %} ${event} {% endcondition %}
THEN ${event_facts.session_id}
ELSE NULL END
)
)
- measure: event2_session_count
type: number
drill_fields:
- detail*
sql: COUNT(
DISTINCT(
CASE
WHEN
{% condition event2 %} ${event} {% endcondition %}
THEN ${event_facts.session_id}
ELSE NULL END
)
)
- measure: event3_session_count
type: number
drill_fields:
- detail*
sql: COUNT(
DISTINCT(
CASE
WHEN
{% condition event3 %} ${event} {% endcondition %}
THEN ${event_facts.session_id}
ELSE NULL END
)
)
- measure: event4_session_count
type: number
drill_fields:
- detail*
sql: COUNT(
DISTINCT(
CASE
WHEN
{% condition event4 %} ${event} {% endcondition %}
THEN ${event_facts.session_id}
ELSE NULL END
)
)
Contents
- tracks.view.lkml
- tracks.view.lookml