update query ndan ocep

This commit is contained in:
adekurniawan 2023-12-12 17:38:41 +07:00
parent 7032d096b2
commit 1410104925
7 changed files with 508 additions and 0 deletions

View File

@ -0,0 +1,103 @@
with daily as (select date
, band
, site_id
, cell_name
, ne_id
, cell
, nds(sum(cell_availability_num), sum(cell_availability_denum)) as cell_availability
, nds(sum(num_rrc_setup_sr), sum(denum_rrc_setup_sr)) as rrc_setup_sr
, nds(sum(num_e_rab_setup_sr), sum(denum_e_rab_setup_sr)) as e_rab_setup_sr
, nds(sum(num_rrc_setup_sr) * sum(num_e_rab_setup_sr) * sum(s1_signal_connection_est_sr_num),
sum(denum_rrc_setup_sr) * sum(denum_e_rab_setup_sr) * sum(s1_signal_connection_est_sr_denum)) as cssr
, nds(sum(num_e_rab_drop_rate_percent), sum(denum_e_rab_drop_rate_percent)) as e_rab_drop_rate
, nds(sum(num_ifho_sr), sum(denum_ifho_sr)) as ifho_sr
, nds(sum(num_csfb_sr), sum(denum_csfb_sr)) as csfb_sr
, sum(payload_mbyte) as payload_mbyte
, nds(sum(inter_freq_lte_ho_num), sum(inter_freq_lte_ho_denum)) as inter_freq_lte_ho
, nds(sum(num_service_drop_rate), sum(denum_service_drop_rate)) as service_drop_rate
, nds(sum(num_dl_prb_utilization_percent), sum(denum_dl_prb_utilization_percent)) as dl_prb_utilization
, nds(sum(num_ul_prb_utilization_percent), sum(denum_ul_prb_utilization_percent)) as ul_prb_utilization
, nds(sum(prb_number_used_on_pusch_channel_unit), sum(prb_number_available_on_pusch_channel_unit)) as pusch_prb_utilization_rate
, sum(maximum_number_of_rrc_connection_user_unit) as maximum_number_of_rrc_connection_user
, nds(sum(rrc_establishment_volte_num) * sum(e_rab_setup_volte_qci5_num),
sum(rrc_establishment_volte_denum) * sum(e_rab_setup_volte_qci5_denum)) as call_setup_sr_qci_1_qci_5
, nds(sum(volte_call_drop_rate_num), sum(volte_call_drop_rate_denum)) as call_drop_rate
, nds(sum(volte_call_drop_rate_mme_num), sum(volte_call_drop_rate_mme_denum)) as call_drop_rate_mme
, nds(sum(volte_user_outgoing_intra_freq_hosr_num), sum(volte_user_outgoing_intra_freq_hosr_denum)) as user_outgoing_intra_freq_hosr
, nds(sum(volte_srvcc_ho_sr_lte_to_gsm_success_div_success_failure_num), sum(volte_srvcc_ho_sr_lte_to_gsm_success_div_success_failure_denum)) as srvcc_hosr_lte_gsm_succ_div_succ_plus_fail
, sum(volte_traffic_erl) as traffic_erl
, sum(dl_traffic_volume_mbyte + ul_traffic_volume_mbyte) as traffic_volume_mbyte
from r11.meas_4g_daily m
join network_cell n
on m.network_cell_id = n.id
-- where date between date_int(7) and date_int(1)
where date between '2023-11-26' and date_int(1)
group by date
, band
, site_id
, cell_name
, ne_id
, cell),
daily_bh as (select date
, band
, site_id
, cell_name
, ne_id
, cell
, avg(average_cqi) as average_cqi
, avg(spectral_efficiency) as spectral_efficiency
from r11.meas_4g_daily_bh_activeuser m
join network_cell n
on m.network_cell_id = n.id
-- where date between date_int(7) and date_int(1)
where date between '2023-11-26' and date_int(1)
group by date
, band
, site_id
, cell_name
, ne_id
, cell),
combined as (select d.date
, d.band
, d.site_id
, d.cell_name
, d.ne_id
, d.cell
, cell_availability
, rrc_setup_sr
, e_rab_setup_sr
, cssr
, e_rab_drop_rate
, ifho_sr
, csfb_sr
, dbh.spectral_efficiency
, dbh.average_cqi
, payload_mbyte
, inter_freq_lte_ho
, service_drop_rate
, dl_prb_utilization
, ul_prb_utilization
, pusch_prb_utilization_rate
, maximum_number_of_rrc_connection_user
, call_setup_sr_qci_1_qci_5
, call_drop_rate
, call_drop_rate_mme
, user_outgoing_intra_freq_hosr
, srvcc_hosr_lte_gsm_succ_div_succ_plus_fail
, traffic_erl
, traffic_volume_mbyte
from daily d
join daily_bh dbh
on d.date = dbh.date
and d.site_id = dbh.site_id
and d.ne_id = dbh.ne_id
and d.cell_name = dbh.cell_name
and d.cell = dbh.cell)
select *
from combined
order by cell_name, date;

