Subversion Repositories DevTools

Rev

Rev 2201 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2195 brianf 1
:r ".\queries\SOM_Dashboard_query_init.sql"
2
 
2207 brianf 3
IF OBJECT_ID('tempdb..#TD_TEMP') IS NOT NULL DROP TABLE #TD_TEMP;
4
 
5
SELECT * INTO #TD_TEMP
6
FROM
7
(SELECT
2195 brianf 8
  dd.test_month,
9
  dd.project,
10
  SUM(dd.passed) AS passed_count,
11
  SUM(dd.run) AS run_count,
2207 brianf 12
  SUM(dd.est_run_time) as est_run_total,
13
  SUM(dd.act_run_time) as act_run_total,
2195 brianf 14
  CASE WHEN SUM(dd.run) = 0 THEN 0 ELSE SUM(dd.passed)* 100.0/SUM(dd.run) END AS test_rate_pass,
15
  CASE WHEN SUM(dd.act_run_time) = 0 THEN 0 ELSE SUM(dd.est_run_time)* 1.0/SUM(dd.act_run_time) END AS test_run_efficiency,
16
  CASE WHEN SUM(dd.act_run_time) = 0 THEN 0 ELSE SUM(dd.act_inv_time)* 1.0/SUM(dd.act_run_time) END AS issue_inv_loading
17
FROM (
18
  SELECT
19
   DATEADD(mm,(YEAR(tt.rn_execution_date)-1900)* 12 + MONTH(tt.rn_execution_date) - 1, 0)AS test_month, -- truncate to year,month
20
   tt.project,
2199 brianf 21
   tt.sub_project,
2195 brianf 22
   tt.rn_status,
23
   tt.rn_execution_date,
24
   tt.cy_cycle_id,tt.rn_run_id,tt.ts_test_id,
25
   tt.rn_tester_name,
2199 brianf 26
   tt.ts_user_01,  --est_run_time for TRACS
27
   tt.ts_user_02,  --est_run_time for non TRACS
28
   tt.rn_user_01,  --act_run_time
29
   tt.rn_user_02, --act_inv_time
30
   tt.ts_user_02_new,--est_run_time, adjusted to be rn_user_01 for NULL values
31
   tt.rn_user_01_new, --act_run_time, adjusted to be ts_user_02(non-TRACS) or ts_user_01(TRACS) for NULL values
2195 brianf 32
   CASE WHEN (IsNumeric(tt.ts_user_01) = 1) AND (CharIndex('.', tt.ts_user_01) = 0) THEN 1 ELSE 0 END AS IsInt_TU1,
33
   CASE WHEN (IsNumeric(tt.ts_user_02) = 1) AND (CharIndex('.', tt.ts_user_02) = 0) THEN 1 ELSE 0 END AS IsInt_TU2,
34
   CASE WHEN (IsNumeric(tt.ts_user_01) = 1) AND (CharIndex('.', tt.rn_user_01) = 0) THEN 1 ELSE 0 END AS IsInt_RU1,
35
   CASE WHEN (IsNumeric(tt.ts_user_02) = 1) AND (CharIndex('.', tt.rn_user_02) = 0) THEN 1 ELSE 0 END AS IsInt_RU2,
36
   CASE WHEN tt.rn_status = 'Passed' THEN 1 ELSE 0 END AS Passed,
37
   1 AS Run,
2199 brianf 38
   CASE WHEN IsNumeric(tt.ts_user_02_new) = 0 THEN 0
39
        WHEN (CharIndex('.', tt.ts_user_02_new) > 0) THEN CONVERT(float,tt.ts_user_02_new) * 60.0
40
        ELSE CONVERT(float,tt.ts_user_02_new) END AS est_run_time,
41
   CASE WHEN IsNumeric(tt.rn_user_01_new) = 0 THEN 0
42
        WHEN (CharIndex('.', tt.rn_user_01_new) > 0) THEN CONVERT(float,tt.rn_user_01_new) * 60.0
43
        ELSE CONVERT(float,tt.rn_user_01_new) END AS act_run_time,
2195 brianf 44
   CASE WHEN IsNumeric(tt.rn_user_02) = 0 THEN 0
45
        WHEN (CONVERT(float,tt.rn_user_02) > 1000) THEN 0
46
        WHEN (CharIndex('.', tt.rn_user_02) > 0) THEN CONVERT(float,tt.rn_user_02) * 60.0
47
        ELSE CONVERT(float,tt.rn_user_02) END AS act_inv_time
48
  FROM (
2199 brianf 49
    SELECT 'Seattle' AS project,'Seattle' as sub_project,rn.rn_status,rn.rn_execution_date,cy.cy_cycle_id,rn.rn_run_id,ts.ts_test_id,rn.rn_tester_name,ts.ts_user_01,ts.ts_user_02,rn.rn_user_01,rn.rn_user_02,ISNULL(ts.ts_user_02,rn.rn_user_01) AS ts_user_02_new,ISNULL(rn.rn_user_01,ts.ts_user_02) AS rn_user_01_new
2195 brianf 50
    FROM  erg_seattle_phase2_db.td.cycle cy, erg_seattle_phase2_db.td.run rn, erg_seattle_phase2_db.td.test ts 
51
    WHERE cy.cy_cycle_id = rn.rn_cycle_id AND rn.rn_test_id = ts.ts_test_id AND rn.rn_execution_date >= '20090101'
52
    UNION
2199 brianf 53
    SELECT 'Stockholm' AS project,'Stockholm' as sub_project,rn.rn_status,rn.rn_execution_date,cy.cy_cycle_id,rn.rn_run_id,ts.ts_test_id,rn.rn_tester_name,ts.ts_user_01,ts.ts_user_02,rn.rn_user_01,rn.rn_user_02,ISNULL(ts.ts_user_02,rn.rn_user_01) AS ts_user_02_new,ISNULL(rn.rn_user_01,ts.ts_user_02) AS rn_user_01_new
2195 brianf 54
    FROM  erg_stockholm_db.td.cycle cy, erg_stockholm_db.td.run rn, erg_stockholm_db.td.test ts
55
    WHERE cy.cy_cycle_id = rn.rn_cycle_id AND rn.rn_test_id = ts.ts_test_id AND rn.rn_execution_date >= '20090101'
56
    UNION
2199 brianf 57
    SELECT 'Capetown' AS project,'Capetown' as sub_project,rn.rn_status,rn.rn_execution_date,cy.cy_cycle_id,rn.rn_run_id,ts.ts_test_id,rn.rn_tester_name,ts.ts_user_01,ts.ts_user_02,rn.rn_user_01,rn.rn_user_02,ISNULL(ts.ts_user_02,rn.rn_user_01) AS ts_user_02_new,ISNULL(rn.rn_user_01,ts.ts_user_02) AS rn_user_01_new
2195 brianf 58
    FROM  erg_capetown_db.td.cycle cy, erg_capetown_db.td.run rn, erg_capetown_db.td.test ts
59
    WHERE cy.cy_cycle_id = rn.rn_cycle_id AND rn.rn_test_id = ts.ts_test_id AND rn.rn_execution_date >= '20090101'
60
    UNION
2199 brianf 61
    SELECT 'UK' AS project,'ITSO' as sub_project,rn.rn_status,rn.rn_execution_date,cy.cy_cycle_id,rn.rn_run_id,ts.ts_test_id,rn.rn_tester_name,ts.ts_user_01,ts.ts_user_02,rn.rn_user_01,rn.rn_user_02,ISNULL(ts.ts_user_02,rn.rn_user_01) AS ts_user_02_new,ISNULL(rn.rn_user_01,ts.ts_user_02) AS rn_user_01_new
2195 brianf 62
    FROM  erg_itso_db.td.cycle cy, erg_itso_db.td.run rn, erg_itso_db.td.test ts
63
    WHERE cy.cy_cycle_id = rn.rn_cycle_id AND rn.rn_test_id = ts.ts_test_id AND rn.rn_execution_date >= '20090101'
64
    UNION
2199 brianf 65
    SELECT 'UK' AS project,'SSW' as sub_project,rn.rn_status,rn.rn_execution_date,cy.cy_cycle_id,rn.rn_run_id,ts.ts_test_id,rn.rn_tester_name,ts.ts_user_01,ts.ts_user_02,rn.rn_user_01,rn.rn_user_02,ISNULL(ts.ts_user_02,rn.rn_user_01) AS ts_user_02_new,ISNULL(rn.rn_user_01,ts.ts_user_02) AS rn_user_01_new
2195 brianf 66
    FROM  erg_soutwesttrains_db.td.cycle cy, erg_soutwesttrains_db.td.run rn, erg_soutwesttrains_db.td.test ts
67
    WHERE cy.cy_cycle_id = rn.rn_cycle_id AND rn.rn_test_id = ts.ts_test_id AND rn.rn_execution_date >= '20090101'
68
    UNION
2199 brianf 69
    SELECT 'UK' AS project,'TRACS' as sub_project,rn.rn_status,rn.rn_execution_date,cy.cy_cycle_id,rn.rn_run_id,ts.ts_test_id,rn.rn_tester_name,ts.ts_user_01,ts.ts_user_02,rn.rn_user_01,rn.rn_user_02,ISNULL(ts.ts_user_01,rn.rn_user_01) AS ts_user_02_new,ISNULL(rn.rn_user_01,ts.ts_user_01) AS rn_user_01_new
2195 brianf 70
    FROM  erg_tracs_db.td.cycle cy, erg_tracs_db.td.run rn, erg_tracs_db.td.test ts
71
    WHERE cy.cy_cycle_id = rn.rn_cycle_id AND rn.rn_test_id = ts.ts_test_id AND rn.rn_execution_date >= '20090101'
72
    UNION
2199 brianf 73
    SELECT 'Vastraffik' AS project,'Vastraffik' as sub_project,rn.rn_status,rn.rn_execution_date,cy.cy_cycle_id,rn.rn_run_id,ts.ts_test_id,rn.rn_tester_name,ts.ts_user_01,ts.ts_user_02,rn.rn_user_01,rn.rn_user_02,ISNULL(ts.ts_user_02,rn.rn_user_01) AS ts_user_02_new,ISNULL(rn.rn_user_01,ts.ts_user_02) AS rn_user_01_new
2195 brianf 74
    FROM  erg_vastraffik_db.td.cycle cy, erg_vastraffik_db.td.run rn, erg_vastraffik_db.td.test ts
75
    WHERE cy.cy_cycle_id = rn.rn_cycle_id AND rn.rn_test_id = ts.ts_test_id AND rn.rn_execution_date >= '20090101'
76
     ) tt
77
where
2199 brianf 78
    tt.rn_status IN ('Passed','Conditional Pass','Failed')     
2195 brianf 79
    and tt.rn_execution_date >= @start_date AND tt.rn_execution_date < @end_date
80
    --and tt.rn_execution_date >= '20111001' AND tt.rn_execution_date < '20111101'
81
    and tt.rn_tester_name IN ('aphoon','amatveev','aserrain','clee','ekilic','fpatel','lguntur',
82
                          'ggrieve','hbatna','idzukleski','jgodfrey','jkoh','kmuruges','knguyen',
83
                          'lmiao','mthangav','nkerr','ozaidenv','rthumma','rohearn','sip','kmaesen2',
84
                          'slibao','stan','tkumar','wloo','ywehalle','sradhakr','bboey','silyas',
2201 brianf 85
                          'wwong','mchua','dmonahan','awehalle','ahulatt','aphoon2','clee1','ahulatt1')
2195 brianf 86
) dd
87
GROUP BY dd.test_month,dd.project
2207 brianf 88
) rs;
89
 
90
SELECT rs.*,
91
sum_test_rate_pass/ag.project_count as avg_test_rate_pass,
92
sum_test_run_efficiency/ag.project_count as avg_test_run_efficiency,
93
sum_issue_inv_loading/ag.project_count as avg_issue_inv_loading
94
FROM #TD_TEMP rs,
95
  (SELECT
96
    test_month,
97
    SUM(test_rate_pass) as sum_test_rate_pass,
98
    SUM(test_run_efficiency) as sum_test_run_efficiency,
99
    SUM(issue_inv_loading) as sum_issue_inv_loading,
100
    count(*) as project_count
101
   FROM #TD_TEMP
102
   GROUP BY test_month
103
   ) ag
104
WHERE
105
  rs.test_month = ag.test_month
106
ORDER BY rs.test_month,rs.project;
107
 
108
DROP TABLE #TD_TEMP;