akazmi commited on
Commit
65a5539
·
verified ·
1 Parent(s): 3700744

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -6
app.py CHANGED
@@ -17,10 +17,24 @@ if uploaded_file:
17
  df['YEAR'] = df['INVOICE_DATE'].dt.year
18
  df['MONTH'] = df['INVOICE_DATE'].dt.month
19
 
20
- # User Inputs
 
 
 
 
21
  st.sidebar.header("Filter Options")
22
- product_query = st.sidebar.text_input('Product Name:')
23
- customer_query = st.sidebar.text_input('Customer Name:')
 
 
 
 
 
 
 
 
 
 
24
  start_date = st.sidebar.date_input('Start Date:', df['INVOICE_DATE'].min())
25
  end_date = st.sidebar.date_input('End Date:', df['INVOICE_DATE'].max())
26
 
@@ -29,11 +43,13 @@ if uploaded_file:
29
  (df['INVOICE_DATE'] >= pd.to_datetime(start_date)) &
30
  (df['INVOICE_DATE'] <= pd.to_datetime(end_date))
31
  ]
32
- if product_query:
33
- filtered_df = filtered_df[filtered_df['DESCRIPTION'].str.contains(product_query, case=False, na=False)]
34
- if customer_query:
35
  filtered_df = filtered_df[filtered_df['CUSTOMER_NAME'].str.contains(customer_query, case=False, na=False)]
36
 
 
 
 
37
  # Display Filtered Data
38
  st.write(f"Filtered Data: {len(filtered_df)} records found.")
39
  st.dataframe(filtered_df)
 
17
  df['YEAR'] = df['INVOICE_DATE'].dt.year
18
  df['MONTH'] = df['INVOICE_DATE'].dt.month
19
 
20
+ # Clean whitespace in 'CUSTOMER_NAME' and 'DESCRIPTION'
21
+ df['CUSTOMER_NAME'] = df['CUSTOMER_NAME'].str.strip()
22
+ df['DESCRIPTION'] = df['DESCRIPTION'].str.strip()
23
+
24
+ # Sidebar Filters
25
  st.sidebar.header("Filter Options")
26
+
27
+ # Dropdown for Customer Selection
28
+ customer_list = df['CUSTOMER_NAME'].dropna().unique().tolist()
29
+ customer_list.sort()
30
+ customer_query = st.sidebar.selectbox('Select Customer:', options=["All"] + customer_list)
31
+
32
+ # Dropdown for Product Selection
33
+ product_list = df['DESCRIPTION'].dropna().unique().tolist()
34
+ product_list.sort()
35
+ product_query = st.sidebar.selectbox('Select Product:', options=["All"] + product_list)
36
+
37
+ # Date Range Selection
38
  start_date = st.sidebar.date_input('Start Date:', df['INVOICE_DATE'].min())
39
  end_date = st.sidebar.date_input('End Date:', df['INVOICE_DATE'].max())
40
 
 
43
  (df['INVOICE_DATE'] >= pd.to_datetime(start_date)) &
44
  (df['INVOICE_DATE'] <= pd.to_datetime(end_date))
45
  ]
46
+
47
+ if customer_query != "All":
 
48
  filtered_df = filtered_df[filtered_df['CUSTOMER_NAME'].str.contains(customer_query, case=False, na=False)]
49
 
50
+ if product_query != "All":
51
+ filtered_df = filtered_df[filtered_df['DESCRIPTION'].str.contains(product_query, case=False, na=False)]
52
+
53
  # Display Filtered Data
54
  st.write(f"Filtered Data: {len(filtered_df)} records found.")
55
  st.dataframe(filtered_df)