SQL Delivery service

Driver Peak Hod Vs Driverpool

Driver Peak Hod Vs Driverpool model for delivery service.

source-preserved

Blocks

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

Select
         driver_pool.metro_id
        ,peak_hour.metros_name
        ,peak_hour.Active_Date_Local
        ,peak_hour.Peak_Driver_HoD_Count
        ,driver_pool.Authorized_Driver_Count
        ,(peak_hour.Peak_Driver_HoD_Count / driver_pool.Authorized_Driver_Count) as peak_to_pool
   From
        (Select metros_name
               ,Active_Date_Local
               ,Peak_Driver_HoD_Count
          From {{ ref('driver_peak_worked_hod') }} as  a
        Group By 1,2,3
        ) peak_hour
   LEFT JOIN
      (Select
              metros.id as metro_id
             ,case when metros.name IN ('Houston East','Houston Northwest','Houston Southwest','Houston') THEN 'Houston'
                else metros.name
                  end metros_name
             ,count(distinct users.id) as Authorized_Driver_Count
          from users
          join metros
            on users.metro_id = metros.id
        where labor_pool_id = 1
        and authorized = "true"
        and roles_mask = 16
      Group By 1,2
      ) driver_pool
    on peak_hour.metros_name = driver_pool.metros_name
Group By 1,2,3,4,5

# models/schema.yml
version: 2

models:
  - name: driver_peak_hod_vs_driverpool
    columns:
      - name: metro_id
        tests:
          - unique
          - not_null
      - name: metros_name
      - name: Peak_Driver_HoD_Count
      - name: Authorized_Driver_Count
      - name: Total_Peak_Driver_Count
      - name: Total_Authorized_Driver_Count
      - name: Total_peak_to_pool

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.
driver_peak_hod_vs_driverpool.sql · 31 lines
source-preserved validation: not checked
Select
         driver_pool.metro_id
        ,peak_hour.metros_name
        ,peak_hour.Active_Date_Local
        ,peak_hour.Peak_Driver_HoD_Count
        ,driver_pool.Authorized_Driver_Count
        ,(peak_hour.Peak_Driver_HoD_Count / driver_pool.Authorized_Driver_Count) as peak_to_pool
   From
        (Select metros_name
               ,Active_Date_Local
               ,Peak_Driver_HoD_Count
          From ${driver_peak_worked_hod.SQL_TABLE_NAME} as  a
        Group By 1,2,3
        ) peak_hour
   LEFT JOIN
      (Select
              metros.id as metro_id
             ,case when metros.name IN ('Houston East','Houston Northwest','Houston Southwest','Houston') THEN 'Houston'
                else metros.name
                  end metros_name
             ,count(distinct users.id) as Authorized_Driver_Count
          from users
          join metros
            on users.metro_id = metros.id
        where labor_pool_id = 1
        and authorized = "true"
        and roles_mask = 16
      Group By 1,2
      ) driver_pool
    on peak_hour.metros_name = driver_pool.metros_name
