日历可以作为切片器使用,也可以展示时间趋势。借助PPT可以在Power BI矩阵视觉对象生成无数种样式的日历造型。
如下是2024年3月的日历,外框为缺角矩形:
换一个造型:
再换一个造型,并加上农历:
实现过程为DAX和SVG矢量图结合,但是却不需要任何SVG知识。如何操作?
准备一个日期表,有年月日星期等字段:
日期表 =
ADDCOLUMNS(CALENDAR(DATE(2024,1,1),DATE(2024,12,31)),
"年",YEAR([Date]),
"月",MONTH([Date]),
"日",DAY([Date]),
"星期",RIGHT(FORMAT([Date],"AAA"),1),
"星期值",WEEKDAY([Date],2),
"第几周",WEEKNUM([Date],2)
)
拖拽一个基础的矩阵日历:
接下来优化这个矩阵。打开PPT,插入你需要的形状,除了PPT内置的形状,也可以是外部导入的图案。
在形状中随便输入一个数字(占位作用,记住这个数字),调整形状的格式:
鼠标右键,另存为可缩放的矢量图形(即SVG):
记事本打开该图片,将双引号替换为单引号:
Power BI新建一个度量值,度量值内容为上方SVG文本外加下图红框的前缀:
将以上度量值标记为图像URL放入矩阵的值:
得到以下结果:
还记得在PPT写的数字是12,找到代码中的12,把它替换为日期表中的日期:
替换后:
日历新造型已初步完工:
显示大小、间距有问题可以在格式区域调整:
如果要对日历突出今天,把代码中的fill='none' 改为条件格式:
修改后:
以上是单行文本,双行甚至多行文本道理相同,你在PPT制作底稿时预留对应位置即可。