SQL Data analytics

Graduated Devices

Graduated Devices model for data analytics.

source-preserved

Blocks

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

SELECT d.deviceidint, (EXTRACT(epoch from current_date)-d.lasttotalconnecttime)/86400 AS dayswithoutconnection, l.groupid, rc.groupidint, l.creationtime, rc.groupid AS rcnumber, vc.description AS vcclass, store_placeholder.groupid AS store_placeholderlocation, pm.groupid AS pm_location_group_idation, sup.description AS supervisor
FROM
  (SELECT d.accountid, d.deviceid, d.deviceidint, d.isactive, d.lasttotalconnecttime FROM Device d LEFT OUTER JOIN (SELECT l.deviceidint FROM DeviceList l WHERE groupid LIKE 'dual_placeholder1') dual ON d.deviceidint=dual.deviceidint WHERE dual.deviceidint IS NULL) d,
  DeviceList l,
  (SELECT l.deviceidint, l.groupid, l.groupidint FROM DeviceList l WHERE groupid LIKE 'rc_group_id-%' and  groupid NOT LIKE 'rc_group_id-773%') rc,
  (SELECT l.deviceidint, l.groupid FROM DeviceList l WHERE l.groupid LIKE 'pm_location_group_id%') pm,
  (SELECT l.deviceidint, l.groupid FROM DeviceList l WHERE l.groupid LIKE 'store_placeholder%') store_placeholder,
  (SELECT l.deviceidint, g.description FROM DeviceList l, DeviceGroup g WHERE l.groupidint=g.groupidint and l.groupid LIKE 'supervisor_placeholder%') sup,
  (SELECT l.deviceidint, g.description FROM DeviceList l, DeviceGroup g WHERE l.groupidint=g.groupidint and l.groupid LIKE 'vc_placeholder-%' and
    (l.groupid NOT LIKE 'vc_placeholder-all%' and l.groupid NOT LIKE 'vc_placeholder-take%')) vc
WHERE d.deviceidint=l.deviceidint and d.deviceidint=rc.deviceidint and (l.groupid=d.accountid)
and d.deviceidint=vc.deviceidint and d.isactive=1 and sup.deviceidint=d.deviceidint and pm.deviceidint=d.deviceidint and store_placeholder.deviceidint=d.deviceidint

# models/schema.yml
version: 2

models:
  - name: graduated_devices
    columns:
      - name: deviceidint
      - name: dayswithoutconnection
      - name: filtering
      - name: commfilter
        description: "Filter for unit not communicating > 30 days"
      - name: groupid
      - name: groupidint
      - name: creationtime
      - name: rcnumber
      - name: vcclass
      - name: store_placeholderlocation
      - name: pm_location_group_idation
      - name: pm_location_group_id
        description: "PM Location Group ID in Company Platform"
      - name: store_placeholderdloc
        description: "Stored Location Group ID in Company Platform"
      - name: supervisor
        description: "Super-Fore Group ID in Company Platform"
      - name: rc_group
        description: "Combining Group ID in Company Platform"
      - name: vc_group
        description: "Combining Group ID in Company Platform"

Assumptions

  • 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.
graduated_devices.sql · 12 lines
source-preserved validation: parses
SELECT d.deviceidint, (EXTRACT(epoch from current_date)-d.lasttotalconnecttime)/86400 AS dayswithoutconnection, l.groupid, rc.groupidint, l.creationtime, rc.groupid AS rcnumber, vc.description AS vcclass, store_placeholder.groupid AS store_placeholderlocation, pm.groupid AS pm_location_group_idation, sup.description AS supervisor
FROM
  (SELECT d.accountid, d.deviceid, d.deviceidint, d.isactive, d.lasttotalconnecttime FROM Device d LEFT OUTER JOIN (SELECT l.deviceidint FROM DeviceList l WHERE groupid LIKE 'dual_placeholder1') dual ON d.deviceidint=dual.deviceidint WHERE dual.deviceidint IS NULL) d,
  DeviceList l,
  (SELECT l.deviceidint, l.groupid, l.groupidint FROM DeviceList l WHERE groupid LIKE 'rc_group_id-%' and  groupid NOT LIKE 'rc_group_id-773%') rc,
  (SELECT l.deviceidint, l.groupid FROM DeviceList l WHERE l.groupid LIKE 'pm_location_group_id%') pm,
  (SELECT l.deviceidint, l.groupid FROM DeviceList l WHERE l.groupid LIKE 'store_placeholder%') store_placeholder,
  (SELECT l.deviceidint, g.description FROM DeviceList l, DeviceGroup g WHERE l.groupidint=g.groupidint and l.groupid LIKE 'supervisor_placeholder%') sup,
  (SELECT l.deviceidint, g.description FROM DeviceList l, DeviceGroup g WHERE l.groupidint=g.groupidint and l.groupid LIKE 'vc_placeholder-%' and
    (l.groupid NOT LIKE 'vc_placeholder-all%' and l.groupid NOT LIKE 'vc_placeholder-take%')) vc
