How to design simple webpage using code studio
import streamlit as st
import pandas as pd
import numpy as np
import altair as alt
import dataiku
#st.title('Selfserve reports!')
cust_ds = dataiku.Dataset("name of dataset")
df = cust_ds.get_dataframe()
#create list of countries
cntry_lst=df["city"].unique()
#create list of countries
year_lst=df["yearmonth"].unique()
#sel = st.selectbox('Select Market',cntry_lst, key='sel')
cust_seg=df["customer_segment_current"].unique()
sel=st.multiselect('Select City', cntry_lst, default=None,key='sel')
yrs=st.multiselect('Year(s)', year_lst, default=None,key='yrs')
segment=st.multiselect('Segment(s)', cust_seg, default=None,key='seg')
df = df[df["city"].isin (sel) & df["yearmonth"].isin (yrs)]
df2 = df[df["customer_segment_current"].isin (segment)]
#Select dim
dim = df2[['city'
#,'yearmonth'
,'customer_segment_current'
,'customer_nationality'
,'customer_residency'
,'customer_sex'
]]
dim_list = dim.columns
selected_dim=st.multiselect('Select Dimensions', dim_list)
#Select Msr
msr = df2[['ytd_wm_nns'
,'casa_aum'
,'deposit_aum'
,'active_client_count'
,'client_count']]
msr_list = msr.columns
selected_msr=st.multiselect('Select Measures', msr_list)
# Dim list
new = df2.filter(selected_dim, axis=1)
dm_list1 = new.columns.tolist()
# Msr list
new2 = df2.filter(selected_msr, axis=1)
msr_list1 = new2.columns.tolist()
#column_names_list_1 = new2.columns.tolist()
if len(msr_list) !=0:
df1=df2.pivot_table(index=dm_list1,values=msr_list1,aggfunc=sum,columns='yearmonth').reset_index()
st.info("Report")
st.write(df1)
#st.line_chart(df1)
# Create Export button to move data in excel to download in local machine
def convert_for_download(df):
return df1.to_csv().encode("utf-8")
csv = convert_for_download(df1)
st.download_button(
label="Export Data",
data=csv,
file_name="data.csv",
mime="text/csv",
)
Comments
Post a Comment