11SELECT
2- return_id,
3- original_txn_id,
4- original_order_id,
5- customer_id,
6- customer_name,
7- product_id,
8- product_name,
9- quantity_returned,
10- return_date
11- FROM {{ ref(' stg_returns' ) }} ;
2+ CASE
3+ WHEN TRY_CONVERT(INT , return_id) < 1 OR TRY_CONVERT(INT , return_id) IS NULL THEN NULL
4+ ELSE TRY_CONVERT(INT , return_id)
5+ END as return_id,
6+
7+ CASE
8+ WHEN original_txn_id IS NULL THEN NULL
9+ WHEN UPPER (TRIM (original_txn_id)) NOT LIKE ' TXN-%' THEN NULL
10+ WHEN LEN(UPPER (TRIM (original_txn_id))) < 10 THEN NULL
11+ ELSE UPPER (TRIM (original_txn_id))
12+ END as original_txn_id,
13+
14+ CASE
15+ WHEN original_order_id IS NULL OR TRY_CONVERT(INT , original_order_id) < 1 OR TRY_CONVERT(INT , original_order_id) IS NULL THEN NULL
16+ ELSE TRY_CONVERT(INT , original_order_id)
17+ END as original_order_id,
18+
19+ CASE
20+ WHEN customer_id IS NULL OR TRY_CONVERT(INT , customer_id) IS NULL THEN NULL
21+ ELSE TRY_CONVERT(INT , customer_id)
22+ END as customer_id,
23+
24+ CASE
25+ WHEN customer_name IS NULL OR TRIM (customer_name) = ' ' THEN ' Unknown'
26+ ELSE dbo .TitleCase (TRIM (customer_name))
27+ END as customer_name,
28+
29+ CASE
30+ WHEN product_id IS NULL OR TRY_CONVERT(INT , product_id) IS NULL THEN NULL
31+ ELSE TRY_CONVERT(INT , product_id)
32+ END as product_id,
33+
34+ CASE
35+ WHEN product_name IS NULL OR TRIM (product_name) = ' ' THEN ' Unknown'
36+ ELSE dbo .TitleCase (TRIM (product_name))
37+ END as product_name,
38+
39+ CASE
40+ WHEN quantity_returned IS NULL OR TRY_CONVERT(INT , quantity_returned) IS NULL OR TRY_CONVERT(INT , quantity_returned) < 1 THEN NULL
41+ ELSE TRY_CONVERT(INT , quantity_returned)
42+ END as quantity_returned,
43+
44+ CASE
45+ WHEN return_date LIKE ' [A-Z][a-z][a-z][a-z] __, ____' THEN TRY_CONVERT(DATE ,return_date)
46+ WHEN return_date LIKE ' [A-Z][a-z][a-z] __, ____' THEN TRY_CONVERT(DATE ,return_date)
47+ WHEN return_date LIKE ' ____/__/__' THEN TRY_CONVERT(DATE ,return_date)
48+ WHEN return_date LIKE ' ____-__-__' THEN TRY_CONVERT(DATE ,return_date)
49+
50+ WHEN return_date LIKE ' __/__/____' AND TRY_CONVERT(INT , SUBSTRING (return_date, 4 , 2 )) > 12 THEN TRY_CONVERT(DATE , return_date, 101 )
51+ WHEN return_date LIKE ' __/__/____' AND TRY_CONVERT(INT , LEFT(return_date, 2 )) > 12 THEN TRY_CONVERT(DATE , return_date, 103 )
52+ WHEN return_date LIKE ' __-__-____' AND TRY_CONVERT(INT , SUBSTRING (return_date, 4 , 2 )) > 12 THEN TRY_CONVERT(DATE , return_date, 110 )
53+ WHEN return_date LIKE ' __-__-____' AND TRY_CONVERT(INT , LEFT(return_date, 2 )) > 12 THEN TRY_CONVERT(DATE , return_date, 105 )
54+ ELSE TRY_CONVERT(DATE , return_date)
55+ END as return_date
56+ FROM {{ ref(' stg_returns' ) }} ;
57+
58+
0 commit comments