|
import plotly.express as px |
|
import streamlit as st |
|
|
|
from utils.rnc_bsc_lac_count_chart import ( |
|
create_bar_chart, |
|
create_lac_count_per_controller_subplots, |
|
) |
|
from utils.utils_vars import ( |
|
GsmAnalysisData, |
|
LteFddAnalysisData, |
|
LteTddAnalysisData, |
|
SiteAnalysisData, |
|
WcdmaAnalysisData, |
|
) |
|
|
|
|
|
def dump_analysis_space(): |
|
|
|
st.title("ANALYTICS DATA") |
|
|
|
|
|
|
|
st.subheader(":violet[SITE ANALYTICS DATA]") |
|
|
|
( |
|
total_number_of_site_col, |
|
total_munber_of_gsm_site_col, |
|
total_munber_of_wcdma_site_col, |
|
total_munber_of_lte_site_col, |
|
) = st.columns((1, 1, 1, 1)) |
|
with total_number_of_site_col: |
|
st.metric("Number of Site", SiteAnalysisData.total_number_of_site) |
|
with total_munber_of_gsm_site_col: |
|
st.metric("Number of GSM Site", SiteAnalysisData.total_munber_of_gsm_site) |
|
with total_munber_of_wcdma_site_col: |
|
st.metric("Number of WCDMA Site", SiteAnalysisData.total_number_of_wcdma_site) |
|
with total_munber_of_lte_site_col: |
|
st.metric("Number of LTE Site", SiteAnalysisData.total_number_of_lte_site) |
|
|
|
st.markdown("***") |
|
st.markdown(":violet[**Gsm Bands Distribution**]") |
|
gsm_distribution_data_col, gsm_distribution_plot_col = st.columns(2) |
|
with gsm_distribution_data_col: |
|
st.write(SiteAnalysisData.gsm_bands_distribution) |
|
with gsm_distribution_plot_col: |
|
st.bar_chart(SiteAnalysisData.gsm_bands_distribution, horizontal=True) |
|
|
|
st.markdown("***") |
|
st.markdown(":violet[**Wcdma Bands Distribution**]") |
|
wcdma_distribution_data_col, wcdma_distribution_plot_col = st.columns(2) |
|
with wcdma_distribution_data_col: |
|
st.write(SiteAnalysisData.wcdma_bands_distribution) |
|
with wcdma_distribution_plot_col: |
|
st.bar_chart(SiteAnalysisData.wcdma_bands_distribution, horizontal=True) |
|
|
|
st.markdown("***") |
|
st.markdown(":violet[**Lte Bands Distribution**]") |
|
lte_distribution_data_col, lte_distribution_plot_col = st.columns(2) |
|
with lte_distribution_data_col: |
|
st.write(SiteAnalysisData.lte_bands_distribution) |
|
with lte_distribution_plot_col: |
|
st.bar_chart(SiteAnalysisData.lte_bands_distribution, horizontal=True) |
|
|
|
st.markdown("***") |
|
st.markdown(":violet[**All Bands Distribution**]") |
|
all_bands_distribution_data_col, all_bands_distribution_plot_col = st.columns(2) |
|
with all_bands_distribution_data_col: |
|
st.write(SiteAnalysisData.all_bands_distribution) |
|
with all_bands_distribution_plot_col: |
|
st.bar_chart(SiteAnalysisData.all_bands_distribution) |
|
|
|
st.markdown("***") |
|
st.markdown(":violet[**Number of Trx per Site Distribution**]") |
|
( |
|
number_of_trx_per_site_distribution_data_col, |
|
number_of_trx_per_site_distribution_plot_col, |
|
) = st.columns(2) |
|
with number_of_trx_per_site_distribution_data_col: |
|
st.write(SiteAnalysisData.number_of_trx_per_site_distribution) |
|
with number_of_trx_per_site_distribution_plot_col: |
|
st.bar_chart(SiteAnalysisData.number_of_trx_per_site_distribution) |
|
|
|
st.subheader(":blue[GSM ANALYTICS DATA]") |
|
|
|
( |
|
number_of_bsc_col, |
|
number_of_cell_col, |
|
number_of_site_col, |
|
number_of_empty_bts_name_col, |
|
number_of_empty_bcf_name_col, |
|
number_of_cell_with_empty_bcch_col, |
|
) = st.columns((1, 1, 1, 1, 1, 1)) |
|
|
|
with number_of_bsc_col: |
|
st.metric("Number of BSC", GsmAnalysisData.total_number_of_bsc) |
|
with number_of_cell_col: |
|
st.metric("Number of Cell", GsmAnalysisData.total_number_of_cell) |
|
with number_of_site_col: |
|
st.metric("Number of Site", GsmAnalysisData.number_of_site) |
|
with number_of_empty_bts_name_col: |
|
st.metric("Empty BTS name", GsmAnalysisData.number_of_bts_name_empty) |
|
with number_of_empty_bcf_name_col: |
|
st.metric("Empty BCF name", GsmAnalysisData.number_of_bcf_name_empty) |
|
with number_of_cell_with_empty_bcch_col: |
|
st.metric("Empty BCCH", GsmAnalysisData.number_of_bcch_empty) |
|
|
|
st.markdown("***") |
|
st.markdown(":blue[**Number of TRX per BSC**]") |
|
number_of_trx_per_bsc_data_col, number_of_trx_per_bsc_plot_col = st.columns(2) |
|
with number_of_trx_per_bsc_data_col: |
|
st.write(GsmAnalysisData.number_of_trx_per_bsc) |
|
with number_of_trx_per_bsc_plot_col: |
|
st.bar_chart(GsmAnalysisData.number_of_trx_per_bsc) |
|
|
|
st.markdown("***") |
|
st.markdown(":blue[**Number of Site per BSC**]") |
|
number_of_site_per_bsc_data_col, number_of_site_per_bsc_plot_col = st.columns(2) |
|
with number_of_site_per_bsc_data_col: |
|
st.write(GsmAnalysisData.number_of_site_per_bsc) |
|
with number_of_site_per_bsc_plot_col: |
|
st.bar_chart(GsmAnalysisData.number_of_site_per_bsc) |
|
|
|
st.markdown("***") |
|
st.markdown(":blue[**Number of Cell per BSC**]") |
|
number_of_cell_per_bsc_data_col, number_of_cell_per_bsc_plot_col = st.columns(2) |
|
with number_of_cell_per_bsc_data_col: |
|
st.write(GsmAnalysisData.number_of_cell_per_bsc) |
|
with number_of_cell_per_bsc_plot_col: |
|
st.bar_chart(GsmAnalysisData.number_of_cell_per_bsc) |
|
|
|
st.markdown("***") |
|
st.markdown(":blue[**BTS AdminState Distribution**]") |
|
bts_administate_distribution_data_col, bts_administate_distribution_plot_col = ( |
|
st.columns(2) |
|
) |
|
with bts_administate_distribution_data_col: |
|
st.write(GsmAnalysisData.bts_administate_distribution) |
|
with bts_administate_distribution_plot_col: |
|
st.bar_chart(GsmAnalysisData.bts_administate_distribution) |
|
|
|
st.markdown("***") |
|
st.markdown(":blue[**Number of Site per LAC**]") |
|
number_of_site_per_lac_data_col, number_of_site_per_lac_plot_col = st.columns(2) |
|
with number_of_site_per_lac_data_col: |
|
st.write(GsmAnalysisData.number_of_site_per_lac) |
|
with number_of_site_per_lac_plot_col: |
|
fig = create_lac_count_per_controller_subplots( |
|
df=GsmAnalysisData.number_of_site_per_lac, |
|
controller_column="BSC_NAME_ID", |
|
lac_column="LAC", |
|
count_column="count", |
|
fig_title="Number of Site per LAC and BSC", |
|
) |
|
st.plotly_chart(fig) |
|
|
|
st.markdown("***") |
|
st.markdown(":blue[**Number of Cell per LAC**]") |
|
number_of_cell_per_lac_data_col, number_of_cell_per_lac_plot_col = st.columns(2) |
|
with number_of_cell_per_lac_data_col: |
|
st.write(GsmAnalysisData.number_of_cell_per_lac) |
|
with number_of_cell_per_lac_plot_col: |
|
fig = create_lac_count_per_controller_subplots( |
|
df=GsmAnalysisData.number_of_cell_per_lac, |
|
controller_column="BSC_NAME_ID", |
|
lac_column="LAC", |
|
count_column="count", |
|
fig_title="Number of Cell per LAC and BSC", |
|
) |
|
st.plotly_chart(fig) |
|
|
|
st.markdown("***") |
|
st.markdown(":blue[**TRX AdminState Distribution**]") |
|
trx_administate_distribution_data_col, trx_administate_distribution_plot_col = ( |
|
st.columns(2) |
|
) |
|
with trx_administate_distribution_data_col: |
|
st.write(GsmAnalysisData.trx_administate_distribution) |
|
with trx_administate_distribution_plot_col: |
|
st.bar_chart(GsmAnalysisData.trx_administate_distribution) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
st.markdown("***") |
|
st.markdown(":blue[**TRX Frequency Distribution**]") |
|
trx_frequency_distribution_data_col, trx_frequency_distribution_plot_col = ( |
|
st.columns(2) |
|
) |
|
with trx_frequency_distribution_data_col: |
|
st.write(GsmAnalysisData.trx_frequency_distribution) |
|
with trx_frequency_distribution_plot_col: |
|
st.bar_chart(GsmAnalysisData.trx_frequency_distribution) |
|
|
|
|
|
st.subheader(":green[WCDMA ANALYTICS DATA]") |
|
|
|
( |
|
number_of_rnc_col, |
|
number_of_cell_col, |
|
number_of_site_col, |
|
empty_wbts_name_col, |
|
empty_wcel_name_col, |
|
) = st.columns(5) |
|
|
|
with number_of_rnc_col: |
|
st.metric("Number of RNC", WcdmaAnalysisData.total_number_of_rnc) |
|
with number_of_cell_col: |
|
st.metric("Number of Cell", WcdmaAnalysisData.total_number_of_wcel) |
|
with number_of_site_col: |
|
st.metric("Number of Site", WcdmaAnalysisData.number_of_site) |
|
with empty_wbts_name_col: |
|
st.metric("Empty WBTS name", WcdmaAnalysisData.number_of_empty_wbts_name) |
|
with empty_wcel_name_col: |
|
st.metric("Empty WCEL name", WcdmaAnalysisData.number_of_empty_wcel_name) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":green[**Number of Cell per RNC**]") |
|
number_of_cell_per_rnc_data_col, number_of_cell_per_rnc_plot_col = st.columns(2) |
|
with number_of_cell_per_rnc_data_col: |
|
st.write(WcdmaAnalysisData.number_of_cell_per_rnc) |
|
with number_of_cell_per_rnc_plot_col: |
|
st.bar_chart(WcdmaAnalysisData.number_of_cell_per_rnc) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":green[**Number of Site per RNC**]") |
|
number_of_site_per_rnc_data_col, number_of_site_per_rnc_plot_col = st.columns(2) |
|
with number_of_site_per_rnc_data_col: |
|
st.write(WcdmaAnalysisData.number_of_site_per_rnc) |
|
with number_of_site_per_rnc_plot_col: |
|
|
|
st.bar_chart(WcdmaAnalysisData.number_of_site_per_rnc) |
|
|
|
st.markdown("***") |
|
st.markdown(":green[**Number of Site per LAC**]") |
|
number_of_site_per_lac_data_col, number_of_site_per_lac_plot_col = st.columns(2) |
|
with number_of_site_per_lac_data_col: |
|
st.write(WcdmaAnalysisData.number_of_site_per_lac) |
|
with number_of_site_per_lac_plot_col: |
|
fig = create_lac_count_per_controller_subplots( |
|
df=WcdmaAnalysisData.number_of_site_per_lac, |
|
controller_column="RNC", |
|
lac_column="LAC", |
|
count_column="Site_Count", |
|
fig_title="Number of Site per LAC and RNC", |
|
) |
|
st.plotly_chart(fig) |
|
|
|
st.markdown("***") |
|
st.markdown(":green[**Number of Cell per LAC**]") |
|
number_of_cell_per_lac_data_col, number_of_cell_per_lac_plot_col = st.columns(2) |
|
with number_of_cell_per_lac_data_col: |
|
st.write(WcdmaAnalysisData.number_of_cell_per_lac) |
|
|
|
with number_of_cell_per_lac_plot_col: |
|
fig = create_lac_count_per_controller_subplots( |
|
df=WcdmaAnalysisData.number_of_cell_per_lac, |
|
controller_column="RNC", |
|
lac_column="LAC", |
|
count_column="LAC_Count", |
|
fig_title="Number of Cell per LAC and RNC", |
|
) |
|
st.plotly_chart(fig) |
|
|
|
st.markdown("***") |
|
st.markdown(":green[**WCEL AdminState Distribution**]") |
|
wcel_administate_distribution_data_col, wcel_administate_distribution_plot_col = ( |
|
st.columns(2) |
|
) |
|
with wcel_administate_distribution_data_col: |
|
st.write(WcdmaAnalysisData.wcel_administate_distribution) |
|
with wcel_administate_distribution_plot_col: |
|
st.bar_chart(WcdmaAnalysisData.wcel_administate_distribution) |
|
|
|
st.markdown("***") |
|
st.markdown(":green[**Primary Scrambling Code Distribution**]") |
|
psc_distribution_data_col, psc_distribution_plot_col = st.columns(2) |
|
with psc_distribution_data_col: |
|
st.write(WcdmaAnalysisData.psc_distribution) |
|
with psc_distribution_plot_col: |
|
st.bar_chart(WcdmaAnalysisData.psc_distribution) |
|
|
|
st.subheader(":red[LTE FDD ANALYTICS DATA]") |
|
|
|
( |
|
fdd_total_number_of_lncel_col, |
|
fdd_total_number_of_site_col, |
|
fdd_number_of_empty_lncel_name_col, |
|
fdd_number_of_empty_lncel_cellname_col, |
|
fdd_number_of_empty_lnbts_name_col, |
|
) = st.columns(5) |
|
|
|
with fdd_total_number_of_lncel_col: |
|
st.metric("Nbr of Lncel", LteFddAnalysisData.total_number_of_lncel) |
|
with fdd_total_number_of_site_col: |
|
st.metric("Nbr of Site", LteFddAnalysisData.total_number_of_site) |
|
with fdd_number_of_empty_lncel_name_col: |
|
st.metric("Empty name", LteFddAnalysisData.number_of_empty_lncel_name) |
|
with fdd_number_of_empty_lncel_cellname_col: |
|
st.metric("Empty Cellname", LteFddAnalysisData.number_of_empty_lncel_cellname) |
|
with fdd_number_of_empty_lnbts_name_col: |
|
st.metric("Empty LNBTS name", LteFddAnalysisData.number_of_empty_lnbts_name) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":red[**Number of Cell per Band**]") |
|
fdd_number_of_cell_per_band_data_col, fdd_number_of_cell_per_band_plot_col = ( |
|
st.columns(2) |
|
) |
|
|
|
with fdd_number_of_cell_per_band_data_col: |
|
st.write(LteFddAnalysisData.number_of_cell_per_band) |
|
with fdd_number_of_cell_per_band_plot_col: |
|
st.bar_chart(LteFddAnalysisData.number_of_cell_per_band) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":red[**PhyCellId Distribution**]") |
|
fdd_phycellid_distribution_data_col, fdd_phycellid_distribution_plot_col = ( |
|
st.columns(2) |
|
) |
|
with fdd_phycellid_distribution_data_col: |
|
st.write(LteFddAnalysisData.phycellid_distribution) |
|
with fdd_phycellid_distribution_plot_col: |
|
st.bar_chart(LteFddAnalysisData.phycellid_distribution) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":red[**Root Sequence Index Distribution**]") |
|
( |
|
fdd_rootsequenceindex_distribution_data_col, |
|
fdd_rootsequenceindex_distribution_plot_col, |
|
) = st.columns(2) |
|
with fdd_rootsequenceindex_distribution_data_col: |
|
st.write(LteFddAnalysisData.rootsequenceindex_distribution) |
|
with fdd_rootsequenceindex_distribution_plot_col: |
|
st.bar_chart(LteFddAnalysisData.rootsequenceindex_distribution) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":red[**LNCel Administate Distribution**]") |
|
( |
|
fdd_lncel_administate_distribution_data_col, |
|
fdd_lncel_administate_distribution_plot_col, |
|
) = st.columns(2) |
|
with fdd_lncel_administate_distribution_data_col: |
|
st.write(LteFddAnalysisData.lncel_administate_distribution) |
|
with fdd_lncel_administate_distribution_plot_col: |
|
st.bar_chart(LteFddAnalysisData.lncel_administate_distribution) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":red[**Number of Cell per TAC**]") |
|
fdd_number_of_cell_per_tac_data_col, fdd_number_of_cell_per_tac_plot_col = ( |
|
st.columns(2) |
|
) |
|
with fdd_number_of_cell_per_tac_data_col: |
|
st.write(LteFddAnalysisData.number_of_cell_per_tac) |
|
with fdd_number_of_cell_per_tac_plot_col: |
|
st.bar_chart(LteFddAnalysisData.number_of_cell_per_tac) |
|
|
|
|
|
st.subheader(":orange[LTE TDD ANALYTICS DATA]") |
|
|
|
( |
|
tdd_total_number_of_lncel_col, |
|
tdd_total_number_of_site_col, |
|
tdd_number_of_empty_lncel_name_col, |
|
tdd_number_of_empty_lncel_cellname_col, |
|
tdd_number_of_empty_lnbts_name_col, |
|
) = st.columns(5) |
|
|
|
with tdd_total_number_of_lncel_col: |
|
st.metric("Nbr of Lncel", LteTddAnalysisData.total_number_of_lncel) |
|
with tdd_total_number_of_site_col: |
|
st.metric("Nbr of Site", LteTddAnalysisData.total_number_of_site) |
|
with tdd_number_of_empty_lncel_name_col: |
|
st.metric("Empty name", LteTddAnalysisData.number_of_empty_lncel_name) |
|
with tdd_number_of_empty_lncel_cellname_col: |
|
st.metric("Empty Cellname", LteTddAnalysisData.number_of_empty_lncel_cellname) |
|
with tdd_number_of_empty_lnbts_name_col: |
|
st.metric("Empty LNBTS name", LteTddAnalysisData.number_of_empty_lnbts_name) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":orange[**Number of Cell per Band**]") |
|
tdd_number_of_cell_per_band_data_col, tdd_number_of_cell_per_band_plot_col = ( |
|
st.columns(2) |
|
) |
|
|
|
with tdd_number_of_cell_per_band_data_col: |
|
st.write(LteTddAnalysisData.number_of_cell_per_band) |
|
with tdd_number_of_cell_per_band_plot_col: |
|
st.bar_chart(LteTddAnalysisData.number_of_cell_per_band) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":orange[**PhyCellId Distribution**]") |
|
tdd_phycellid_distribution_data_col, tdd_phycellid_distribution_plot_col = ( |
|
st.columns(2) |
|
) |
|
with tdd_phycellid_distribution_data_col: |
|
st.write(LteTddAnalysisData.phycellid_distribution) |
|
with tdd_phycellid_distribution_plot_col: |
|
st.bar_chart(LteTddAnalysisData.phycellid_distribution) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":orange[**Root Sequence Index Distribution**]") |
|
( |
|
tdd_rootsequenceindex_distribution_data_col, |
|
tdd_rootsequenceindex_distribution_plot_col, |
|
) = st.columns(2) |
|
with tdd_rootsequenceindex_distribution_data_col: |
|
st.write(LteTddAnalysisData.rootsequenceindex_distribution) |
|
with tdd_rootsequenceindex_distribution_plot_col: |
|
st.bar_chart(LteTddAnalysisData.rootsequenceindex_distribution) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":orange[**LNCel Administate Distribution**]") |
|
( |
|
tdd_lncel_administate_distribution_data_col, |
|
tdd_lncel_administate_distribution_plot_col, |
|
) = st.columns(2) |
|
with tdd_lncel_administate_distribution_data_col: |
|
st.write(LteTddAnalysisData.lncel_administate_distribution) |
|
with tdd_lncel_administate_distribution_plot_col: |
|
st.bar_chart(LteTddAnalysisData.lncel_administate_distribution) |
|
|
|
st.markdown("***") |
|
|
|
st.markdown(":orange[**Number of Cell per TAC**]") |
|
tdd_number_of_cell_per_tac_data_col, tdd_number_of_cell_per_tac_plot_col = ( |
|
st.columns(2) |
|
) |
|
with tdd_number_of_cell_per_tac_data_col: |
|
st.write(LteTddAnalysisData.number_of_cell_per_tac) |
|
with tdd_number_of_cell_per_tac_plot_col: |
|
st.bar_chart(LteTddAnalysisData.number_of_cell_per_tac) |
|
|