Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!View all the Fabric Data Days sessions on demand. View schedule
场景:
有时候我们可能会遇到这样的需求:不仅要汇总和分析数据的趋势,还要知道某一点的值是否超出正常范围。一般来说,我们会选择“分区图”视觉对象来做。但当最小值不为零时,分区图呈现的效果不符合我们的要求。而且Power BI中目前不支持将值的范围添加到折线上。另外我还尝试了“堆积面积图”视觉对象,并且对参数进行了一些修改,虽然可以得到类似的效果,但仍然不完美。经过一番研究,我发现当结合R和Power BI时,可以达到更好的效果。我的测试过程如下。
示例数据:
期望结果:
方法一:在Power BI Desktop中使用堆积面积图视觉对象
1.创建一个堆积面积图视觉对象并且对字段进行排序
2.在“设置对象格式”-> “行”中修改颜色
将“Min”字段的颜色设置为白色
将“Max”字段和“Value”字段设置成相同的颜色
很明显,“Max”列的边界无法删除。
方法二:使用R的Polygon()函数
准备工作:
1.下载R:我们可以从 链接 下载安装免费版的R(最新版本:R-4.4.2 for Windows(83 megabytes, 64 bit))
2.在R中安装所需的软件包
启动R应用程序
复制以下代码安装软件包,然后选择一个最近的CRAN镜像
install.packages("reshape2")
3.在Power BI Desktop中启用R脚本visual。关于更多细节,请参阅这篇文档:
使用 R 创建 Power BI 视觉对象 - Power BI | Microsoft Learn
4.请检查官方文档中提到的限制
操作:
1.将示例数据导入Power BI Desktop
2.创建一个R脚本Visual
将所有要用到的列全部拖入R脚本Visual的“值”中
我们可以看到使用polygon()函数获得的结果。
#重新导入数据并将第一列的值设置为行变量
a<-read.table("你的文件路径",sep=",",header=T)
xx<-c(min(a$Date):max(a$Date),max(a$Date):min(a$Date)) #创建一个向量
yy<-c(a$Min,rev(a$Max)) #创建另一个向量
plot(a$Date,a$Value,type = "o",col ="blue",ylim=c(0,50),xlab="Year",ylab="Value") #创建折线图
polygon(x = xx, # 多边形的 X 坐标
y = yy, # 多边形的 y 坐标
col = rgb(255,0,0,50,maxColorValue=255), # 多边形颜色
border = "NA") # 多边形边界的颜色
总结:
从两张图片中我们可以明显看出,R在增加范围区域方面有一定的优势。它不仅可以绘制指定范围,还可以生成带有百分比的置信区间范围。
希望Power BI能尽快引入相应功能,让用户可以更加方便地进行数据分析。
作者:Yuna
审核:Ula Huang, Kerry Wang
翻自:Xinyi Xu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.