Adding additional KPIs, adding required documentation
[ric-app/mc.git] / mc-core / mc / queries / rrcx_stats.gsql
1 DEFINE{ query_name 'rrcx_stats_neigh_cell'; 
2         max_lfta_disorder '1'; max_hfta_disorder '1';
3 }
4 PARAM{ window uint;}
5 //      rsrp, rsrq, sinr ranges are 0 .. 127
6 //      to convert rsrp to dbm, subtract 157
7
8 select ($window*(tb+1))/1000 as TS, $window/1000.0 as measurementInterval,
9         physCellId as CELL_ID,
10         count(*) as cnt,
11         INT(min(rsrp))-INT(157) as min_rsrp,
12         INT(quantile_of(rsrp, .05)) - INT(157) as pctl_05_rsrp,
13         INT(median_of(rsrp)) - INT(157) as median_rsrp,
14         INT(quantile_of(rsrp, .95)) - INT(157) as pctl_95_rsrp,
15         sqrt(
16                 sum( (FLOAT(rsrp)-157)*(FLOAT(rsrp)-157))  -
17                 sum( (FLOAT(rsrp)-157) )*sum( (FLOAT(rsrp)-157) )/count(*)
18         ) / count(*) as stddev_rsrp,
19         INT(max(rsrp))-INT(157) as max_rsrp
20 from RRCXFER.neighbor_beam_ssb
21 where schemaId = 6 and rsrp<128
22 group by timestamp_ms/$window as tb, physCellId
23 ;
24
25 DEFINE{ query_name 'rrcx_stats_neigh_gnb'; 
26         max_lfta_disorder '1'; max_hfta_disorder '1';
27 }
28 PARAM{ window uint;}
29 //      rsrp, rsrq, sinr ranges are 0 .. 127
30 //      to convert rsrp to dbm, subtract 157
31
32 select ($window*(tb+1))/1000 as TS, $window/1000.0 as measurementInterval,
33         gnb_id as GNB_ID,
34         count(*) as cnt,
35         INT(min(rsrp))-INT(157) as min_rsrp,
36         INT(quantile_of(rsrp, .05)) - INT(157) as pctl_05_rsrp,
37         INT(median_of(rsrp)) - INT(157) as median_rsrp,
38         INT(quantile_of(rsrp, .95)) - INT(157) as pctl_95_rsrp,
39         sqrt(
40                 sum( (FLOAT(rsrp)-157)*(FLOAT(rsrp)-157))  -
41                 sum( (FLOAT(rsrp)-157) )*sum( (FLOAT(rsrp)-157) )/count(*)
42         ) / count(*) as stddev_rsrp,
43         INT(max(rsrp))-INT(157) as max_rsrp
44 from RRCXFER.neighbor_beam_ssb
45 where schemaId = 6 and rsrp<128
46 group by timestamp_ms/$window as tb, gnb_id
47 ;
48
49
50 DEFINE{ query_name 'rrcx_stats_serv_cell'; 
51         max_lfta_disorder '1'; max_hfta_disorder '1';
52 }
53 PARAM{ window uint;}
54 //      rsrp, rsrq, sinr ranges are 0 .. 127
55 //      to convert rsrp to dbm, subtract 157
56
57 select ($window*(tb+1))/1000 as TS, $window/1000.0 as measurementInterval,
58         physCellId as CELL_ID,
59         count(*) as cnt,
60         INT(min(rsrp))-INT(157) as min_rsrp,
61         INT(quantile_of(rsrp, .05)) - INT(157) as pctl_05_rsrp,
62         INT(median_of(rsrp)) - INT(157) as median_rsrp,
63         INT(quantile_of(rsrp, .95)) - INT(157) as pctl_95_rsrp,
64         sqrt(
65                 sum( (FLOAT(rsrp)-157)*(FLOAT(rsrp)-157))  -
66                 sum( (FLOAT(rsrp)-157) )*sum( (FLOAT(rsrp)-157) )/count(*)
67         ) / count(*) as stddev_rsrp,
68         INT(max(rsrp))-INT(157) as max_rsrp
69 from RRCXFER.serv_nr_cell
70 where schemaId = 1 and rsrp<128
71 group by timestamp_ms/$window as tb, physCellId
72 ;
73
74 DEFINE{ query_name 'rrcx_stats_neighbor_cell'; 
75         max_lfta_disorder '1'; max_hfta_disorder '1';
76 }
77 PARAM{ window uint;}
78 //      rsrp, rsrq, sinr ranges are 0 .. 127
79 //      to convert rsrp to dbm, subtract 157
80
81 select ($window*(tb+1))/1000 as TS, $window/1000.0 as measurementInterval,
82         physCellId as CELL_ID,
83         count(*) as cnt,
84         INT(min(rsrp))-INT(157) as min_rsrp,
85         INT(quantile_of(rsrp, .05)) - INT(157) as pctl_05_rsrp,
86         INT(median_of(rsrp)) - INT(157) as median_rsrp,
87         INT(quantile_of(rsrp, .95)) - INT(157) as pctl_95_rsrp,
88         sqrt(
89                 sum( (FLOAT(rsrp)-157)*(FLOAT(rsrp)-157))  -
90                 sum( (FLOAT(rsrp)-157) )*sum( (FLOAT(rsrp)-157) )/count(*)
91         ) / count(*) as stddev_rsrp,
92         INT(max(rsrp))-INT(157) as max_rsrp
93 from RRCXFER.nr_neighbor
94 where schemaId = 4 and rsrp<128
95 group by timestamp_ms/$window as tb, physCellId
96 ;
97
98
99 DEFINE{ query_name 'rrcx_stats_serv_gnb'; 
100         max_lfta_disorder '1'; max_hfta_disorder '1';
101 }
102 PARAM{ window uint;}
103 //      rsrp, rsrq, sinr ranges are 0 .. 127
104 //      to convert rsrp to dbm, subtract 157
105
106 select ($window*(tb+1))/1000 as TS, $window/1000.0 as measurementInterval,
107         gnb_id as GNB_ID,
108         count(*) as cnt,
109         INT(min(rsrp))-INT(157) as min_rsrp,
110         INT(quantile_of(rsrp, .05)) - INT(157) as pctl_05_rsrp,
111         INT(median_of(rsrp)) - INT(157) as median_rsrp,
112         INT(quantile_of(rsrp, .95)) - INT(157) as pctl_95_rsrp,
113         sqrt(
114                 sum( (FLOAT(rsrp)-157)*(FLOAT(rsrp)-157))  -
115                 sum( (FLOAT(rsrp)-157) )*sum( (FLOAT(rsrp)-157) )/count(*)
116         ) / count(*) as stddev_rsrp,
117         INT(max(rsrp))-INT(157) as max_rsrp
118 from RRCXFER.serv_nr_cell
119 where schemaId = 1 and rsrp<128
120 group by timestamp_ms/$window as tb, gnb_id
121 ;
122
123 DEFINE{ query_name 'rrcx_stats_neighbor_gnb'; 
124         max_lfta_disorder '1'; max_hfta_disorder '1';
125 }
126 PARAM{ window uint;}
127 //      rsrp, rsrq, sinr ranges are 0 .. 127
128 //      to convert rsrp to dbm, subtract 157
129
130 select ($window*(tb+1))/1000 as TS, $window/1000.0 as measurementInterval,
131         gnb_id as GNB_ID,
132         count(*) as cnt,
133         INT(min(rsrp))-INT(157) as min_rsrp,
134         INT(quantile_of(rsrp, .05)) - INT(157) as pctl_05_rsrp,
135         INT(median_of(rsrp)) - INT(157) as median_rsrp,
136         INT(quantile_of(rsrp, .95)) - INT(157) as pctl_95_rsrp,
137         sqrt(
138                 sum( (FLOAT(rsrp)-157)*(FLOAT(rsrp)-157))  -
139                 sum( (FLOAT(rsrp)-157) )*sum( (FLOAT(rsrp)-157) )/count(*)
140         ) / count(*) as stddev_rsrp,
141         INT(max(rsrp))-INT(157) as max_rsrp
142 from RRCXFER.nr_neighbor
143 where schemaId = 4 and rsrp<128
144 group by timestamp_ms/$window as tb, gnb_id
145