| 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) |
|
|