dbt
App event sharing
Event Registry Derived
Event Registry Derived model for app event sharing.
inferred
Blocks
event_registry_derived.sql · 43 lines
inferred
-- models/event_registry_derived.sql
{{ config(materialized='table') }}
SELECT
id as id,
platform as platform,
os as os,
category as category,
action as action,
label as label,
sub_label as sub_label,
sub_sub_label as sub_sub_label,
value as value,
event_id as event_id,
user_id as user_id,
created_at as created_at,
updated_at as updated_at,
fallback_analytics_token as fallback_analytics_token
FROM analytics
WHERE action = "screen" and (label = "RegistryHome" OR label = "Registry" OR label = "registries" OR label = "ViewRegistryWeb-Guest" OR label = "ViewRegistryWeb-Admin") OR (action = "click" and (label = "go_to_registry" and sub_label = "guest"))
# models/schema.yml
version: 2
models:
- name: event_registry_derived
columns:
- name: id
tests:
- unique
- not_null
- name: action
- name: category
- name: event_id
- name: label
- name: os
- name: platform
- name: sub_label
- name: sub_sub_label
- name: fallback_analytics_token
- name: user_id
- name: registry_home_viewed
- name: registry_clicked
Assumptions
- materialized='table' inferred from a LookML persist hint (persist_for / datagroup / sql_trigger_value).
- schema.yml columns come from view dimensions; a primary_key dimension gets unique + not_null tests.
event_registry_derived.sql · 17 lines
source-preserved
validation: parses
SELECT
id as id,
platform as platform,
os as os,
category as category,
action as action,
label as label,
sub_label as sub_label,
sub_sub_label as sub_sub_label,
value as value,
event_id as event_id,
user_id as user_id,
created_at as created_at,
updated_at as updated_at,
fallback_analytics_token as fallback_analytics_token
FROM analytics
WHERE action = "screen" and (label = "RegistryHome" OR label = "Registry" OR label = "registries" OR label = "ViewRegistryWeb-Guest" OR label = "ViewRegistryWeb-Admin") OR (action = "click" and (label = "go_to_registry" and sub_label = "guest"))
event_registry_derived.view.lkml · 108 lines
inferred
view: event_registry_derived {
derived_table: {
sql: SELECT
id as id,
platform as platform,
os as os,
category as category,
action as action,
label as label,
sub_label as sub_label,
sub_sub_label as sub_sub_label,
value as value,
event_id as event_id,
user_id as user_id,
created_at as created_at,
updated_at as updated_at,
fallback_analytics_token as fallback_analytics_token
FROM analytics
WHERE action = "screen" and (label = "RegistryHome" OR label = "Registry" OR label = "registries" OR label = "ViewRegistryWeb-Guest" OR label = "ViewRegistryWeb-Admin") OR (action = "click" and (label = "go_to_registry" and sub_label = "guest")) ;;
persist_for: "6 hours"
}
dimension: id {
type: int
primary_key: yes
sql: ${TABLE}.id ;;
}
dimension: action {
sql: ${TABLE}.action ;;
}
dimension: category {
sql: ${TABLE}.category ;;
}
dimension: event_id {
type: int
hidden: yes
sql: ${TABLE}.event_id ;;
}
dimension: label {
sql: ${TABLE}.label ;;
}
dimension: os {
sql: ${TABLE}.os ;;
}
dimension: platform {
sql: ${TABLE}.platform ;;
}
dimension: sub_label {
sql: ${TABLE}.sub_label ;;
}
dimension: sub_sub_label {
sql: ${TABLE}.sub_sub_label ;;
}
dimension: fallback_analytics_token {
sql: ${TABLE}.fallback_analytics_token ;;
}
dimension: user_id {
type: int
hidden: yes
sql: ${TABLE}.user_id ;;
}
dimension: registry_home_viewed {
type: int
sql: ${TABLE}.label IN ("RegistryHome", "Registry", "registries") ;;
}
dimension: registry_clicked {
type: int
sql: ${TABLE}.label IN ("ViewRegistryWeb-Guest", "go_to_registry") ;;
}
dimension_group: created {
type: time
timeframes: [time, date, week, month, hour]
sql: ${TABLE}.created_at ;;
}
dimension_group: updated {
type: time
timeframes: [time, date, week, month]
sql: ${TABLE}.updated_at ;;
}
measure: count {
type: count
}
measure: registry_home_viewed_count {
type: sum
sql: ${registry_home_viewed} ;;
}
measure: registry_clicked_count {
type: sum
sql: ${registry_clicked} ;;
}
}
event_registry_derived.view.lookml · 80 lines
source-preserved
- view: event_registry_derived
derived_table:
sql: SELECT
id as id,
platform as platform,
os as os,
category as category,
action as action,
label as label,
sub_label as sub_label,
sub_sub_label as sub_sub_label,
value as value,
event_id as event_id,
user_id as user_id,
created_at as created_at,
updated_at as updated_at,
fallback_analytics_token as fallback_analytics_token
FROM analytics
WHERE action = "screen" and (label = "RegistryHome" OR label = "Registry" OR label = "registries" OR label = "ViewRegistryWeb-Guest" OR label = "ViewRegistryWeb-Admin") OR (action = "click" and (label = "go_to_registry" and sub_label = "guest"))
persist_for: 6 hours
fields:
- dimension: id
type: int
primary_key: true
sql: ${TABLE}.id
- dimension: action
sql: ${TABLE}.action
- dimension: category
sql: ${TABLE}.category
- dimension: event_id
type: int
hidden: true
sql: ${TABLE}.event_id
- dimension: label
sql: ${TABLE}.label
- dimension: os
sql: ${TABLE}.os
- dimension: platform
sql: ${TABLE}.platform
- dimension: sub_label
sql: ${TABLE}.sub_label
- dimension: sub_sub_label
sql: ${TABLE}.sub_sub_label
- dimension: fallback_analytics_token
sql: ${TABLE}.fallback_analytics_token
- dimension: user_id
type: int
hidden: true
sql: ${TABLE}.user_id
- dimension: registry_home_viewed
type: int
sql: ${TABLE}.label IN ("RegistryHome", "Registry", "registries")
- dimension: registry_clicked
type: int
sql: ${TABLE}.label IN ("ViewRegistryWeb-Guest", "go_to_registry")
- dimension_group: created
type: time
timeframes:
- time
- date
- week
- month
- hour
sql: ${TABLE}.created_at
- dimension_group: updated
type: time
timeframes:
- time
- date
- week
- month
sql: ${TABLE}.updated_at
- measure: count
type: count
- measure: registry_home_viewed_count
type: sum
sql: ${registry_home_viewed}
- measure: registry_clicked_count
type: sum
sql: ${registry_clicked}
Contents
- event_registry_derived.sql
- event_registry_derived.sql
- event_registry_derived.view.lkml
- event_registry_derived.view.lookml