View File

@ -0,0 +1,45 @@
with master as (select n.tech
, date
, n.site_id
, n.ne_id
, sum(tch_traffic_erlang) as traffic
, sum(payload_mbyte) as payload_mbyte
from r11.meas_2g_daily m
join network_cell n on m.network_cell_id = n.id
join ref_site r on n.site_id = r.site_id
where date between '2023-12-01' and '2023-12-07'
group by n.tech
, date
, n.site_id
, n.ne_id
union
select n.tech
, date
, n.site_id
, n.ne_id
, sum(volte_traffic_erl) as traffic
, sum(payload_mbyte) as payload_mbyte
from r11.meas_4g_daily m
join network_cell n on m.network_cell_id = n.id
join ref_site r on n.site_id = r.site_id
where date between '2023-12-01' and '2023-12-07'
group by n.tech
, date
, n.site_id
, n.ne_id)
select tech
, date
, site_id
, ne_id
, traffic::numeric(100, 2) as traffic
, payload_mbyte::numeric(100, 2) as payload_mbyte
from master
order by tech, site_id, ne_id, date
;

View File

@ -0,0 +1,52 @@
with master as (select m.date
, n.site_id
, sector
, band
, ndp(sum(num_dl_prb_utilization_percent), sum(denum_dl_prb_utilization_percent)) as dl_prb_utilization
, ndp(sum(num_ul_prb_utilization_percent), sum(denum_ul_prb_utilization_percent)) as ul_prb_utilization
from r11.meas_4g_daily_bh_activeuser m
join network_cell n on m.network_cell_id = n.id
where m.date between '2023-12-01' and '2023-12-07'
and n.site_id in
('AMB012', 'AMB025', 'AMB053', 'AMB065', 'AMB095', 'AMB109', 'AMB113', 'AMB117', 'AMB124', 'AMB128', 'AMB142', 'AMB191', 'AMB194', 'AMB275', 'AMB403', 'COK224', 'COK284', 'COK288',
'MSH016', 'MSH020', 'MSH070', 'MSH072', 'MSH098', 'MSH100', 'MSH106', 'MSH114', 'MSH119', 'MSH157', 'MSH158', 'MSH265', 'MSH266', 'MSH303', 'MSH304', 'MSH366', 'MSH387', 'MSH411',
'MSH414', 'MSH422', 'MSH424', 'MSH433', 'MSH607', 'MSH609', 'MSH626', 'MSH627', 'MSH628', 'MSH630', 'NLA009', 'NLA022', 'NLA044', 'NLA059', 'NLA091', 'NLA148', 'NLA152', 'NLA154',
'NLA231', 'NLA383', 'NTK075', 'SML060', 'SML090', 'TUL027', 'TUL028', 'TUL031', 'TUL055', 'TUL059', 'TUL066', 'TUL208', 'TUL142', 'MSH010', 'MSH255', 'COK179', 'JAP054', 'JAP056',
'JAP067', 'JAP125', 'JAP157', 'JAP160', 'JAP169', 'JAP171', 'JAP178', 'JAP182', 'JAP186', 'JAP198', 'JAP258', 'JAP345', 'JAP354', 'JAP362', 'JAP391', 'JAP413', 'JAP432', 'JAP454',
'JAP459', 'JAP472', 'JAP482', 'JAP501', 'JAP516', 'JAP823', 'JAP827', 'JAP830', 'SMI004', 'SMI016', 'WRS013', 'WRS033', 'WRS053', 'WRS086', 'WRS108', 'WRS111', 'JAP380', 'BIA058',
'BIA061', 'BIA082', 'BIA198', 'BIA212', 'BIA275', 'BIA280', 'BIA281', 'BIA282', 'BTI044', 'BTI103', 'BTI904', 'BTI906', 'COK278', 'COK502', 'MWR002', 'MWR006', 'MWR006', 'MWR006',
'MWR009', 'MWR013', 'MWR046', 'MWR072', 'MWR077', 'MWR106', 'MWR110', 'MWR119', 'MWR127', 'MWR182', 'MWR183', 'MWR185', 'MWR217', 'MWR218', 'MWR222', 'MWR303', 'MWR308', 'MWR366',
'MWR699', 'NAB003', 'NAB014', 'NAB017', 'NAB030', 'NAB036', 'NAB045', 'NAB056', 'NAB067', 'NAB070', 'NAB076', 'NAB093', 'NAB203', 'NAB205', 'NAB208', 'NAB211', 'NTK042', 'NTK059',
'NTK060', 'NTK061', 'SRU002', 'SRU005', 'SRU108', 'SRU109', 'BTI907', 'NAB207', 'MWR319', 'MWR041', 'COK305', 'MXX133', 'SON006', 'SON037', 'SON040', 'SON057', 'SON092', 'SON221',
'SON226', 'SON233', 'SON246', 'SON261', 'SON265', 'SON298', 'SON327', 'SON329', 'SON523', 'TMB002', 'TMB009', 'TMB061', 'WSI002', 'WSI014', 'WSI100', 'COK254', 'MRK101', 'MRK125',
'MRK228', 'MRK235', 'MRK263', 'TIM004', 'TIM010', 'TIM027', 'TIM056', 'TIM057', 'TIM059', 'TIM064', 'TIM069', 'TIM074', 'TIM075', 'TIM083', 'TIM093', 'TIM095', 'TIM121', 'TIM131',
'TIM132', 'TIM142', 'TIM145', 'TIM148', 'TIM149', 'TIM177', 'TIM191', 'TIM194', 'TIM202', 'TIM215', 'TIM223', 'TIM462')
group by m.date
, n.site_id
, sector
, band
order by site_id, sector, date)
select date
, site_id
, sector
, avg(case when band = 'LTE900' then dl_prb_utilization end) as LTE900
, avg(case when band = 'LTE1800' then dl_prb_utilization end) as LTE1800
, avg(case when band = 'LTE2100' then dl_prb_utilization end) as LTE2100
, avg(case when band = 'LTE2300 F1' then dl_prb_utilization end) as LTE2300_F1
, avg(case when band = 'LTE2300 F2' then dl_prb_utilization end) as LTE2300_F2
, avg(case when band = 'LTE2300 F3' then dl_prb_utilization end) as LTE2300_F3
, max(dl_prb_utilization) as max_prb
, min(dl_prb_utilization) as min_prb
, max(dl_prb_utilization) - min(dl_prb_utilization) as delta_prb
, case
when max(dl_prb_utilization) - min(dl_prb_utilization) > 50 then '>50%'
when max(dl_prb_utilization) - min(dl_prb_utilization) < 30 then 'balance'
else '30-50%' end as remark
from master
group by date, site_id, sector
order by site_id, sector, date
;

