dbt
Freelance marketplace
Gsv Facts
Gsv Facts model for freelance marketplace.
inferred
Blocks
gsv_facts.sql · 35 lines
inferred
-- models/gsv_facts.sql
{{ config(materialized='table') }}
SELECT
*
FROM (
SELECT
TO_DATE(a.date, 'YYYY-MM') AS month
, SUM(CASE WHEN (a.dept = 'BILL' AND a.include_in_generic_stats = 'true') AND NOT COALESCE(a.employer IN (<% parameter employer_id_1 %>,<% parameter employer_id_2 %>), FALSE) AND s.referencedfk IS NULL AND o.client_segment IS NULL THEN a.total_charge ELSE NULL END) AS core_gsv
FROM agg.a_assignment AS a
LEFT JOIN public.sparseattributes AS s ON s.referencedfk::BIGINT = a.employer::BIGINT AND s.referencedtable='Companies' AND s.key = 'revenuetype' AND s.value = 'MANAGED_SERVICES'
LEFT JOIN "ExternalDB"."Companies" AS c ON c."Record ID#"::BIGINT = a.employer::BIGINT
LEFT JOIN finance.opportunities AS o ON a.employer::BIGINT = o.client_id::BIGINT AND o.client_segment IN ('SMB','Enterprise')
GROUP BY 1 ) AS gsv
LEFT JOIN (
SELECT
TO_DATE(a.date, 'YYYY-MM') AS prev_month
, SUM(CASE WHEN (a.dept = 'BILL' AND a.include_in_generic_stats = 'true') AND NOT COALESCE(a.employer IN (<% parameter employer_id_1 %>,<% parameter employer_id_2 %>), FALSE) AND s.referencedfk IS NULL AND o.client_segment IS NULL THEN a.total_charge ELSE NULL END) AS prev_core_gsv
FROM agg.a_assignment AS a
LEFT JOIN public.sparseattributes AS s ON s.referencedfk::BIGINT = a.employer::BIGINT AND s.referencedtable='Companies' AND s.key = 'revenuetype' AND s.value = 'MANAGED_SERVICES'
LEFT JOIN "ExternalDB"."Companies" AS c ON c."Record ID#"::BIGINT = a.employer::BIGINT
LEFT JOIN finance.opportunities AS o ON a.employer::BIGINT = o.client_id::BIGINT AND o.client_segment IN ('SMB','Enterprise')
GROUP BY 1 ) AS gsv_prev ON gsv.month = (gsv_prev.prev_month + interval '1 year')
# models/schema.yml
version: 2
models:
- name: gsv_facts
columns:
- name: month
- name: quarter_num
- name: quarter
- name: prev_core_gsv
- name: core_gsv
Assumptions
- materialized='table' inferred from a LookML persist hint (persist_for / datagroup / sql_trigger_value).
- schema.yml columns come from view dimensions; a primary_key dimension gets unique + not_null tests.
gsv_facts.sql · 20 lines
source-preserved
validation: not checked
SELECT
*
FROM (
SELECT
TO_DATE(a.date, 'YYYY-MM') AS month
, SUM(CASE WHEN (a.dept = 'BILL' AND a.include_in_generic_stats = 'true') AND NOT COALESCE(a.employer IN (<% parameter employer_id_1 %>,<% parameter employer_id_2 %>), FALSE) AND s.referencedfk IS NULL AND o.client_segment IS NULL THEN a.total_charge ELSE NULL END) AS core_gsv
FROM agg.a_assignment AS a
LEFT JOIN public.sparseattributes AS s ON s.referencedfk::BIGINT = a.employer::BIGINT AND s.referencedtable='Companies' AND s.key = 'revenuetype' AND s.value = 'MANAGED_SERVICES'
LEFT JOIN "ExternalDB"."Companies" AS c ON c."Record ID#"::BIGINT = a.employer::BIGINT
LEFT JOIN finance.opportunities AS o ON a.employer::BIGINT = o.client_id::BIGINT AND o.client_segment IN ('SMB','Enterprise')
GROUP BY 1 ) AS gsv
LEFT JOIN (
SELECT
TO_DATE(a.date, 'YYYY-MM') AS prev_month
, SUM(CASE WHEN (a.dept = 'BILL' AND a.include_in_generic_stats = 'true') AND NOT COALESCE(a.employer IN (<% parameter employer_id_1 %>,<% parameter employer_id_2 %>), FALSE) AND s.referencedfk IS NULL AND o.client_segment IS NULL THEN a.total_charge ELSE NULL END) AS prev_core_gsv
FROM agg.a_assignment AS a
LEFT JOIN public.sparseattributes AS s ON s.referencedfk::BIGINT = a.employer::BIGINT AND s.referencedtable='Companies' AND s.key = 'revenuetype' AND s.value = 'MANAGED_SERVICES'
LEFT JOIN "ExternalDB"."Companies" AS c ON c."Record ID#"::BIGINT = a.employer::BIGINT
LEFT JOIN finance.opportunities AS o ON a.employer::BIGINT = o.client_id::BIGINT AND o.client_segment IN ('SMB','Enterprise')
GROUP BY 1 ) AS gsv_prev ON gsv.month = (gsv_prev.prev_month + interval '1 year')
gsv_facts.view.lkml · 70 lines
inferred
view: gsv_facts {
derived_table: {
sql: SELECT
*
FROM (
SELECT
TO_DATE(a.date, 'YYYY-MM') AS month
, SUM(CASE WHEN (a.dept = 'BILL' AND a.include_in_generic_stats = 'true') AND NOT COALESCE(a.employer IN (<% parameter employer_id_1 %>,<% parameter employer_id_2 %>), FALSE) AND s.referencedfk IS NULL AND o.client_segment IS NULL THEN a.total_charge ELSE NULL END) AS core_gsv
FROM agg.a_assignment AS a
LEFT JOIN public.sparseattributes AS s ON s.referencedfk::BIGINT = a.employer::BIGINT AND s.referencedtable='Companies' AND s.key = 'revenuetype' AND s.value = 'MANAGED_SERVICES'
LEFT JOIN "ExternalDB"."Companies" AS c ON c."Record ID#"::BIGINT = a.employer::BIGINT
LEFT JOIN finance.opportunities AS o ON a.employer::BIGINT = o.client_id::BIGINT AND o.client_segment IN ('SMB','Enterprise')
GROUP BY 1 ) AS gsv
LEFT JOIN (
SELECT
TO_DATE(a.date, 'YYYY-MM') AS prev_month
, SUM(CASE WHEN (a.dept = 'BILL' AND a.include_in_generic_stats = 'true') AND NOT COALESCE(a.employer IN (<% parameter employer_id_1 %>,<% parameter employer_id_2 %>), FALSE) AND s.referencedfk IS NULL AND o.client_segment IS NULL THEN a.total_charge ELSE NULL END) AS prev_core_gsv
FROM agg.a_assignment AS a
LEFT JOIN public.sparseattributes AS s ON s.referencedfk::BIGINT = a.employer::BIGINT AND s.referencedtable='Companies' AND s.key = 'revenuetype' AND s.value = 'MANAGED_SERVICES'
LEFT JOIN "ExternalDB"."Companies" AS c ON c."Record ID#"::BIGINT = a.employer::BIGINT
LEFT JOIN finance.opportunities AS o ON a.employer::BIGINT = o.client_id::BIGINT AND o.client_segment IN ('SMB','Enterprise')
GROUP BY 1 ) AS gsv_prev ON gsv.month = (gsv_prev.prev_month + interval '1 year') ;;
persist_for: "4 hours"
}
dimension: month {
sql: ${TABLE}.month ;;
}
dimension: quarter_num {
}
dimension: quarter {
type: string
sql: CAST(${gsv_year} || '-' || ${quarter_num} AS text) ;;
}
dimension: prev_core_gsv {
type: number
hidden: yes
sql: ${TABLE}.prev_core_gsv ;;
}
dimension: core_gsv {
type: number
hidden: yes
sql: ${TABLE}.core_gsv ;;
}
dimension_group: gsv {
type: time
timeframes: [month, year, month_num]
sql: ${month} ;;
}
measure: core_gsv_total {
type: sum
sql: ${core_gsv} ;;
}
measure: prev_core_gsv_total {
type: sum
sql: ${prev_core_gsv} ;;
}
measure: core_gsv_yoy_growth {
type: number
sql: 100.0*(${core_gsv_total} - ${prev_core_gsv_total}) / NULLIF(${prev_core_gsv_total},0) ;;
}
}
gsv_facts.view.lookml · 54 lines
source-preserved
- view: gsv_facts
derived_table:
sql: SELECT
*
FROM (
SELECT
TO_DATE(a.date, 'YYYY-MM') AS month
, SUM(CASE WHEN (a.dept = 'BILL' AND a.include_in_generic_stats = 'true') AND NOT COALESCE(a.employer IN (<% parameter employer_id_1 %>,<% parameter employer_id_2 %>), FALSE) AND s.referencedfk IS NULL AND o.client_segment IS NULL THEN a.total_charge ELSE NULL END) AS core_gsv
FROM agg.a_assignment AS a
LEFT JOIN public.sparseattributes AS s ON s.referencedfk::BIGINT = a.employer::BIGINT AND s.referencedtable='Companies' AND s.key = 'revenuetype' AND s.value = 'MANAGED_SERVICES'
LEFT JOIN "ExternalDB"."Companies" AS c ON c."Record ID#"::BIGINT = a.employer::BIGINT
LEFT JOIN finance.opportunities AS o ON a.employer::BIGINT = o.client_id::BIGINT AND o.client_segment IN ('SMB','Enterprise')
GROUP BY 1 ) AS gsv
LEFT JOIN (
SELECT
TO_DATE(a.date, 'YYYY-MM') AS prev_month
, SUM(CASE WHEN (a.dept = 'BILL' AND a.include_in_generic_stats = 'true') AND NOT COALESCE(a.employer IN (<% parameter employer_id_1 %>,<% parameter employer_id_2 %>), FALSE) AND s.referencedfk IS NULL AND o.client_segment IS NULL THEN a.total_charge ELSE NULL END) AS prev_core_gsv
FROM agg.a_assignment AS a
LEFT JOIN public.sparseattributes AS s ON s.referencedfk::BIGINT = a.employer::BIGINT AND s.referencedtable='Companies' AND s.key = 'revenuetype' AND s.value = 'MANAGED_SERVICES'
LEFT JOIN "ExternalDB"."Companies" AS c ON c."Record ID#"::BIGINT = a.employer::BIGINT
LEFT JOIN finance.opportunities AS o ON a.employer::BIGINT = o.client_id::BIGINT AND o.client_segment IN ('SMB','Enterprise')
GROUP BY 1 ) AS gsv_prev ON gsv.month = (gsv_prev.prev_month + interval '1 year')
persist_for: 4 hours
fields:
- dimension: month
sql: ${TABLE}.month
- dimension: quarter_num
- dimension: quarter
type: string
sql: CAST(${gsv_year} || '-' || ${quarter_num} AS text)
- dimension: prev_core_gsv
type: number
hidden: true
sql: ${TABLE}.prev_core_gsv
- dimension: core_gsv
type: number
hidden: true
sql: ${TABLE}.core_gsv
- dimension_group: gsv
type: time
timeframes:
- month
- year
- month_num
sql: ${month}
- measure: core_gsv_total
type: sum
sql: ${core_gsv}
- measure: prev_core_gsv_total
type: sum
sql: ${prev_core_gsv}
- measure: core_gsv_yoy_growth
type: number
sql: 100.0*(${core_gsv_total} - ${prev_core_gsv_total}) / NULLIF(${prev_core_gsv_total},0)
Contents
- gsv_facts.sql
- gsv_facts.sql
- gsv_facts.view.lkml
- gsv_facts.view.lookml