dbt Saas translation

Workflow Step Velocity

Workflow Step Velocity model for saas translation.

inferred

Blocks

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

WITH date_lookup AS
  (
      SELECT dhour
            , EXTRACT(dow FROM dhour) AS day_of_week
            , SUM(CASE
                    WHEN EXTRACT(dow FROM dhour) NOT IN (6,0)
                    THEN 1
                    ELSE 0
                  END) OVER (ORDER BY dhour rows unbounded preceding) AS hour_seq
      FROM
      (
        SELECT DISTINCT(DATE_TRUNC('hour', DATEADD(hour, s + s2 * 10 + s3 * 100 + s4 * 1000 + s5 * 10000 + 1, (DATE_TRUNC('year', getDate()) + interval '-3 year') ))) AS dhour
                    from (SELECT 0 AS s UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s,
                    (SELECT 0 AS s2 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s2,
                    (SELECT 0 AS s3 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s3,
                    (SELECT 0 AS s4 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s4,
                    (SELECT 0 AS s5 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s5
      )
  ),
  workflow as
  (
     SELECT wl.workflow_tracking_lookup_id, workflow_tracking_step_lookup_id, wl.account_id, workflow_step_class_id
     FROM {{ this }}.workflow_tracking_lookup wl
       INNER JOIN {{ this }}.workflow_tracking_steps_lookup wsl
       ON wsl.workflow_tracking_lookup_id = wl.workflow_tracking_lookup_id
  ),
  actions as
  (
    SELECT t1.*
    FROM
      (
        SELECT w.workflow_tracking_lookup_id, lat.current_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode, MIN(lat.created) as action_date
        FROM {{ this }}.log_authorize_translations lat
          INNER JOIN workflow w ON w.workflow_tracking_step_lookup_id = lat.current_workflow_tracking_step_lookup_id
        GROUP BY w.workflow_tracking_lookup_id, lat.current_workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.request_url, lat.hashcode

      UNION ALL

       SELECT w.workflow_tracking_lookup_id,  lat.current_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode, MIN(lat.created) as action_date
       FROM {{ this }}.log_assign_translations lat
       INNER JOIN workflow w
          ON w.workflow_tracking_step_lookup_id = lat.current_workflow_tracking_step_lookup_id
       GROUP BY w.workflow_tracking_lookup_id,  lat.current_workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode

      UNION ALL

       SELECT w.workflow_tracking_lookup_id, lwa.target_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lwa.site_id, lwa.target_locale_id, lwa.hashcode, MIN(lwa.created) as action_date
       FROM {{ this }}.log_workflow_action lwa
         INNER JOIN workflow w
         ON w.workflow_tracking_step_lookup_id = lwa.target_workflow_tracking_step_lookup_id
       GROUP BY w.workflow_tracking_lookup_id, lwa.target_workflow_tracking_step_lookup_id, lwa.site_id, lwa.target_locale_id, lwa.hashcode

     ) as t1
   )
   SELECT sa.workflow_tracking_lookup_id
    , sa.workflow_tracking_step_lookup_id as source_tracking_step_lookup_id
    , ta.workflow_tracking_step_lookup_id as target_tracking_step_lookup_id
    , sa.site_id, sa.target_locale_id, sa.hashcode
    , sa.action_date as source_action_date
    , ta.action_date as target_action_date
    , source_lookup.hour_seq AS source_seq_num
    , target_lookup.hour_seq AS target_seq_num
   FROM actions sa
     INNER JOIN actions ta
     ON sa.workflow_tracking_lookup_id = ta.workflow_tracking_lookup_id AND sa.site_id = ta.site_id AND sa.target_locale_id = ta.target_locale_id AND sa.hashcode = ta.hashcode
     LEFT JOIN date_lookup as source_lookup
     ON source_lookup.dhour = DATE_TRUNC('hour', sa.action_date)
     LEFT JOIN date_lookup as target_lookup
     ON target_lookup.dhour = DATE_TRUNC('hour', ta.action_date)

# models/schema.yml
version: 2

models:
  - name: workflow_step_velocity
    columns:
      - name: workflow_tracking_lookup_id
      - name: source_tracking_step_lookup_id
      - name: target_tracking_step_lookup_id
      - name: site_id
      - name: target_locale_id
      - name: hashcode
      - name: velocity_in_hours
      - name: velocity_in_hours_no_weekends

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.
workflow_step_velocity.sql · 69 lines
source-preserved validation: not checked
WITH date_lookup AS
  (
      SELECT dhour
            , EXTRACT(dow FROM dhour) AS day_of_week
            , SUM(CASE
                    WHEN EXTRACT(dow FROM dhour) NOT IN (6,0)
                    THEN 1
                    ELSE 0
                  END) OVER (ORDER BY dhour rows unbounded preceding) AS hour_seq
      FROM
      (
        SELECT DISTINCT(DATE_TRUNC('hour', DATEADD(hour, s + s2 * 10 + s3 * 100 + s4 * 1000 + s5 * 10000 + 1, (DATE_TRUNC('year', getDate()) + interval '-3 year') ))) AS dhour
                    from (SELECT 0 AS s UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s,
                    (SELECT 0 AS s2 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s2,
                    (SELECT 0 AS s3 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s3,
                    (SELECT 0 AS s4 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s4,
                    (SELECT 0 AS s5 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s5
      )
  ),
  workflow as
  (
     SELECT wl.workflow_tracking_lookup_id, workflow_tracking_step_lookup_id, wl.account_id, workflow_step_class_id
     FROM ${TABLE}.workflow_tracking_lookup wl
       INNER JOIN ${TABLE}.workflow_tracking_steps_lookup wsl
       ON wsl.workflow_tracking_lookup_id = wl.workflow_tracking_lookup_id
  ),
  actions as
  (
    SELECT t1.*
    FROM
      (
        SELECT w.workflow_tracking_lookup_id, lat.current_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode, MIN(lat.created) as action_date
        FROM ${TABLE}.log_authorize_translations lat
          INNER JOIN workflow w ON w.workflow_tracking_step_lookup_id = lat.current_workflow_tracking_step_lookup_id
        GROUP BY w.workflow_tracking_lookup_id, lat.current_workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.request_url, lat.hashcode

      UNION ALL

       SELECT w.workflow_tracking_lookup_id,  lat.current_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode, MIN(lat.created) as action_date
       FROM ${TABLE}.log_assign_translations lat
       INNER JOIN workflow w
          ON w.workflow_tracking_step_lookup_id = lat.current_workflow_tracking_step_lookup_id
       GROUP BY w.workflow_tracking_lookup_id,  lat.current_workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode

      UNION ALL

       SELECT w.workflow_tracking_lookup_id, lwa.target_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lwa.site_id, lwa.target_locale_id, lwa.hashcode, MIN(lwa.created) as action_date
       FROM ${TABLE}.log_workflow_action lwa
         INNER JOIN workflow w
         ON w.workflow_tracking_step_lookup_id = lwa.target_workflow_tracking_step_lookup_id
       GROUP BY w.workflow_tracking_lookup_id, lwa.target_workflow_tracking_step_lookup_id, lwa.site_id, lwa.target_locale_id, lwa.hashcode

     ) as t1
   )
   SELECT sa.workflow_tracking_lookup_id
    , sa.workflow_tracking_step_lookup_id as source_tracking_step_lookup_id
    , ta.workflow_tracking_step_lookup_id as target_tracking_step_lookup_id
    , sa.site_id, sa.target_locale_id, sa.hashcode
    , sa.action_date as source_action_date
    , ta.action_date as target_action_date
    , source_lookup.hour_seq AS source_seq_num
    , target_lookup.hour_seq AS target_seq_num
   FROM actions sa
     INNER JOIN actions ta
     ON sa.workflow_tracking_lookup_id = ta.workflow_tracking_lookup_id AND sa.site_id = ta.site_id AND sa.target_locale_id = ta.target_locale_id AND sa.hashcode = ta.hashcode
     LEFT JOIN date_lookup as source_lookup
     ON source_lookup.dhour = DATE_TRUNC('hour', sa.action_date)
     LEFT JOIN date_lookup as target_lookup
     ON target_lookup.dhour = DATE_TRUNC('hour', ta.action_date)
workflow_step_velocity.view.lkml · 143 lines
inferred
view: workflow_step_velocity {
  derived_table: {
    sql: WITH date_lookup AS
  (
      SELECT dhour
            , EXTRACT(dow FROM dhour) AS day_of_week
            , SUM(CASE
                    WHEN EXTRACT(dow FROM dhour) NOT IN (6,0)
                    THEN 1
                    ELSE 0
                  END) OVER (ORDER BY dhour rows unbounded preceding) AS hour_seq
      FROM
      (
        SELECT DISTINCT(DATE_TRUNC('hour', DATEADD(hour, s + s2 * 10 + s3 * 100 + s4 * 1000 + s5 * 10000 + 1, (DATE_TRUNC('year', getDate()) + interval '-3 year') ))) AS dhour
                    from (SELECT 0 AS s UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s,
                    (SELECT 0 AS s2 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s2,
                    (SELECT 0 AS s3 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s3,
                    (SELECT 0 AS s4 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s4,
                    (SELECT 0 AS s5 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s5
      )
  ),
  workflow as
  (
     SELECT wl.workflow_tracking_lookup_id, workflow_tracking_step_lookup_id, wl.account_id, workflow_step_class_id
     FROM ${TABLE}.workflow_tracking_lookup wl
       INNER JOIN ${TABLE}.workflow_tracking_steps_lookup wsl
       ON wsl.workflow_tracking_lookup_id = wl.workflow_tracking_lookup_id
  ),
  actions as
  (
    SELECT t1.*
    FROM
      (
        SELECT w.workflow_tracking_lookup_id, lat.current_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode, MIN(lat.created) as action_date
        FROM ${TABLE}.log_authorize_translations lat
          INNER JOIN workflow w ON w.workflow_tracking_step_lookup_id = lat.current_workflow_tracking_step_lookup_id
        GROUP BY w.workflow_tracking_lookup_id, lat.current_workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.request_url, lat.hashcode

      UNION ALL

       SELECT w.workflow_tracking_lookup_id,  lat.current_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode, MIN(lat.created) as action_date
       FROM ${TABLE}.log_assign_translations lat
       INNER JOIN workflow w
          ON w.workflow_tracking_step_lookup_id = lat.current_workflow_tracking_step_lookup_id
       GROUP BY w.workflow_tracking_lookup_id,  lat.current_workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode

      UNION ALL

       SELECT w.workflow_tracking_lookup_id, lwa.target_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lwa.site_id, lwa.target_locale_id, lwa.hashcode, MIN(lwa.created) as action_date
       FROM ${TABLE}.log_workflow_action lwa
         INNER JOIN workflow w
         ON w.workflow_tracking_step_lookup_id = lwa.target_workflow_tracking_step_lookup_id
       GROUP BY w.workflow_tracking_lookup_id, lwa.target_workflow_tracking_step_lookup_id, lwa.site_id, lwa.target_locale_id, lwa.hashcode

     ) as t1
   )
   SELECT sa.workflow_tracking_lookup_id
    , sa.workflow_tracking_step_lookup_id as source_tracking_step_lookup_id
    , ta.workflow_tracking_step_lookup_id as target_tracking_step_lookup_id
    , sa.site_id, sa.target_locale_id, sa.hashcode
    , sa.action_date as source_action_date
    , ta.action_date as target_action_date
    , source_lookup.hour_seq AS source_seq_num
    , target_lookup.hour_seq AS target_seq_num
   FROM actions sa
     INNER JOIN actions ta
     ON sa.workflow_tracking_lookup_id = ta.workflow_tracking_lookup_id AND sa.site_id = ta.site_id AND sa.target_locale_id = ta.target_locale_id AND sa.hashcode = ta.hashcode
     LEFT JOIN date_lookup as source_lookup
     ON source_lookup.dhour = DATE_TRUNC('hour', sa.action_date)
     LEFT JOIN date_lookup as target_lookup
     ON target_lookup.dhour = DATE_TRUNC('hour', ta.action_date) ;;
  }

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

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

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

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

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

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

  dimension: velocity_in_hours {
    type: number
    sql: DATEDIFF(hour, ${TABLE}.source_action_date, ${TABLE}.target_action_date) ;;
  }

  dimension: velocity_in_hours_no_weekends {
    type: number
    sql: ${TABLE}.target_seq_num - ${TABLE}.source_seq_num ;;
  }

  dimension_group: source_action_date {
    type: time
    timeframes: [time, date, week, month, dow_num, dom, hod]
    sql: ${TABLE}.source_action_date ;;
  }

  dimension_group: target_action_date {
    type: time
    timeframes: [time, date, week, month, dow_num, dom, hod]
    sql: ${TABLE}.target_action_date ;;
  }

  measure: average_velocity_in_hours {
    type: average
    drill_fields: [detail*]
    sql: CASE
  WHEN ${velocity_in_hours} < 0
  THEN NULL
  ELSE ${velocity_in_hours}
END ;;
  }

  measure: average_velocity_in_hours_no_weekends {
    type: average
    drill_fields: [detail*]
    sql: CASE
  WHEN ${velocity_in_hours_no_weekends} < 0
  THEN NULL
  ELSE ${velocity_in_hours_no_weekends}
END ;;
  }
}
workflow_step_velocity.view.lookml · 134 lines
source-preserved
- view: workflow_step_velocity
  derived_table:
    sql: WITH date_lookup AS
  (
      SELECT dhour
            , EXTRACT(dow FROM dhour) AS day_of_week
            , SUM(CASE
                    WHEN EXTRACT(dow FROM dhour) NOT IN (6,0)
                    THEN 1
                    ELSE 0
                  END) OVER (ORDER BY dhour rows unbounded preceding) AS hour_seq
      FROM
      (
        SELECT DISTINCT(DATE_TRUNC('hour', DATEADD(hour, s + s2 * 10 + s3 * 100 + s4 * 1000 + s5 * 10000 + 1, (DATE_TRUNC('year', getDate()) + interval '-3 year') ))) AS dhour
                    from (SELECT 0 AS s UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s,
                    (SELECT 0 AS s2 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s2,
                    (SELECT 0 AS s3 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s3,
                    (SELECT 0 AS s4 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s4,
                    (SELECT 0 AS s5 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) AS s5
      )
  ),
  workflow as
  (
     SELECT wl.workflow_tracking_lookup_id, workflow_tracking_step_lookup_id, wl.account_id, workflow_step_class_id
     FROM ${TABLE}.workflow_tracking_lookup wl
       INNER JOIN ${TABLE}.workflow_tracking_steps_lookup wsl
       ON wsl.workflow_tracking_lookup_id = wl.workflow_tracking_lookup_id
  ),
  actions as
  (
    SELECT t1.*
    FROM
      (
        SELECT w.workflow_tracking_lookup_id, lat.current_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode, MIN(lat.created) as action_date
        FROM ${TABLE}.log_authorize_translations lat
          INNER JOIN workflow w ON w.workflow_tracking_step_lookup_id = lat.current_workflow_tracking_step_lookup_id
        GROUP BY w.workflow_tracking_lookup_id, lat.current_workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.request_url, lat.hashcode

      UNION ALL

       SELECT w.workflow_tracking_lookup_id,  lat.current_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode, MIN(lat.created) as action_date
       FROM ${TABLE}.log_assign_translations lat
       INNER JOIN workflow w
          ON w.workflow_tracking_step_lookup_id = lat.current_workflow_tracking_step_lookup_id
       GROUP BY w.workflow_tracking_lookup_id,  lat.current_workflow_tracking_step_lookup_id, lat.site_id, lat.target_locale_id, lat.hashcode

      UNION ALL

       SELECT w.workflow_tracking_lookup_id, lwa.target_workflow_tracking_step_lookup_id as workflow_tracking_step_lookup_id, lwa.site_id, lwa.target_locale_id, lwa.hashcode, MIN(lwa.created) as action_date
       FROM ${TABLE}.log_workflow_action lwa
         INNER JOIN workflow w
         ON w.workflow_tracking_step_lookup_id = lwa.target_workflow_tracking_step_lookup_id
       GROUP BY w.workflow_tracking_lookup_id, lwa.target_workflow_tracking_step_lookup_id, lwa.site_id, lwa.target_locale_id, lwa.hashcode

     ) as t1
   )
   SELECT sa.workflow_tracking_lookup_id
    , sa.workflow_tracking_step_lookup_id as source_tracking_step_lookup_id
    , ta.workflow_tracking_step_lookup_id as target_tracking_step_lookup_id
    , sa.site_id, sa.target_locale_id, sa.hashcode
    , sa.action_date as source_action_date
    , ta.action_date as target_action_date
    , source_lookup.hour_seq AS source_seq_num
    , target_lookup.hour_seq AS target_seq_num
   FROM actions sa
     INNER JOIN actions ta
     ON sa.workflow_tracking_lookup_id = ta.workflow_tracking_lookup_id AND sa.site_id = ta.site_id AND sa.target_locale_id = ta.target_locale_id AND sa.hashcode = ta.hashcode
     LEFT JOIN date_lookup as source_lookup
     ON source_lookup.dhour = DATE_TRUNC('hour', sa.action_date)
     LEFT JOIN date_lookup as target_lookup
     ON target_lookup.dhour = DATE_TRUNC('hour', ta.action_date)
  fields:
  - dimension: workflow_tracking_lookup_id
    type: int
    sql: ${TABLE}.workflow_tracking_lookup_id
  - dimension: source_tracking_step_lookup_id
    type: int
    sql: ${TABLE}.source_tracking_step_lookup_id
  - dimension: target_tracking_step_lookup_id
    type: int
    sql: ${TABLE}.target_tracking_step_lookup_id
  - dimension: site_id
    type: int
    sql: ${TABLE}.site_id
  - dimension: target_locale_id
    sql: ${TABLE}.target_locale_id
  - dimension: hashcode
    sql: ${TABLE}.hashcode
  - dimension: velocity_in_hours
    type: number
    sql: DATEDIFF(hour, ${TABLE}.source_action_date, ${TABLE}.target_action_date)
  - dimension: velocity_in_hours_no_weekends
    type: number
    sql: ${TABLE}.target_seq_num - ${TABLE}.source_seq_num
  - dimension_group: source_action_date
    type: time
    timeframes:
    - time
    - date
    - week
    - month
    - dow_num
    - dom
    - hod
    sql: ${TABLE}.source_action_date
  - dimension_group: target_action_date
    type: time
    timeframes:
    - time
    - date
    - week
    - month
    - dow_num
    - dom
    - hod
    sql: ${TABLE}.target_action_date
  - measure: average_velocity_in_hours
    type: average
    drill_fields:
    - detail*
    sql: CASE
  WHEN ${velocity_in_hours} < 0
  THEN NULL
  ELSE ${velocity_in_hours}
END
  - measure: average_velocity_in_hours_no_weekends
    type: average
    drill_fields:
    - detail*
    sql: CASE
  WHEN ${velocity_in_hours_no_weekends} < 0
  THEN NULL
  ELSE ${velocity_in_hours_no_weekends}
END

Contents

  • workflow_step_velocity.sql
  • workflow_step_velocity.sql
  • workflow_step_velocity.view.lkml
  • workflow_step_velocity.view.lookml