Skip to content

Commit c151e4f

Browse files
Merge pull request #22 from Ritik574-coder/dbt_branch
update: adding models and description apply test on the models
2 parents dc96bee + 03c9e53 commit c151e4f

6 files changed

Lines changed: 102 additions & 16 deletions

File tree

models/intermediate/Employees/_int_employees_models.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2+
3+
#=========================================================================================
4+
#============================= Models : int_employee_employment ==========================
5+
#=========================================================================================
16
version: 2
27
models:
38
- name: int_employee_employment
Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
SELECT
2-
employee_id,
3-
first_name,
4-
last_name,
5-
hire_date
2+
employee_id,
3+
4+
CASE
5+
WHEN LEN(TRIM(full_name)) - LEN(REPLACE(TRIM(full_name), ' ','')) = 1 THEN PARSENAME(REPLACE(TRIM(full_name), ' ', '.'), 2)
6+
END as first_name,
7+
8+
PARSENAME(REPLACE(TRIM(full_name),' ','.'),1) as last_name,
9+
10+
CASE
11+
WHEN hire_date LIKE '[A-Z][a-z][a-z][a-z]% __, ____' THEN TRY_CONVERT(DATE,hire_date )
12+
WHEN hire_date LIKE '[A-Z][a-z][a-z] __, ____' THEN TRY_CONVERT(DATE, hire_date)
13+
WHEN hire_date LIKE '____-__-__' THEN TRY_CONVERT(DATE, hire_date)
14+
WHEN hire_date LIKE '____/__/__' THEN TRY_CONVERT(DATE, hire_date)
15+
16+
WHEN hire_date LIKE '__/__/____' AND TRY_CONVERT(INT, LEFT(hire_date, 2)) > 12 THEN TRY_CONVERT(DATE, hire_date,103)
17+
WHEN hire_date LIKE '__-__-____' AND TRY_CONVERT(INT, LEFT(hire_date, 2)) > 12 THEN TRY_CONVERT(DATE, hire_date, 105)
18+
19+
WHEN hire_date LIKE '__/__/____' AND TRY_CONVERT(INT, SUBSTRING(hire_date, 4, 2)) > 12 THEN TRY_CONVERT(DATE, hire_date,101)
20+
WHEN hire_date LIKE '__-__-____' AND TRY_CONVERT(INT, SUBSTRING(hire_date, 4, 2)) > 12 THEN TRY_CONVERT(DATE, hire_date, 110)
21+
ELSE TRY_CONVERT(DATE, hire_date)
22+
END hire_date
623
FROM {{ ref('stg_employees') }} ;
Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
SELECT
22
employee_id,
3-
email,
4-
phone
3+
4+
CASE
5+
WHEN email IS NULL OR TRIM(email) = '' THEN 'Unknown'
6+
WHEN email NOT LIKE '%@%' THEN 'Unknown'
7+
WHEN PATINDEX('%@%@%', TRIM(LOWER(email))) > 0 THEN
8+
LEFT(TRIM(LOWER(email)), CHARINDEX('@', TRIM(LOWER(email))) -1)
9+
+ '@' + REPLACE(SUBSTRING(TRIM(LOWER(email)), CHARINDEX('@', TRIM(LOWER(email))) +1,
10+
LEN(TRIM(LOWER(email)))), '@' ,'')
11+
ELSE TRIM(LOWER(email))
12+
END as email,
13+
14+
CASE
15+
WHEN phone LIKE '+___________' THEN CONCAT('+1 (', SUBSTRING(phone, 3, 3), ') ' , SUBSTRING(phone, 6, 3), '-', SUBSTRING(phone, 9,4))
16+
WHEN phone LIKE '___.___.____' THEN CONCAT('+1 (', SUBSTRING(phone, 1,3) , ') ' , SUBSTRING(phone,5, 3), '-' , SUBSTRING(phone,9,4))
17+
WHEN phone LIKE '__________' THEN CONCAT('+1 (', SUBSTRING(phone, 1,3) , ') ' , SUBSTRING(phone, 4,3), '-' , SUBSTRING(phone,7,4))
18+
WHEN phone LIKE '___-___-____' THEN CONCAT('+1 (', SUBSTRING(phone,1, 3) , ') ' , SUBSTRING(phone, 5,8))
19+
WHEN phone LIKE '(___) ___-____' THEN CONCAT('+1 ', SUBSTRING(phone, 1,14))
20+
END as phone
521
FROM {{ ref('stg_employees') }} ;
Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,45 @@
11
SELECT
22
inventory_snapshot_sk,
3-
snapshot_date,
4-
product_id,
5-
product_name,
6-
sku,
7-
category
3+
4+
CASE
5+
WHEN snapshot_date LIKE '[A-Z][a-z][a-z][a-z] __, ____' THEN TRY_CONVERT(DATE ,snapshot_date)
6+
WHEN snapshot_date LIKE '[A-Z][a-z][a-z] __, ____' THEN TRY_CONVERT(DATE ,snapshot_date)
7+
WHEN snapshot_date LIKE '____/__/__' THEN TRY_CONVERT(DATE ,snapshot_date)
8+
WHEN snapshot_date LIKE '____-__-__' THEN TRY_CONVERT(DATE ,snapshot_date)
9+
10+
WHEN snapshot_date LIKE '__/__/____' AND SUBSTRING(snapshot_date, 4, 2) > 12 THEN TRY_CONVERT(DATE, snapshot_date, 101)
11+
WHEN snapshot_date LIKE '__/__/____' AND LEFT(snapshot_date, 2) > 12 THEN TRY_CONVERT(DATE, snapshot_date, 103)
12+
WHEN snapshot_date LIKE '__-__-____' AND SUBSTRING(snapshot_date, 4, 2) > 12 THEN TRY_CONVERT(DATE, snapshot_date, 110)
13+
WHEN snapshot_date LIKE '__-__-____' AND LEFT(snapshot_date, 2) > 12 THEN TRY_CONVERT(DATE, snapshot_date, 105)
14+
ELSE TRY_CONVERT(DATE, snapshot_date)
15+
END as snapshot_date,
16+
17+
CASE
18+
WHEN TRY_CONVERT(INT, product_id) IS NULL THEN NULL
19+
ELSE TRY_CONVERT(INT, product_id)
20+
END as product_id,
21+
22+
CASE
23+
WHEN product_name IS NULL OR product_name = '' THEN 'Unknown'
24+
ELSE TRIM(product_name)
25+
END as product_name,
26+
27+
CASE
28+
WHEN sku IS NULL OR sku = '' THEN 'Unknown'
29+
ELSE TRIM(sku)
30+
END as sku,
31+
32+
CASE
33+
WHEN TRIM(LOWER(category)) = 'electronics' THEN 'Electronics'
34+
WHEN TRIM(LOWER(category)) = 'clothing' THEN 'Clothing'
35+
WHEN TRIM(LOWER(category)) = 'kitchen' THEN 'Kitchen'
36+
WHEN TRIM(LOWER(category)) = 'office' THEN 'Office'
37+
WHEN TRIM(LOWER(category)) = 'sports' THEN 'Sports'
38+
WHEN TRIM(LOWER(category)) = 'health' THEN 'Health'
39+
WHEN TRIM(LOWER(category)) = 'beauty' THEN 'Beauty'
40+
WHEN TRIM(LOWER(category)) = 'footwear' THEN 'Footwear'
41+
WHEN TRIM(LOWER(category)) = 'toys' THEN 'Toys'
42+
WHEN TRIM(LOWER(category)) = 'bags' THEN 'Bags'
43+
ELSE 'Unknown'
44+
END AS category
845
FROM {{ ref('stg_inventory') }} ;
Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
SELECT
22
inventory_snapshot_sk,
3-
product_id,
4-
stock_on_hand,
5-
stock_reserved,
3+
4+
CASE
5+
WHEN TRY_CONVERT(INT, stock_on_hand) IS NULL OR stock_on_hand < 0 THEN NULL
6+
ELSE TRY_CONVERT(INT, stock_on_hand)
7+
END AS stock_on_hand,
8+
9+
CASE
10+
WHEN stock_reserved < 0 OR TRY_CONVERT(INT, stock_reserved) IS NULL THEN NULL
11+
ELSE TRY_CONVERT(INT, stock_reserved)
12+
END as stock_reserved,
13+
614
stock_available,
7-
reorder_level
15+
16+
CASE
17+
WHEN reorder_level IS NULL OR reorder_level < 0 OR TRY_CONVERT(INT, reorder_level) IS NULL THEN NULL
18+
ELSE TRY_CONVERT(INT, reorder_level)
19+
END as reorder_level
820
FROM {{ ref('stg_inventory') }} ;

models/intermediate/Inventory/int_inventory_valuation.sql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
SELECT
22
inventory_snapshot_sk,
3-
product_id,
43
stock_on_hand,
54
stock_reserved,
65
stock_available,

0 commit comments

Comments
 (0)