LKML
Saas ecosystem
Session Duration Fact
Session Duration Fact model for saas ecosystem.
inferred
Blocks
session_duration_fact.view.lkml · 85 lines
inferred
view: session_duration_fact {
sql_table_name: public.session_duration_fact ;;
dimension: id {
type: int
primary_key: yes
sql: ${TABLE}.id ;;
}
dimension: client_id {
type: int
sql: ${TABLE}.client_id ;;
}
dimension: date_id {
type: int
sql: ${TABLE}.date_id ;;
}
dimension: duration {
type: int
sql: ${TABLE}.duration ;;
}
dimension: time_id {
type: int
sql: ${TABLE}.time_id ;;
}
dimension: user_id {
type: int
sql: ${TABLE}.user_id ;;
}
dimension_group: session_duration {
type: time
timeframes: [date, week, month, month_num, day_of_week, day_of_week_index, week_of_year, day_of_month, time, hour_of_day, hour, time_of_day]
sql: (SUBSTRING(${date_id}, 1, 4) || '-' || SUBSTRING(${date_id}, 5, 2) || '-' || SUBSTRING(${date_id}, 7, 2)|| ' ' || ${time_dim.minute_description} || ':00')::timestamp ;;
}
measure: count {
type: count
drill_fields: [id]
}
measure: sum_duration {
type: sum
sql: ${duration} ;;
}
measure: count_of_sessions {
type: count_distinct
sql: ${id} ;;
}
measure: sum_sessions {
type: sum
sql: ${id} ;;
}
measure: count_of_users {
type: count_distinct
sql: ${user_id} ;;
}
measure: avg_session_duration {
type: number
sql: ( 1.0 * ${sum_duration})/NULLIF(${count_of_sessions},0) ;;
}
measure: min_session_duration {
type: min
sql: ${duration} ;;
}
measure: max_session_duration {
type: max
sql: ${duration} ;;
}
measure: avg_sessions {
type: number
sql: ( 1.0 * ${count_of_sessions})/NULLIF(${count_of_users},0) ;;
}
}
session_duration_fact.view.lookml · 66 lines
source-preserved
- view: session_duration_fact
sql_table_name: public.session_duration_fact
fields:
- dimension: id
type: int
primary_key: true
sql: ${TABLE}.id
- dimension: client_id
type: int
sql: ${TABLE}.client_id
- dimension: date_id
type: int
sql: ${TABLE}.date_id
- dimension: duration
type: int
sql: ${TABLE}.duration
- dimension: time_id
type: int
sql: ${TABLE}.time_id
- dimension: user_id
type: int
sql: ${TABLE}.user_id
- dimension_group: session_duration
type: time
timeframes:
- date
- week
- month
- month_num
- day_of_week
- day_of_week_index
- week_of_year
- day_of_month
- time
- hour_of_day
- hour
- time_of_day
sql: (SUBSTRING(${date_id}, 1, 4) || '-' || SUBSTRING(${date_id}, 5, 2) || '-' || SUBSTRING(${date_id}, 7, 2)|| ' ' || ${time_dim.minute_description} || ':00')::timestamp
- measure: count
type: count
drill_fields:
- id
- measure: sum_duration
type: sum
sql: ${duration}
- measure: count_of_sessions
type: count_distinct
sql: ${id}
- measure: sum_sessions
type: sum
sql: ${id}
- measure: count_of_users
type: count_distinct
sql: ${user_id}
- measure: avg_session_duration
type: number
sql: ( 1.0 * ${sum_duration})/NULLIF(${count_of_sessions},0)
- measure: min_session_duration
type: min
sql: ${duration}
- measure: max_session_duration
type: max
sql: ${duration}
- measure: avg_sessions
type: number
sql: ( 1.0 * ${count_of_sessions})/NULLIF(${count_of_users},0)
Contents
- session_duration_fact.view.lkml
- session_duration_fact.view.lookml