View File

@ -0,0 +1,49 @@
with master as (select m.tech
, m.date
, site_id
, sum(tch_traffic_erlang) as traffic
, sum(payload_mbyte) as payload_mbyte
from r11.meas_2g_daily m
join network_cell n on m.network_cell_id = n.id
where m.date between '2023-12-01' and '2023-12-01'
group by m.tech
, m.date
, site_id
union
select m.tech
, m.date
, site_id
, sum(volte_traffic_erl) as traffic
, sum(m.payload_mbyte) as payload_mbyte
from r11.meas_4g_daily m
join network_cell n on m.network_cell_id = n.id
where m.date between '2023-12-01' and '2023-12-01'
group by m.tech
, m.date
, site_id
union
select m.tech
, m.date
, site_id
, 0 as traffic
, sum(m.payload) as payload_mbyte
from r11.meas_5g_daily m
join network_cell n on m.network_cell_id = n.id
where m.date between '2023-12-01' and '2023-12-01'
group by m.tech
, m.date
, site_id)
select *
from master
order by tech
, site_id
, date;

View File

@ -0,0 +1,65 @@
with raw as (select datetime
, date
, site_id
, cell_name
, cell as ci
, nds(sum(cell_availability_num), sum(cell_availability_denum)) as avail
, case
when nds(sum(cell_availability_num),
sum(cell_availability_denum)) > 95 then 1
else 0 end avail_flag
, sum(payload_mbyte) as payload_mbyte
, case when sum(payload_mbyte) = 0 then 1 else 0 end payload_mbyte_flag
from r11.meas_4g_hourly raw
join network_cell n on raw.network_cell_id = n.id
where raw.date between date_int(7) and date_int(1)
group by datetime, date, site_id, cell_name, cell),
daily as (select date
, site_id
, cell_name
, ci
, avg(avail)::numeric(100, 2) as avail
, sum(payload_mbyte)::numeric(100, 2) as payload_mbyte
, sum(avail_flag) as count_avail_gt_95
, sum(payload_mbyte_flag) as count_payload_mbyte_eq_0
from raw
group by date, site_id, cell_name, ci)
select *
from daily
order by site_id, cell_name, date
;
-----------2G
with raw as (select datetime
, date
, site_id
, cell_name
, lac as lac
, ci as ci
, nds(sum(num_tch_availability), sum(denum_tch_availability)) as avail
, case
when nds(sum(num_tch_availability),
sum(denum_tch_availability)) > 95 then 1
else 0 end avail_flag
, sum(payload_mbyte) as payload_mbyte
, case when sum(payload_mbyte) = 0 then 1 else 0 end payload_mbyte_flag
from r11.meas_2g_hourly raw
join network_cell n on raw.network_cell_id = n.id
where raw.date between date_int(7) and date_int(1)
group by datetime, date, site_id, cell_name, lac, ci),
daily as (select date
, site_id
, cell_name
, lac
, ci
, avg(avail)::numeric(100, 2) as avail
, sum(payload_mbyte)::numeric(100, 2) as payload_mbyte
, sum(avail_flag) as count_avail_gt_95
, sum(payload_mbyte_flag) as count_payload_mbyte_eq_0
from raw
group by date, site_id, cell_name, lac, ci)
select *
from daily
order by site_id, cell_name, date
;

