LKML Social shopping

User Actions

User Actions model for social shopping.

inferred

Blocks

user_actions.view.lkml · 158 lines
inferred
view: user_actions {
  sql_table_name: public.user_actions ;;

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

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

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

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

  dimension: collections {
    type: int
    sql: ${TABLE}.collections ;;
  }

  dimension: collections_i_follow {
    type: int
    sql: ${TABLE}.collections_i_follow ;;
  }

  dimension: epoch {
    type: int
    sql: ${TABLE}.epoch ;;
  }

  dimension: followers {
    type: int
    sql: ${TABLE}.followers ;;
  }

  dimension: following {
    type: int
    sql: ${TABLE}.following ;;
  }

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

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

  dimension: parent_actionable_id {
    type: int
    sql: ${TABLE}.parent_actionable_id ;;
  }

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

  dimension: platform {
    sql: (case when ${TABLE}.platform like 'i%' then 'iOS' when ${TABLE}.platform like 'a%' then 'Android' when ${TABLE}.platform like 'd%' then 'Desktop' else NULL end) ;;
  }

  dimension: saves {
    type: int
    sql: ${TABLE}.saves ;;
  }

  dimension: sessions {
    type: int
    sql: ${TABLE}.sessions ;;
  }

  dimension: stores {
    type: int
    sql: ${TABLE}.stores ;;
  }

  dimension: user_id {
    type: int
    sql: ${TABLE}.user_id ;;
  }

  dimension_group: created {
    type: time
    timeframes: [date, week, month]
    datatype: epoch
    sql: ${TABLE}.epoch ;;
  }

  measure: distinct_users_count {
    type: count_distinct
    sql: ${TABLE}.user_id ;;
  }

  measure: count {
    type: int
    sql: count(*) ;;
  }

  measure: action_1_user_count {
    description: "Use with Action 1 Filter to select which events to use in funnel"
    type: number
    sql: COUNT(
  DISTINCT(
    CASE
      WHEN
      {% condition action_1 %} ${action} {% endcondition %}
        THEN ${user_actions.user_id}
      ELSE NULL END
  )
) ;;
  }

  measure: action_2_user_count {
    description: "Use with Action 2 Filter to select which events to use in funnel"
    type: number
    sql: COUNT(
  DISTINCT(
    CASE
      WHEN
      {% condition action_2 %} ${action} {% endcondition %}
        THEN ${user_actions.user_id}
      ELSE NULL END
  )
) ;;
  }

  measure: action_3_user_count {
    description: "Use with Action 3 Filter to select which events to use in funnel"
    type: number
    sql: COUNT(
  DISTINCT(
    CASE
      WHEN
      {% condition action_3 %} ${action} {% endcondition %}
        THEN ${user_actions.user_id}
      ELSE NULL END
  )
) ;;
  }

  measure: action_4_user_count {
    description: "Use with Action 4 Filter to select which events to use in funnel"
    type: number
    sql: COUNT(
  DISTINCT(
    CASE
      WHEN
      {% condition action_4 %} ${action} {% endcondition %}
        THEN ${user_actions.user_id}
      ELSE NULL END
  )
) ;;
  }
}
user_actions.view.lookml · 111 lines
source-preserved
- view: user_actions
  sql_table_name: public.user_actions
  fields:
  - dimension: action
    sql: ${TABLE}.action
  - dimension: actionable_id
    sql: ${TABLE}.actionable_id
  - dimension: actionable_type
    sql: ${TABLE}.actionable_type
  - dimension: app_ver
    sql: ${TABLE}.app_ver
  - dimension: collections
    type: int
    sql: ${TABLE}.collections
  - dimension: collections_i_follow
    type: int
    sql: ${TABLE}.collections_i_follow
  - dimension: epoch
    type: int
    sql: ${TABLE}.epoch
  - dimension: followers
    type: int
    sql: ${TABLE}.followers
  - dimension: following
    type: int
    sql: ${TABLE}.following
  - dimension: json_params
    sql: ${TABLE}.json_params
  - dimension: last_view
    sql: ${TABLE}.last_view
  - dimension: parent_actionable_id
    type: int
    sql: ${TABLE}.parent_actionable_id
  - dimension: parent_actionable_type
    sql: ${TABLE}.parent_actionable_type
  - dimension: platform
    sql: (case when ${TABLE}.platform like 'i%' then 'iOS' when ${TABLE}.platform like 'a%' then 'Android' when ${TABLE}.platform like 'd%' then 'Desktop' else NULL end)
  - dimension: saves
    type: int
    sql: ${TABLE}.saves
  - dimension: sessions
    type: int
    sql: ${TABLE}.sessions
  - dimension: stores
    type: int
    sql: ${TABLE}.stores
  - dimension: user_id
    type: int
    sql: ${TABLE}.user_id
  - dimension_group: created
    type: time
    timeframes:
    - date
    - week
    - month
    datatype: epoch
    sql: ${TABLE}.epoch
  - measure: distinct_users_count
    type: count_distinct
    sql: ${TABLE}.user_id
  - measure: count
    type: int
    sql: count(*)
  - measure: action_1_user_count
    type: number
    description: Use with Action 1 Filter to select which events to use in funnel
    sql: COUNT(
  DISTINCT(
    CASE
      WHEN
      {% condition action_1 %} ${action} {% endcondition %}
        THEN ${user_actions.user_id}
      ELSE NULL END
  )
)
  - measure: action_2_user_count
    type: number
    description: Use with Action 2 Filter to select which events to use in funnel
    sql: COUNT(
  DISTINCT(
    CASE
      WHEN
      {% condition action_2 %} ${action} {% endcondition %}
        THEN ${user_actions.user_id}
      ELSE NULL END
  )
)
  - measure: action_3_user_count
    type: number
    description: Use with Action 3 Filter to select which events to use in funnel
    sql: COUNT(
  DISTINCT(
    CASE
      WHEN
      {% condition action_3 %} ${action} {% endcondition %}
        THEN ${user_actions.user_id}
      ELSE NULL END
  )
)
  - measure: action_4_user_count
    type: number
    description: Use with Action 4 Filter to select which events to use in funnel
    sql: COUNT(
  DISTINCT(
    CASE
      WHEN
      {% condition action_4 %} ${action} {% endcondition %}
        THEN ${user_actions.user_id}
      ELSE NULL END
  )
)

Contents

  • user_actions.view.lkml
  • user_actions.view.lookml