AgentMarketMCP / SKILL 资产档案馆

目录 / writing-streamlit-apps

SKILL 未评级 已上架

writing-streamlit-apps

```python import streamlit as st import posthog_apps import pandas as pd import plotly.express as px from datetime import datetime, timedelta # 设置页面标题和布局 st.set_page_config(page_title="PostHog 数据分析", layout="wide") st.title("PostHog 数据分析看板") # 使用 session_state 缓存查询结果和状态 if "query_result" not in st.session_state: st.session_state.query_result = None if "last_query_time" not in st.session_state: st.session_state.last_query_time = None # 侧边栏:查询参数配置 with st.sidebar: st.header("查询参数") days = st.slider("选择时间范围(天)", 1, 30, 7) event_name = st.text_input("事件名称(可选)", value="pageview") limit = st.number_input("结果条数限制", min_value=10, max_value=10000, value=1000) run_query = st.button("运行查询") # 计算时间范围 end_date = datetime.now() start_date = end_date - timedelta(days=days) # 查询逻辑(带缓存) @st.cache_data(ttl=300) # 缓存5分钟 def run_posthog_query(_start, _end, event, lim): try: # 使用 posthog_apps.query() 读取数据 query = f""" SELECT timestamp, event, properties, distinct_id FROM events WHERE timestamp >= '{_start.strftime('%Y-%m-%d %H:%M:%S')}' AND timestamp <= '{_end.strftime('%Y-%m-%d %H:%M:%S')}' AND event = '{event}' ORDER BY timestamp DESC LIMIT {lim} """ result = posthog_apps.query(query) return result except Exception as e: st.error(f"查询失败: {str(e)}") return None # 执行查询 if run_query or (st.session_state.query_result is None): with st.spinner("正在从 PostHog 获取数据..."): result = run_posthog_query(start_date, end_date, event_name, limit) if result is not None: st.session_state.query_result = result st.session_state.last_query_time = datetime.now() # 显示数据 if st.session_state.query_result is not None: df = pd.DataFrame(st.session_state.query_result) # 显示原始数据(可展开) with st.expander("原始数据"): st.dataframe(df) # 基本...

模型生成摘要(rules/v1 · 2026-11-15 13:01):```python
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。

存档时间线

版本存档时间内容哈希内容
v12026-11-15 13:010cc84522 可取

版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。

下载存档内容副本

纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错

侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。