View File

@ -0,0 +1,97 @@
with master as (select '2G' as tech
, m.datetime
, m.date
, n.site_id
, n.cell_name
, n.lac
, n.ci
, ndp(sum(num_tch_availability), sum(denum_tch_availability)) as availability
, case
when ndp(sum(num_tch_availability), sum(denum_tch_availability)) > 95 then 1
else 0 end as avail_flag_95
, case
when ndp(sum(num_tch_availability), sum(denum_tch_availability)) > 90 then 1
else 0 end as avail_flag_90
, sum(tch_traffic_erlang) as traffic
, case when sum(tch_traffic_erlang) = 0 then 1 else 0 end as traffic_flag
, sum(payload_mbyte) as payload_mbyte
, case when sum(payload_mbyte) = 0 then 1 else 0 end as payload_mbyte_flag
, avg(data_integrity) as data_integrity
from r11.meas_2g_hourly m
join network_cell n on m.network_cell_id = n.id
where date between '2023-12-01' and current_date
and n.site_id in
('COK119', 'JAP032', 'JAP187', 'KRG001', 'KRG003', 'KRG004', 'MUL001', 'MUL006', 'MUL053', 'SMI008', 'SMI024', 'SMI013', 'SMI015', 'SMI016', 'WAM010', 'WAM012', 'WAM020', 'BIA012', 'BIA040',
'BTW002', 'BTW003', 'ENT008', 'ENT010', 'SMI007', 'JAP051', 'JAP031', 'WRS008', 'JAP022', 'JAP115', 'WRS005', 'JAP011', 'JAP013', 'JAP045', 'JAP047', 'JAP054', 'JAP009', 'WRS002', 'JAP041',
'WRS003', 'JAP008', 'JAP070', 'WRS004', 'WAM001', 'JAP060', 'JAP040', 'WAM007', 'JAP090', 'SMI004', 'JAP028', 'WRS001', 'JAP015', 'WAM002', 'WRS009', 'JAP646', 'SMI129', 'SMI128', 'SMI131',
'SMI040')
group by m.datetime
, m.date
, n.site_id
, n.cell_name
, n.lac
, n.ci
union
select '4G' as tech
, m.datetime
, m.date
, n.site_id
, n.cell_name
, n.lac
, n.ci as ci
, ndp(sum(cell_availability_num), sum(cell_availability_denum)) as availability
, case
when ndp(sum(cell_availability_num), sum(cell_availability_denum)) > 95 then 1
else 0 end as avail_flag_95
, case
when ndp(sum(cell_availability_num), sum(cell_availability_denum)) > 90 then 1
else 0 end as avail_flag_90
, sum(volte_traffic_erl) as traffic
, case when sum(volte_traffic_erl) = 0 then 1 else 0 end as traffic_flag
, sum(payload_mbyte) as payload_mbyte
, case when sum(payload_mbyte) = 0 then 1 else 0 end as payload_mbyte_flag
, avg(data_integrity) as data_integrity
from r11.meas_4g_hourly m
join network_cell n on m.network_cell_id = n.id
where date between '2023-12-01' and current_date
and n.site_id in
('COK119', 'JAP032', 'JAP187', 'KRG001', 'KRG003', 'KRG004', 'MUL001', 'MUL006', 'MUL053', 'SMI008', 'SMI024', 'SMI013', 'SMI015', 'SMI016', 'WAM010', 'WAM012', 'WAM020', 'BIA012', 'BIA040',
'BTW002', 'BTW003', 'ENT008', 'ENT010', 'SMI007', 'JAP051', 'JAP031', 'WRS008', 'JAP022', 'JAP115', 'WRS005', 'JAP011', 'JAP013', 'JAP045', 'JAP047', 'JAP054', 'JAP009', 'WRS002', 'JAP041',
'WRS003', 'JAP008', 'JAP070', 'WRS004', 'WAM001', 'JAP060', 'JAP040', 'WAM007', 'JAP090', 'SMI004', 'JAP028', 'WRS001', 'JAP015', 'WAM002', 'WRS009', 'JAP646', 'SMI129', 'SMI128', 'SMI131',
'SMI040')
group by m.datetime
, m.date
, n.site_id
, n.cell_name
, n.lac
, n.ci),
daily as (select tech
, date
, site_id
, cell_name
, lac
, ci
, avg(availability)::numeric(100, 2) as avail
, sum(traffic)::numeric(100, 2) as traffic
, sum(payload_mbyte)::numeric(100, 2) as payload_mbyte
, sum(avail_flag_95) as count_avail_gt_95
, sum(avail_flag_90) as count_avail_gt_90
, sum(traffic_flag) as count_traffic_eq_0
, sum(payload_mbyte_flag) as count_payload_mbyte_eq_0
, avg(data_integrity) as data_integrity
from master
group by tech
, date
, site_id
, cell_name
, lac
, ci)
select *
from daily
order by tech, cell_name, date
;

