############  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