WHERE d.deviceidint=l.deviceidint and d.deviceidint=rc.deviceidint and (l.groupid=d.accountid)
and d.deviceidint=vc.deviceidint and d.isactive=1 and sup.deviceidint=d.deviceidint and pm.deviceidint=d.deviceidint and store_placeholder.deviceidint=d.deviceidint
graduated_devices.view.lkml · 109 lines
inferred
view: graduated_devices {
  derived_table: {
    sql: SELECT d.deviceidint, (EXTRACT(epoch from current_date)-d.lasttotalconnecttime)/86400 AS dayswithoutconnection, l.groupid, rc.groupidint, l.creationtime, rc.groupid AS rcnumber, vc.description AS vcclass, store_placeholder.groupid AS store_placeholderlocation, pm.groupid AS pm_location_group_idation, sup.description AS supervisor
FROM
  (SELECT d.accountid, d.deviceid, d.deviceidint, d.isactive, d.lasttotalconnecttime FROM Device d LEFT OUTER JOIN (SELECT l.deviceidint FROM DeviceList l WHERE groupid LIKE 'dual_placeholder1') dual ON d.deviceidint=dual.deviceidint WHERE dual.deviceidint IS NULL) d,
  DeviceList l,
  (SELECT l.deviceidint, l.groupid, l.groupidint FROM DeviceList l WHERE groupid LIKE 'rc_group_id-%' and  groupid NOT LIKE 'rc_group_id-773%') rc,
  (SELECT l.deviceidint, l.groupid FROM DeviceList l WHERE l.groupid LIKE 'pm_location_group_id%') pm,
  (SELECT l.deviceidint, l.groupid FROM DeviceList l WHERE l.groupid LIKE 'store_placeholder%') store_placeholder,
  (SELECT l.deviceidint, g.description FROM DeviceList l, DeviceGroup g WHERE l.groupidint=g.groupidint and l.groupid LIKE 'supervisor_placeholder%') sup,
  (SELECT l.deviceidint, g.description FROM DeviceList l, DeviceGroup g WHERE l.groupidint=g.groupidint and l.groupid LIKE 'vc_placeholder-%' and
    (l.groupid NOT LIKE 'vc_placeholder-all%' and l.groupid NOT LIKE 'vc_placeholder-take%')) vc
WHERE d.deviceidint=l.deviceidint and d.deviceidint=rc.deviceidint and (l.groupid=d.accountid)
and d.deviceidint=vc.deviceidint and d.isactive=1 and sup.deviceidint=d.deviceidint and pm.deviceidint=d.deviceidint and store_placeholder.deviceidint=d.deviceidint ;;
  }

  dimension: deviceidint {
    type: number
    hidden: yes
    sql: ${TABLE}.deviceidint ;;
  }

  dimension: dayswithoutconnection {
    type: number
    hidden: yes
    sql: ${TABLE}.dayswithoutconnection ;;
  }

  dimension: filtering {
    type: number
    hidden: yes
    sql: CASE
WHEN ${dayswithoutconnection}>30 THEN 1
ELSE 0 END ;;
  }

  dimension: commfilter {
    label: "Non-Communication Filter"
    description: "Filter for unit not communicating > 30 days"
  }

  dimension: groupid {
    hidden: yes
    sql: ${TABLE}.groupid ;;
  }

  dimension: groupidint {
    type: number
    hidden: yes
    sql: ${TABLE}.groupidint ;;
  }

  dimension: creationtime {
    type: number
    hidden: yes
    sql: ${TABLE}.creationtime ;;
  }

  dimension: rcnumber {
    hidden: yes
    sql: ${TABLE}.rcnumber ;;
  }

  dimension: vcclass {
    hidden: yes
    sql: ${TABLE}.vcclass ;;
  }

  dimension: store_placeholderlocation {
    hidden: yes
    sql: ${TABLE}.store_placeholderlocation ;;
  }

  dimension: pm_location_group_idation {
    hidden: yes
    sql: ${TABLE}.pm_location_group_idation ;;
  }

  dimension: pm_location_group_id {
    label: "PM Location"
    description: "PM Location Group ID in Company Platform"
  }

  dimension: store_placeholderdloc {
    label: "Stored Location"
    description: "Stored Location Group ID in Company Platform"
  }

  dimension: supervisor {
    label: "Supervisor/Foreman"
    description: "Super-Fore Group ID in Company Platform"
    sql: ${TABLE}.supervisor ;;
  }

  dimension: rc_group {
    label: "RC Group"
    description: "Combining Group ID in Company Platform"
  }

  dimension: vc_group {
    label: "VC Group"
    description: "Combining Group ID in Company Platform"
  }

  measure: count {
    type: count
    drill_fields: [detail*]
  }
}
graduated_devices.view.lookml · 75 lines
source-preserved
- view: graduated_devices
  derived_table:
    sql: SELECT d.deviceidint, (EXTRACT(epoch from current_date)-d.lasttotalconnecttime)/86400 AS dayswithoutconnection, l.groupid, rc.groupidint, l.creationtime, rc.groupid AS rcnumber, vc.description AS vcclass, store_placeholder.groupid AS store_placeholderlocation, pm.groupid AS pm_location_group_idation, sup.description AS supervisor
