File tree Expand file tree Collapse file tree 4 files changed +74
-1
lines changed Expand file tree Collapse file tree 4 files changed +74
-1
lines changed Original file line number Diff line number Diff line change @@ -83,6 +83,14 @@ $function$
83
83
84
84
![ Postgres stored procedure data lineage sample] ( samples/images/postgresql_plsql_data_lineage.png )
85
85
86
+ ### Nested CTE with star columns (Snowflake SQL sample)
87
+ ```
88
+ python dlineage.py /t snowflake /f samlples/snowflake_nested_cte.sql /graph
89
+ ```
90
+
91
+ ![ Snowflake nested CTE data lineage sample] ( samples/images/snowflake_nested_cte_data_lineage.png )
92
+
93
+ The [ source code of this sample Oracle PL/SQL] ( samples/snowflake_nested_cte.sql ) .
86
94
87
95
### 分析 DDL, 自动画出 ER Diagram
88
96
Original file line number Diff line number Diff line change
1
+ create or replace view CH_LATEST_JIRA_ISSUE (
2
+ JIRA_ISSUE_ID,
3
+ KEY,
4
+ PARENT_ID,
5
+ RESOLUTION_ID,
6
+ LAST_VIEWED,
7
+ _ORIGINAL_ESTIMATE,
8
+ ASSIGNEE_ID,
9
+ ISSUE_TYPE_ID,
10
+ ENVIRONMENT,
11
+ DUE_DATE,
12
+ REMAINING_ESTIMATE,
13
+ STATUS_ID,
14
+ _REMAINING_ESTIMATE,
15
+ CREATOR_ID,
16
+ TIME_SPENT,
17
+ _TIME_SPENT,
18
+ WORK_RATIO,
19
+ REPORTER_ID,
20
+ PROJECT_ID,
21
+ RESOLVED,
22
+ UPDATED_AT,
23
+ ORIGINAL_ESTIMATE,
24
+ ISSUE_DESCRIPTION,
25
+ ISSUE_SUMMARY,
26
+ STATUS_CATEGORY_CHANGED,
27
+ PRIORITY_ID,
28
+ ISSUE_CREATED_AT,
29
+ IS_DELETED,
30
+ SYNCED_AT,
31
+ FIRST_IN_AMT,
32
+ FIRST_OUT_AMT
33
+ ) as (
34
+
35
+
36
+ WITH tran_in_base1 AS (
37
+ SELECT COMPANY_ID, min (CREATED_AT) CREATED_AT_MIN FROM tide .pres_core .cleared_transactions WHERE AMOUNT> 0 GROUP BY COMPANY_ID
38
+ ),
39
+
40
+ tran_out_base1 AS (
41
+ SELECT COMPANY_ID, min (CREATED_AT) CREATED_AT_MIN FROM tide .pres_core .cleared_transactions WHERE AMOUNT< 0 GROUP BY COMPANY_ID
42
+ ),
43
+
44
+ tran_in_base2 AS (
45
+ SELECT a .COMPANY_ID ,MAX (a .AMOUNT ) AS FIRST_IN_AMT FROM tide .pres_core .cleared_transactions a
46
+ INNER JOIN tran_in_base1 b
47
+ on a .COMPANY_ID = b .COMPANY_ID and a .CREATED_AT = b .CREATED_AT_MIN GROUP BY a .COMPANY_ID
48
+ ),
49
+
50
+ tran_out_base2 AS (
51
+ SELECT a .COMPANY_ID ,MAX (a .AMOUNT ) AS FIRST_OUT_AMT FROM tide .pres_core .cleared_transactions a
52
+ INNER JOIN tran_out_base1 b
53
+ on a .COMPANY_ID = b .COMPANY_ID and a .CREATED_AT = b .CREATED_AT_MIN GROUP BY a .COMPANY_ID
54
+ ),
55
+
56
+ jira_issues_tab AS (
57
+ SELECT *
58
+ FROM tide .intg_jira .latest_jira_issues
59
+ )
60
+
61
+ SELECT a.* , b .FIRST_IN_AMT , c .FIRST_OUT_AMT
62
+ FROM jira_issues_tab a
63
+ LEFT JOIN tran_in_base2 b ON cast(REGEXP_SUBSTR(a .issue_summary ,' [0-9]+' ) AS bigint )= b .COMPANY_ID
64
+ LEFT JOIN tran_out_base2 c ON cast(REGEXP_SUBSTR(a .issue_summary ,' [0-9]+' ) AS bigint )= c .COMPANY_ID
65
+ );
Load Diff Large diffs are not rendered by default.
You can’t perform that action at this time.
0 commit comments