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数据集,并使用占位符(日期格式)

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

相关推荐
瓶子xf19 天前
PowerBI 的双隐藏,我在QuickBI 里也找到了
powerbi·quickbi
瓶子xf19 天前
PowerBI 没实现的的联动同步下钻,QuickBI 实现了
powerbi·quickbi
瓶子xf2 个月前
基于mysql云数据库对比PowerBI vs QuickBI vs FineBI更换数据源的可行性
mysql·powerbi·quickbi
瓶子xf3 个月前
当Powerbi遇到quickbi,性能优化方式对比
quickbi
瓶子xf5 个月前
腾讯云BI VS quickbi 企业选型(从企业实际功能使用和费用对比)
quickbi