SQL Saas translation

Agencies Site Locales

Agencies Site Locales model for saas translation.

source-preserved

Blocks

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

SELECT t1.site_id, t1.locale_id, t1.invoice_start_date, min(t1.agency_id) as agency_id
FROM
(
  SELECT DISTINCT lt.site_id, lt.locale_id, it.invoice_start_date, it.entity_id AS agency_id
  FROM {{ this }}.invoice_tracking it
    JOIN {{ this }}.invoice_tracking_line_items lt
    ON lt.invoice_tracking_id = it.invoice_tracking_id
  WHERE it.active = 1
   AND it.invoice_status_id = 2 -- success only
   AND it.entity_type_id = 3    -- agency entity
) t1
GROUP BY t1.site_id, t1.locale_id, t1.invoice_start_date
HAVING COUNT(*) = 1

# models/schema.yml
version: 2

models:
  - name: agencies_site_locales
    columns:
      - name: site_id
      - name: locale_id
      - name: agency_id

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.
agencies_site_locales.sql · 13 lines
source-preserved validation: not checked
SELECT t1.site_id, t1.locale_id, t1.invoice_start_date, min(t1.agency_id) as agency_id
FROM
(
  SELECT DISTINCT lt.site_id, lt.locale_id, it.invoice_start_date, it.entity_id AS agency_id
  FROM ${TABLE}.invoice_tracking it
    JOIN ${TABLE}.invoice_tracking_line_items lt
    ON lt.invoice_tracking_id = it.invoice_tracking_id
  WHERE it.active = 1
   AND it.invoice_status_id = 2 -- success only
   AND it.entity_type_id = 3    -- agency entity
) t1
GROUP BY t1.site_id, t1.locale_id, t1.invoice_start_date
HAVING COUNT(*) = 1
agencies_site_locales.view.lkml · 42 lines
inferred
view: agencies_site_locales {
  derived_table: {
    sql: SELECT t1.site_id, t1.locale_id, t1.invoice_start_date, min(t1.agency_id) as agency_id
FROM
(
  SELECT DISTINCT lt.site_id, lt.locale_id, it.invoice_start_date, it.entity_id AS agency_id
  FROM ${TABLE}.invoice_tracking it
    JOIN ${TABLE}.invoice_tracking_line_items lt
    ON lt.invoice_tracking_id = it.invoice_tracking_id
  WHERE it.active = 1
   AND it.invoice_status_id = 2 -- success only
   AND it.entity_type_id = 3    -- agency entity
) t1
GROUP BY t1.site_id, t1.locale_id, t1.invoice_start_date
HAVING COUNT(*) = 1 ;;
  }

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

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

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

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

  measure: count {
    type: count
  }
}
agencies_site_locales.view.lookml · 35 lines
source-preserved
- view: agencies_site_locales
  derived_table:
    sql: SELECT t1.site_id, t1.locale_id, t1.invoice_start_date, min(t1.agency_id) as agency_id
FROM
(
  SELECT DISTINCT lt.site_id, lt.locale_id, it.invoice_start_date, it.entity_id AS agency_id
  FROM ${TABLE}.invoice_tracking it
    JOIN ${TABLE}.invoice_tracking_line_items lt
    ON lt.invoice_tracking_id = it.invoice_tracking_id
  WHERE it.active = 1
   AND it.invoice_status_id = 2 -- success only
   AND it.entity_type_id = 3    -- agency entity
) t1
GROUP BY t1.site_id, t1.locale_id, t1.invoice_start_date
HAVING COUNT(*) = 1
  fields:
  - dimension: site_id
    type: int
    sql: ${TABLE}.site_id
  - dimension: locale_id
    type: int
    sql: ${TABLE}.locale_id
  - dimension: agency_id
    type: int
    sql: ${TABLE}.agency_id
  - dimension_group: invoice_start_date
    type: time
    timeframes:
    - time
    - date
    - week
    - month
    sql: ${TABLE}.invoice_start_date
  - measure: count
    type: count

Contents

  • agencies_site_locales.sql
  • agencies_site_locales.sql
  • agencies_site_locales.view.lkml
  • agencies_site_locales.view.lookml