Group By 1,2,3,4,5
driver_peak_hod_vs_driverpool.view.lkml · 80 lines
inferred
view: driver_peak_hod_vs_driverpool {
  derived_table: {
    sql: Select
         driver_pool.metro_id
        ,peak_hour.metros_name
        ,peak_hour.Active_Date_Local
        ,peak_hour.Peak_Driver_HoD_Count
        ,driver_pool.Authorized_Driver_Count
        ,(peak_hour.Peak_Driver_HoD_Count / driver_pool.Authorized_Driver_Count) as peak_to_pool
   From
        (Select metros_name
               ,Active_Date_Local
               ,Peak_Driver_HoD_Count
          From ${driver_peak_worked_hod.SQL_TABLE_NAME} as  a
        Group By 1,2,3
        ) peak_hour
   LEFT JOIN
      (Select
              metros.id as metro_id
             ,case when metros.name IN ('Houston East','Houston Northwest','Houston Southwest','Houston') THEN 'Houston'
                else metros.name
                  end metros_name
             ,count(distinct users.id) as Authorized_Driver_Count
          from users
          join metros
            on users.metro_id = metros.id
        where labor_pool_id = 1
        and authorized = "true"
        and roles_mask = 16
      Group By 1,2
      ) driver_pool
    on peak_hour.metros_name = driver_pool.metros_name
Group By 1,2,3,4,5 ;;
  }

  dimension: metro_id {
    type: int
    primary_key: yes
  }

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

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

  dimension: Authorized_Driver_Count {
    type: number
    sql: ${TABLE}.Authorized_Driver_Count ;;
  }

  dimension: Total_Peak_Driver_Count {
    type: max
    sql: ${Peak_Driver_HoD_Count} ;;
  }

  dimension: Total_Authorized_Driver_Count {
    type: sum
    sql: ${Authorized_Driver_Count} ;;
  }

  dimension: Total_peak_to_pool {
    type: number
    sql: ${Total_Peak_Driver_Count}/${Total_Authorized_Driver_Count} ;;
  }

  dimension_group: Active_Date_Local {
    type: time
    timeframes: [date, week, month]
    convert_tz: no
    sql: ${TABLE}.Active_Date_Local ;;
  }

  measure: peak_to_pool {
    type: number
    sql: ${TABLE}.peak_to_pool ;;
  }
}
driver_peak_hod_vs_driverpool.view.lookml · 64 lines
source-preserved
- view: driver_peak_hod_vs_driverpool
  derived_table:
    sql: Select
         driver_pool.metro_id
        ,peak_hour.metros_name
        ,peak_hour.Active_Date_Local
        ,peak_hour.Peak_Driver_HoD_Count
        ,driver_pool.Authorized_Driver_Count
        ,(peak_hour.Peak_Driver_HoD_Count / driver_pool.Authorized_Driver_Count) as peak_to_pool
   From
        (Select metros_name
               ,Active_Date_Local
               ,Peak_Driver_HoD_Count
          From ${driver_peak_worked_hod.SQL_TABLE_NAME} as  a
        Group By 1,2,3
        ) peak_hour
   LEFT JOIN
      (Select
              metros.id as metro_id
             ,case when metros.name IN ('Houston East','Houston Northwest','Houston Southwest','Houston') THEN 'Houston'
                else metros.name
                  end metros_name
             ,count(distinct users.id) as Authorized_Driver_Count
          from users
          join metros
            on users.metro_id = metros.id
        where labor_pool_id = 1
        and authorized = "true"
        and roles_mask = 16
      Group By 1,2
      ) driver_pool
    on peak_hour.metros_name = driver_pool.metros_name
Group By 1,2,3,4,5
  fields:
  - dimension: metro_id
    type: int
    primary_key: true
  - dimension: metros_name
    sql: ${TABLE}.metros_name
  - dimension: Peak_Driver_HoD_Count
    sql: ${TABLE}.Peak_Driver_HoD_Count
  - dimension: Authorized_Driver_Count
    type: number
    sql: ${TABLE}.Authorized_Driver_Count
  - dimension: Total_Peak_Driver_Count
    type: max
    sql: ${Peak_Driver_HoD_Count}
  - dimension: Total_Authorized_Driver_Count
    type: sum
    sql: ${Authorized_Driver_Count}
  - dimension: Total_peak_to_pool
    type: number
    sql: ${Total_Peak_Driver_Count}/${Total_Authorized_Driver_Count}
  - dimension_group: Active_Date_Local
    type: time
    timeframes:
    - date
    - week
    - month
    convert_tz: false
    sql: ${TABLE}.Active_Date_Local
  - measure: peak_to_pool
    type: number
    sql: ${TABLE}.peak_to_pool

Contents

  • driver_peak_hod_vs_driverpool.sql
  • driver_peak_hod_vs_driverpool.sql
  • driver_peak_hod_vs_driverpool.view.lkml
  • driver_peak_hod_vs_driverpool.view.lookml