dbt Advertising automotive

Generic Form Finalized

Generic Form Finalized model for advertising automotive.

inferred

Blocks

generic_form_finalized.sql · 41 lines
inferred
-- models/generic_form_finalized.sql
{{ config(materialized='view') }}

SELECT
  app_id,
  domain_userid,
  domain_sessionidx,
  event_id,
  event_type,
  page_url,
  collector_tstamp,
  conversion_type,
  form_type,
  model,
  email,
  first_name,
  last_name,
  phone
FROM {{ ref('generic_form_entries_and_submissions_and_enriched') }}
WHERE (email IS NOT NULL) OR (phone IS NOT NULL)

# models/schema.yml
version: 2

models:
  - name: generic_form_finalized
    columns:
      - name: application_id
      - name: user_id
      - name: session_index
      - name: event_id
      - name: event_type
      - name: page_url
      - name: timestamp
      - name: conversion_type
      - name: form_type
      - name: model
      - name: email
      - name: first_name
      - name: last_name
      - name: phone

Assumptions

  • Each ${view.SQL_TABLE_NAME} was mapped to {{ ref('view') }}; confirm a dbt model exists for each referenced view.
  • materialized='view' is the default; no persist hint found.
  • schema.yml columns come from view dimensions; a primary_key dimension gets unique + not_null tests.
generic_form_finalized.sql · 17 lines
source-preserved validation: not checked
SELECT
  app_id,
  domain_userid,
  domain_sessionidx,
  event_id,
  event_type,
  page_url,
  collector_tstamp,
  conversion_type,
  form_type,
  model,
  email,
  first_name,
  last_name,
  phone
FROM ${generic_form_entries_and_submissions_and_enriched.SQL_TABLE_NAME}
WHERE (email IS NOT NULL) OR (phone IS NOT NULL)
generic_form_finalized.view.lkml · 97 lines
inferred
view: generic_form_finalized {
  derived_table: {
    sql: SELECT
  app_id,
  domain_userid,
  domain_sessionidx,
  event_id,
  event_type,
  page_url,
  collector_tstamp,
  conversion_type,
  form_type,
  model,
  email,
  first_name,
  last_name,
  phone
FROM ${generic_form_entries_and_submissions_and_enriched.SQL_TABLE_NAME}
WHERE (email IS NOT NULL) OR (phone IS NOT NULL) ;;
  }

  dimension: application_id {
    sql: ${TABLE}.app_id ;;
  }

  dimension: user_id {
    sql: ${TABLE}.domain_userid ;;
  }

  dimension: session_index {
    sql: ${TABLE}.domain_sessionidx ;;
  }

  dimension: event_id {
    sql: ${TABLE}.event_id ;;
  }

  dimension: event_type {
    sql: ${TABLE}.event_type ;;
  }

  dimension: page_url {
    sql: ${TABLE}.page_url ;;
  }

  dimension: timestamp {
    sql: ${TABLE}.collector_tstamp ;;
  }

  dimension: conversion_type {
    sql: ${TABLE}.conversion_type ;;
  }

  dimension: form_type {
    sql: ${TABLE}.form_type ;;
  }

  dimension: model {
    sql: ${TABLE}.model ;;
  }

  dimension: email {
    sql: ${TABLE}.email ;;
  }

  dimension: first_name {
    sql: ${TABLE}.first_name ;;
  }

  dimension: last_name {
    sql: ${TABLE}.last_name ;;
  }

  dimension: phone {
    sql: ${TABLE}.phone ;;
  }

  dimension_group: timestamp {
    type: time
    timeframes: [date, week, month]
    sql: ${TABLE}.collector_tstamp ;;
  }

  measure: visitors_count {
    type: count_distinct
    sql: ${user_id} ;;
  }

  measure: form_type_count {
    type: count_distinct
    sql: ${form_type} ;;
  }

  measure: form_submit_count {
    type: count
  }
}
generic_form_finalized.view.lookml · 63 lines
source-preserved
- view: generic_form_finalized
  derived_table:
    sql: SELECT
  app_id,
  domain_userid,
  domain_sessionidx,
  event_id,
  event_type,
  page_url,
  collector_tstamp,
  conversion_type,
  form_type,
  model,
  email,
  first_name,
  last_name,
  phone
FROM ${generic_form_entries_and_submissions_and_enriched.SQL_TABLE_NAME}
WHERE (email IS NOT NULL) OR (phone IS NOT NULL)
  fields:
  - dimension: application_id
    sql: ${TABLE}.app_id
  - dimension: user_id
    sql: ${TABLE}.domain_userid
  - dimension: session_index
    sql: ${TABLE}.domain_sessionidx
  - dimension: event_id
    sql: ${TABLE}.event_id
  - dimension: event_type
    sql: ${TABLE}.event_type
  - dimension: page_url
    sql: ${TABLE}.page_url
  - dimension: timestamp
    sql: ${TABLE}.collector_tstamp
  - dimension: conversion_type
    sql: ${TABLE}.conversion_type
  - dimension: form_type
    sql: ${TABLE}.form_type
  - dimension: model
    sql: ${TABLE}.model
  - dimension: email
    sql: ${TABLE}.email
  - dimension: first_name
    sql: ${TABLE}.first_name
  - dimension: last_name
    sql: ${TABLE}.last_name
  - dimension: phone
    sql: ${TABLE}.phone
  - dimension_group: timestamp
    type: time
    timeframes:
    - date
    - week
    - month
    sql: ${TABLE}.collector_tstamp
  - measure: visitors_count
    type: count_distinct
    sql: ${user_id}
  - measure: form_type_count
    type: count_distinct
    sql: ${form_type}
  - measure: form_submit_count
    type: count

Contents

  • generic_form_finalized.sql
  • generic_form_finalized.sql
  • generic_form_finalized.view.lkml
  • generic_form_finalized.view.lookml