SuperAPI AI 工具集

power-bi-retail-analytics-salespulse360

数据与分析

查看项目

更新于 10-15 02:10

技能介绍

SalesPulse 360 是一个基于 Power BI 的零售分析仪表板技能,属于 Data Skills 集合。它帮助 AI 智能体协助开发者部署、定制和维护 SalesPulse 360 Power BI 仪表板——一个面向 Global Superstore 销售数据的综合零售分析方案,具备多区域利润分析、预测性预测和自动告警能力。

用途 SalesPulse 360 将原始零售交易数据转化为交互式指挥中心,主要面向零售与电商场景的销售、利润和区域绩效分析。仪表板基于 Global Superstore 数据集(2011-2015),也可适配具有类似架构的其他零售或电商数据源。

主要能力

  • 多粒度销售/利润分析(全球 → 交易级别)
  • 带 12 个月置信区间的预测性预测
  • 针对利润率和退货率阈值的自动异常告警
  • 多语言支持与文化本地化(英语、西班牙语、法语、德语、普通话)
  • 基于区域的行级安全(RLS)
  • 适配桌面/平板/手机的响应式布局
  • 24/7 自动刷新引擎,用于实时数据同步

安装与设置 前置条件:Power BI Desktop(2.120 或更高版本)、Power BI Service 账户(Pro 或 Premium 用于发布)、现代 Web 浏览器用于 HTML 界面,可选 SQL Server 或 Azure SQL 作为生产数据源。

步骤 1:克隆仓库 git clone https://github.com/MahbubNibir/power-bi-retail-analytics-viz.git cd power-bi-retail-analytics-viz

步骤 2:解压数据集 unzip data/global_superstore.zip -d data/ 或 tar -xzf data/global_superstore.tar.gz -C data/

步骤 3:打开 Power BI 文件 powershell -Command "Start-Process 'SalesPulse360.pbix'" 或直接双击 SalesPulse360.pbix。首次加载时,Power BI Desktop 会执行数据转换管道(M 查询)、应用数据清洗规则、构建计算度量值和列、初始化刷新计划设置。完整数据集(9,994 行)在标准硬件上预计加载时间为 2-3 分钟。

关键组件与配置 数据源配置:仪表板使用 Power Query(M 语言)进行数据摄取,默认源为本地 CSV,也可重定向到实时数据库。在 Power Query Editor 中选择 "Source" 步骤,更新文件路径或连接字符串。本地 CSV 使用 Csv.Document(File.Contents(...)),SQL Server 使用 Sql.Database(...)。

阈值校准:仪表板包含一个 Settings 表控制告警阈值,位于 Model View → Settings 表。参数包括 ProfitMarginThreshold(默认 15%,低于时告警)、ReturnRateWarning(默认 8%,退货超过时告警)、RollingAverageDays(默认 90,MA 计算周期)、ForecastMonths(默认 12,预测范围)。可通过 DAX 的 DATATABLE 创建或更新 Settings 表。

计算度量值(DAX):驱动仪表板分析的关键度量值包括 Total Sales、Total Profit、Profit Margin、MAT Sales(移动年度总计)、PoP Growth(环比增长)、Profit Alert(利润率告警哨兵系统)、Forecast Sales(12 个月预测)。注意 Power BI 原生预测使用内置分析窗格;自定义预测需集成 Python/R 脚本或 Azure ML。

行级安全(RLS):在 Model View → Manage Roles 中按区域创建角色,例如 [Region] = "South"、[Region] IN {"South", "Central"} 或 1 = 1(全部访问)。通过 Model View → View As 测试 RLS,发布后在 Power BI Service → Workspace → Dataset Settings → Security 中分配 Azure AD 用户/组。

发布到 Power BI Service 步骤 1:从 Desktop 发布(File → Publish → 选择工作区,或 Alt+Shift+P)。 步骤 2:配置计划刷新(Power BI Service → Workspace → Dataset → Settings → Scheduled refresh),可设置每日频率、时间、时区、失败通知和网关连接。近实时更新可配置流式数据集,通过 C# 的 PowerBI API 推送数据行。

常见模式与用例

  • 下钻导航:在 Model View 创建 Region → Country → City → PostalCode 层级,在地图视觉对象中使用下钻模式。
  • 使用 Power Automate 的自定义告警:在数据集刷新完成时触发,查询利润率低于阈值的订单,条件满足时发送邮件告警。
  • 多语言本地化:创建 Translations 表,使用语言选择器切片器,通过 DAX 的 SWITCH 和 LOOKUPVALUE 实现动态标签。
  • 导出数据供外部分析:在 Power BI Desktop 中使用 Python 脚本(External Tools → Python),继承当前仪表板状态过滤数据并导出为 CSV。

HTML 界面定制 仓库包含用于 Web 部署的 HTML 落地页(index.html),可通过 iframe 嵌入 Power BI 报告,并使用 powerbi-client JavaScript 库(CDN 版本 2.19.0)配置嵌入参数。嵌入令牌通过 Node.js 后端使用 @azure/msal-node 和 axios 生成。

故障排查

  • 数据刷新失败:检查网关连接(Test-NetConnection)、验证凭据、配置防火墙规则。
  • 仪表板性能缓慢:优化 DAX 度量值(避免对大表使用迭代器)、减小数据模型大小(在 Power Query 中尽早过滤)、启用查询折叠(对 SQL 源使用原生查询)。
  • RLS 过滤不正确:验证角色定义使用正确列、检查用户分配、使用 username() 测试动态 RLS。
  • 预测不显示:启用分析窗格、确保日期表连续性、满足最小数据点要求(每月预测至少 24 个月历史)。

环境变量参考 项目使用环境变量进行安全配置,包括 SQL_SERVER、SQL_DATABASE、POWERBI_ACCESS_TOKEN、POWERBI_DATASET_ID、POWERBI_REPORT_ID、AZURE_CLIENT_ID、AZURE_CLIENT_SECRET、AZURE_TENANT_ID、ALERT_RECIPIENT_EMAIL。切勿提交到版本控制,本地使用 .env 文件,生产环境使用 Key Vault。

高级定制

  • 添加新数据源:通过 Power Query 合并 Salesforce 等 CRM 或库存系统数据。
  • 自定义视觉对象集成:从 AppSource 下载 .pbiviz 文件,在 Power BI Desktop 中导入。

限制 资料未提供该技能的收费、价格、平台限制或效果保证等信息。预测功能依赖 Power BI 原生分析窗格或外部 Python/R/Azure ML 集成,自定义预测的具体实现细节资料中未完整给出。