View File

@ -0,0 +1,97 @@
with ref_week (week) as (values ('202349')),
master as (select datetime
, date
, yearweek
, n.site_id
, n.ne_id
, n.cell_name as cellname
, n.cell as ci
, ndp(num_dl_prb_utilization_percent, denum_dl_prb_utilization_percent) as prbdl
, case when ndp(num_dl_prb_utilization_percent, denum_dl_prb_utilization_percent) >= 90 then 'High' else 'Low' end as flag
from r11.meas_4g_hourly m
join network_cell n on m.network_cell_id = n.id
where date between date_from((select week from ref_week limit 1))
and date_to((select week from ref_week limit 1))
and n.site_id in ('NTK067', 'NTK068')),
master_counting as (select yearweek as week, date, site_id, cellname, ci, count(*) as count, avg(prbdl) as prbdl
from master
where flag = 'High'
group by yearweek, date, site_id, cellname, ci
union
select yearweek as week, date, site_id, cellname, ci, count(*) as count, avg(prbdl) as prbdl
from master
where flag = 'Low'
group by yearweek, date, site_id, cellname, ci),
master_unique as (select step2.week
, dl.date
, step2.site_id
, step2.cellname
, step2.ci
from w dl,
(select week, site_id, cellname, ci
from master_counting
group by week, site_id, cellname, ci) step2
where dl.week = (select week from ref_week limit 1)),
master_combine as (select mu.week
, mu.date
, mu.site_id
, mu.cellname
, mu.ci
, case when mc.count is null then 0 else mc.count end count
, mc.prbdl
from master_unique mu
left join master_counting mc
on mu.week = mc.week
and mu.date = mc.date
and mu.site_id = mc.site_id
and mu.cellname = mc.cellname
order by mu.cellname, mu.date),
master_agg as (select week, site_id, cellname, ci, string_agg(count::text, ',' order by date) as count, avg(prbdl) as avg_prbdl
from master_combine
group by week, site_id, cellname, ci),
result as (select week
, site_id
, cellname
, ci
, avg_prbdl
, split_part(count, ',', 1) as date1_count
, split_part(count, ',', 2) as date2_count
, split_part(count, ',', 3) as date3_count
, split_part(count, ',', 4) as date4_count
, split_part(count, ',', 5) as date5_count
, split_part(count, ',', 6) as date6_count
, split_part(count, ',', 7) as date7_count
, case when split_part(count, ',', 1)::integer >= 8 then 'High' else 'Low' end as date1_status
, case when split_part(count, ',', 2)::integer >= 8 then 'High' else 'Low' end as date2_status
, case when split_part(count, ',', 3)::integer >= 8 then 'High' else 'Low' end as date3_status
, case when split_part(count, ',', 4)::integer >= 8 then 'High' else 'Low' end as date4_status
, case when split_part(count, ',', 5)::integer >= 8 then 'High' else 'Low' end as date5_status
, case when split_part(count, ',', 6)::integer >= 8 then 'High' else 'Low' end as date6_status
, case when split_part(count, ',', 7)::integer >= 8 then 'High' else 'Low' end as date7_status
, case when split_part(count, ',', 1)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 2)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 3)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 4)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 5)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 6)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 7)::integer >= 8 then 1 else 0 end as total_count
, case
when (case when split_part(count, ',', 1)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 2)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 3)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 4)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 5)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 6)::integer >= 8 then 1 else 0 end +
case when split_part(count, ',', 7)::integer >= 8 then 1 else 0 end) >= 3
then 'High Util'
else 'Low Util' end as final
from master_agg
order by cellname)
select *
from result
order by week, cellname