用PowerBI的思想解决QuickBI文本无法动态配色问题
用PowerBI的思想解决QuickBI文本无法动态配色问题
最近我写了很多篇关于PowerBI 和 QuickBI的功能对比文章。
通过进行两种,甚至多种工具的对比,不是说要区分出哪种工具好,哪种工具不好,而是从中发现其中的思想,或者说一个方向,一个思路。
比如说之前分享的案例演示 切片器悬浮永驻 Power BI VS QuickBI ,不得不说,两个极端了 ,就是想表达如果我们把眼界看向多个BI工具,我们能从不同的工具中发现它的优点,从而应用到现有的工具中。
今天我要分享的这个案例也是同样的目的。
以PowerBI的思想解决QuickBI看似无法解决的问题,即解决QuickBI文本颜色动态变化需求。
部分数据如下:
我们仍然先以PowerBI来进行案例实现。
PowerBI实现文本颜色动态变化
第一步,导入数据
第二步,使用PowerQuery对数据进行处理
再点击关闭并应用
第三步,回到报表视图,创建度量值
利润率 =CALCULATE(sum('订单'[利润]))/CALCULATE(sum('订单'[销售额]))
时间进度 =VARCurrentDate = TODAY()VAR StartDate =DATE(2025, 9,1)VAR EndDate = DATE(2025, 10,1)VARLastDayOfSep = EOMONTH(StartDate, 0)VAR DaysInMonth = DAY(LastDayOfSep)VAR DateToUse = IF(AND(CurrentDate >= StartDate, CurrentDate <= EndDate), CurrentDate, EndDate)VAR DaysDiff = DATEDIFF(StartDate, DateToUse, DAY)RETURNDIVIDE(DaysDiff, DaysInMonth)
进度状态 =IF([利润率] >= [时间进度],"赶超","滞后")
颜色标记 =IF([利润率] >= [时间进度],"green","red")
第四步,创建表格
将客户城市、利润率、进度状态拖入到表格中
第五步,对进度状态设置条件格式
效果如下:
观察到文本滞后自动变为红色
思想总结:
PowerBI可以使用度量值对其他度量值进行动态配色。
QuickBI探索实现文本颜色动态变化
第一步,连接数据源
第二步,创建数据集
第三步,创建计算字段
利润率=sum([利润])/sum([销售额])
时间进度=
avg(DATEDIFF(if(CURDATE()>='2025-09-01' and CURDATE()<='2025-10-01',CURDATE(),'2025-10-01'), '2025-09-01')/day(last_day('2025-09-01')))
是否赶超时间进度=case when [利润率]>=[时间进度] then '赶超' else '滞后' end
第四步,创建仪表板
创建交叉表
将字段拖入到交叉表中,并美化
第五步,对是否赶超时间进度设置条件格式
我们发现条件规则只能设置数值格式的度量,无法直接对需求度量设置条件格式。
此时我们借用PowerBI的思想,使用其他度量对该需求度量做条件格式判断,改变我们的依据字段。
改变依据字段,就可以实现度量文本的动态配色了。
BI功能对比
PowerBI:
PowerBI对文本实现动态配色可以使用度量值字段,也可以使用文本的直接判断,而度量值字段更加灵活,也是众多PowerBI爱好者喜欢的原因之一。
QuickBI:
QuickBI无法通过对文本直接判断是否相同来实现文本的动态配色,而借用PowerBI的思想,也能实现文本的动态配色。跳出固化思维,有时候会有意想不到的效果。
个人介绍:《BI瓶子》主理人,瓴羊数据赛道认证开发者,现任quickbi/powerbi/finebi开发工程师,BI在线团队负责人,BI在线团队人数170+,团队近年来成功交付1000+企业级项目和个人项目,在以下领域具有丰富实施经验:①主流BI平台:PowerBI、FineBI、Finereport、QuickBI、永洪BI等 ② 数据自动化:Excel、MySQL、VBA等 ③ 流程自动化:Power Automate、Power Apps等 ④ 网页自动化等
服务过的行业:能源、快消零售、医疗、科技、教育、政企、制造
已服务过的部分品牌:国能、国华、龙源、慧千晓、超品贸易、融大科技