Prasanna1622 commited on
Commit
f394a2b
·
verified ·
1 Parent(s): b242679

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -0
app.py CHANGED
@@ -11,6 +11,60 @@ st.title("📡 VIEP Smart Poles Dashboard")
11
  # Get data
12
  df = fetch_poles()
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  # 1. System Summary (Show first)
15
  display_dashboard(df)
16
 
 
11
  # Get data
12
  df = fetch_poles()
13
 
14
+
15
+
16
+ # Fetch the raw data from Salesforce
17
+ df = fetch_poles()
18
+
19
+ # Sidebar Filters (your code should go here!)
20
+ st.sidebar.header("📁 Filter Data")
21
+
22
+ selected_alert_levels = st.sidebar.multiselect(
23
+ "Alert Level", ["Red", "Yellow", "Green"], default=["Red", "Yellow", "Green"]
24
+ )
25
+
26
+ selected_sites = st.sidebar.multiselect(
27
+ "Site", ["Hyderabad", "Gadwal", "Kurnool", "Ballari"],
28
+ default=["Hyderabad", "Gadwal", "Kurnool", "Ballari"]
29
+ )
30
+
31
+ selected_camera_status = st.sidebar.selectbox(
32
+ "Camera Status", ["All", "Online", "Offline"]
33
+ )
34
+
35
+ # Apply filters to create filtered_df
36
+ filtered_df = df[
37
+ (df["Alert_Level__c"].isin(selected_alert_levels)) &
38
+ (df["Site__c"].isin(selected_sites))
39
+ ]
40
+
41
+ if selected_camera_status != "All":
42
+ filtered_df = filtered_df[filtered_df["Camera_Status__c"] == selected_camera_status]
43
+
44
+ # Now use filtered_df everywhere
45
+
46
+ # Show system summary
47
+ display_dashboard(filtered_df)
48
+
49
+ # Show pole table
50
+ st.subheader("📋 Pole Table")
51
+ st.dataframe(filtered_df)
52
+
53
+ # Show charts
54
+ display_charts(filtered_df)
55
+
56
+ # Tilt vs Vibration Scatter Plot
57
+ st.subheader("📈 Tilt vs Vibration")
58
+ fig_tv = px.scatter(
59
+ filtered_df,
60
+ x="Tilt_Angle__c",
61
+ y="Vibration_Level__c",
62
+ color="Alert_Level__c",
63
+ hover_name="Name",
64
+ title="Tilt Angle vs Vibration Level"
65
+ )
66
+ st.plotly_chart(fig_tv)
67
+
68
  # 1. System Summary (Show first)
69
  display_dashboard(df)
70