当前位置: 首页 > news >正文

quickbi实现关联度分析(复刻PowerBI展示)

quickbi实现关联度分析(复刻PowerBI展示)

PowerBI通过DAX创建度量值,可以比较轻松的实现不同产品的关联度分析,即购物篮分析,但如果使用quickbi,则需要通过sql代码创建一个数据集,然后再通过数据集制作图表。

quickbi官方模板市场给出的购物篮分析和finebi官方5.1版本给出的可视化效果类似,但缺点在于无法查看不同日期下的关联度情况,只能查看固定日期不同产品的的关联度。

quickbi关联分析模板:

图片

这篇文章就以powerbi的思路通过quickbi来实现powerbi的动态实现效果。

PowerBI的效果展示:

图片

quickbi的复刻效果展示:

图片

部分样例数据如图:

图片

实现思路:

第一步,计算各产品客户数

SELECT t1.`产品名称`,count(distinct t1.`客户ID`) as 客户数 FROM order_pbi t1group by t1.`产品名称` ;

第二步,计算关联产品客户数​​​​​​​

-- 产品B:公路自行车 -- 产品A:客户数 -- 方法一:不到3秒 SELECT t1.`产品名称` as 产品B, t2.`产品名称` as 产品A, COUNT(distinct t1.`客户ID`) AS 交叉客户数FROM order_pbi t1INNER JOIN order_pbi t2 ON t1.客户ID = t2.客户ID and t1.`产品名称` <> t2.`产品名称`GROUP BY t1.`产品名称`, t2.`产品名称`;-- 方法二:3秒以上-- SELECT p1.`产品名称` AS 产品A, p2.`产品名称` AS 产品B, COUNT(DISTINCT t1.`客户ID`) AS 交叉客户数-- FROM order_pbi t1-- JOIN order_pbi t2 ON t1.客户ID = t2.客户ID AND t1.`产品ID` <> t2.`产品ID`-- JOIN pz_product_pbi_view p1 ON t1.`产品ID` = p1.`产品ID`-- JOIN pz_product_pbi_view p2 ON t2.`产品ID` = p2.`产品ID`-- GROUP BY p1.`产品名称`, p2.`产品名称`;

第三步,计算各产品A销售额

SELECT t1.`产品名称`,sum(t1.销售金额) as 销售额 FROM order_pbi t1group by t1.`产品名称` ;

第四步,计算关联产品的销售额

-- 第四步,计算关联产品的销售额SELECT t2.产品名称 AS 产品A, t1.产品名称 AS 产品B, SUM(t1.销售金额) AS 交叉销售额FROM order_pbi AS t1INNER JOIN (    SELECT DISTINCT `客户ID`, 产品名称    FROM order_pbi ) AS t2 ON t1.`客户ID` = t2.`客户ID` WHERE t1.产品名称 <> t2.产品名称GROUP BY t1.产品名称,t2.产品名称;

第五步,代码合并

第六步,quickbi中创建sql数据集,并使用占位符(日期格式)

第七步,通过数据集制作图表

图片

http://www.xdnf.cn/news/573769.html

相关文章:

  • 【深度学习:理论篇】--Pytorch之nn.Module详解
  • 嵌入式开发学习日志(linux系统编程--文件读写函数(2))Day25
  • 算法——数组代码
  • RECCV检测人脸伪造项目尝试与扩展
  • 深度学习实战108-基于通义千问Qwen2.5-Omni的智能数字人实时对话系统实现
  • 免费使用GPU的探索笔记
  • 采用排除法进行EMC问题定位
  • 采用线性优化改进评估配电网的灵活性范围
  • Linux服务器SOS Report完全指南:收集方法、作用解析与最佳实践
  • git checkout HEAD
  • C++11语言级别的多线程
  • 5月21日
  • 云渲染技术解析与渲酷平台深度测评:如何实现高效3D创作?
  • 为什么可以不重写m1方法
  • Multi-Query Attention:传统自注意力( Self-Attention)优化显存和加速方案
  • IP核警告,Bus Interface ‘AD_clk‘: ASSOCIATED_BUSIF bus parameter is missing.
  • python生成requirements.txt文件
  • ABC 353
  • ROS2 CV_bridge与opencv版本冲突
  • 学习 Pinia 状态管理【Plan - May - Week 2】
  • 创建一个element plus项目
  • [C++入门]类和对象下
  • 东莞一锂离子电池公司IPO终止,客户与供应商重叠,社保缴纳情况引疑
  • GitLab 配置 webhook
  • 越小越优先和越大越优先
  • oracle使用SPM控制执行计划
  • 使用Redis的Bitmap实现了签到功能
  • iPaaS集成平台技术选型关注哪些指标?
  • HJ20 密码验证合格程序【牛客网】
  • 测试W5500的第4步_使用ioLibrary库创建UDP客户端和服务器端