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") ####################### SITE 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) ####################### GSM ANALYTICS DATA ####################################### 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) # fig = create_bar_chart( # df=GsmAnalysisData.trx_administate_distribution, # title="TRX AdminState Distribution", # ) # st.plotly_chart(fig) 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) ####################### WCDMA ANALYTICS DATA ####################################### 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: # fig = px.bar 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) ####################### LTE FDD ANALYTICS DATA ####################################### 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) ####################### LTE TDD ANALYTICS DATA ####################################### 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)