FROM
  (SELECT d.accountid, d.deviceid, d.deviceidint, d.isactive, d.lasttotalconnecttime FROM Device d LEFT OUTER JOIN (SELECT l.deviceidint FROM DeviceList l WHERE groupid LIKE 'dual_placeholder1') dual ON d.deviceidint=dual.deviceidint WHERE dual.deviceidint IS NULL) d,
  DeviceList l,
  (SELECT l.deviceidint, l.groupid, l.groupidint FROM DeviceList l WHERE groupid LIKE 'rc_group_id-%' and  groupid NOT LIKE 'rc_group_id-773%') rc,
  (SELECT l.deviceidint, l.groupid FROM DeviceList l WHERE l.groupid LIKE 'pm_location_group_id%') pm,
  (SELECT l.deviceidint, l.groupid FROM DeviceList l WHERE l.groupid LIKE 'store_placeholder%') store_placeholder,
  (SELECT l.deviceidint, g.description FROM DeviceList l, DeviceGroup g WHERE l.groupidint=g.groupidint and l.groupid LIKE 'supervisor_placeholder%') sup,
  (SELECT l.deviceidint, g.description FROM DeviceList l, DeviceGroup g WHERE l.groupidint=g.groupidint and l.groupid LIKE 'vc_placeholder-%' and
    (l.groupid NOT LIKE 'vc_placeholder-all%' and l.groupid NOT LIKE 'vc_placeholder-take%')) vc
WHERE d.deviceidint=l.deviceidint and d.deviceidint=rc.deviceidint and (l.groupid=d.accountid)
and d.deviceidint=vc.deviceidint and d.isactive=1 and sup.deviceidint=d.deviceidint and pm.deviceidint=d.deviceidint and store_placeholder.deviceidint=d.deviceidint
  fields:
  - dimension: deviceidint
    type: number
    hidden: true
    sql: ${TABLE}.deviceidint
  - dimension: dayswithoutconnection
    type: number
    hidden: true
    sql: ${TABLE}.dayswithoutconnection
  - dimension: filtering
    type: number
    hidden: true
    sql: CASE
WHEN ${dayswithoutconnection}>30 THEN 1
ELSE 0 END
  - dimension: commfilter
    label: Non-Communication Filter
    description: 'Filter for unit not communicating > 30 days'
  - dimension: groupid
    hidden: true
    sql: ${TABLE}.groupid
  - dimension: groupidint
    type: number
    hidden: true
    sql: ${TABLE}.groupidint
  - dimension: creationtime
    type: number
    hidden: true
    sql: ${TABLE}.creationtime
  - dimension: rcnumber
    hidden: true
    sql: ${TABLE}.rcnumber
  - dimension: vcclass
    hidden: true
    sql: ${TABLE}.vcclass
  - dimension: store_placeholderlocation
    hidden: true
    sql: ${TABLE}.store_placeholderlocation
  - dimension: pm_location_group_idation
    hidden: true
    sql: ${TABLE}.pm_location_group_idation
  - dimension: pm_location_group_id
    label: PM Location
    description: PM Location Group ID in Company Platform
  - dimension: store_placeholderdloc
    label: Stored Location
    description: Stored Location Group ID in Company Platform
  - dimension: supervisor
    label: Supervisor/Foreman
    description: Super-Fore Group ID in Company Platform
    sql: ${TABLE}.supervisor
  - dimension: rc_group
    label: RC Group
    description: Combining Group ID in Company Platform
  - dimension: vc_group
    label: VC Group
    description: Combining Group ID in Company Platform
  - measure: count
    type: count
    drill_fields:
    - detail*

Contents

  • graduated_devices.sql
  • graduated_devices.sql
  • graduated_devices.view.lkml
  • graduated_devices.view.lookml