DBT Sources, Seeds & Analyses | Data Build Tool Demo with Real World Examples
############ seeds\salestargets.csv ############
StoreID,SalesTarget
1876,260000
1396,290000
1146,305000
1107,345000
1384,350000
1155,300000
1913,300000
1882,345000
1289,300000
1005,375000
############ models\storeperformance.sql ###########
SELECT
OS.StoreID,
SUM(OFACT.Revenue) AS ActualSales,
SUM(ST.SalesTarget) AS TargetSales
FROM
{{ ref('orders_stg') }} OS
JOIN
{{ ref('orders_fact') }} OFACT ON OS.OrderID = OFACT.OrderID
JOIN
{{ ref('salestargets') }} ST ON ST.StoreID = OS.StoreID
GROUP BY 1
############ analyses\StoreRevenue.sql ############
SELECT
OS.StoreID,
SUM(OFACT.Revenue) AS TotalRevenue
FROM
{{ ref('orders_stg') }} OS
JOIN
{{ ref('orders_fact') }} OFACT ON OS.OrderID = OFACT.OrderID
GROUP BY 1
############ models\src_oms.yml ############
sources:
- name: landing
description: The primary soruce system for order management system(OMS) data anlalytics.
database: SLEEKMART_OMS
schema: L1_LANDING
freshness:
warn_after: {count: 1, period: day}
error_after: {count: 3, period: day}
loaded_at_field: Updated_at
tables:
- name: customers
description: The customers table from order management system(OMS).
identifier: customers
- name: orders
description: The orders table from order management system(OMS).
identifier: orders
- name: orderitems
description: The orderitems table from order management system(OMS).
identifier: orderitems
- name: employees
description: The employees table from order management system(OMS).
identifier: employees
columns:
- name: address
description: Full Address of emplyees for Transport Arrangements.
tests:
- not_null
- string_not_empty
- name: sales_us
- name: sales_europe
- name: sales_asia
- name: stores
- name: suppliers
- name: products
- name: training
database: SLEEKMART_OMS
schema: TRAINING
tables:
- name: city_temperature
- name: sales_us
- name: sales_uk
- name: sales_india
############ customers_stg.sql ############
{{ config(materialized='table') }}
SELECT
CustomerID,
FirstName,
LastName,
Email,
Phone,
Address,
City,
State,
ZipCode,
Updated_at,
CONCAT(FirstName, ' ', LastName) AS CustomerName
FROM
{{ source('landing', 'customers') }}
Comments
Post a Comment