最终效果
(值得一提的是,原来代码是以前写的,现在整段代码可以快速利用DeepSeek工具来进行参数调整,方便快捷~)

班表源数据

度量值代码
上班天数 = CALCULATE(COUNTROWS('班表'),FILTER('班表','班表'[班次名称]<>"休"))
休息天数 = CALCULATE(COUNTROWS('班表'),FILTER('班表','班表'[班次名称]="休"))
当日班次 =
CALCULATE(
MAX('班表'[班次名称]),
FILTER(
'班表',
'班表'[日期] = TODAY()
)
)
当日班次时间 =
CALCULATE(
MAX('班次'[班次时间]),
FILTER(
'班表',
'班表'[日期] = TODAY()
)
)
SVG代码
SVG 日历图圆形 =
VAR _Today = TODAY() // 获取当前日期
// 定义颜色
VAR _COL1 = "#FFFFFF" // 白色
VAR _COL2 = "#141414" // 黑色
VAR _COL3 = "#13AE85" // 绿色
VAR _COL4 = "#FF6334" // 橙色
VAR _COL5 = "#FEFEFE" // 浅灰色
// 计算当天上班天数
VAR _AMOUNT = [上班天数]
VAR _zhuangtai=SELECTEDVALUE('班表'[班次名称])
// 获取选定日期
VAR _SelectedDate = FIRSTNONBLANK('日期表'[日],1)
// 根据条件设置字体颜色
VAR _FontColor =
SWITCH(
TRUE(),
FIRSTNONBLANK('日期表'[Date],1) = _Today, _COL1, // 如果日期是今天,则字体颜色为白色
_AMOUNT = 0, _COL2, // 如果上课数量为0,则字体颜色为黑色
_COL1 // 否则字体颜色为绿色
)
// 根据条件设置背景颜色
VAR _BackgroundColor =
SWITCH(
TRUE(),
FIRSTNONBLANK('日期表'[Date],1) = _Today, _COL4, // 如果日期是今天,则背景颜色为橙色
_AMOUNT = 0, _COL5, // 如果上课数量为0,则背景颜色为浅灰色
_COL3 // 否则背景颜色为绿色
)
// 根据条件生成 SVG 图像
VAR _VisualDisplay =
IF(
FIRSTNONBLANK('日期表'[Date],1) = _Today,
"data:image/svg+xml;utf8, <svg width='75' height='60' xmlns='http://www.w3.org/2000/svg'>
<circle cx='37.5' cy='30' r='30' fill='"&_BackgroundColor&"' /> // 绘制圆形,并填充背景颜色
<text x='37.5' y='28' font-family='Segoe UI Semibold' font-size='20' fill='"&_FontColor&"' text-anchor='middle' alignment-baseline='middle'>"&_SelectedDate&"</text> // 在圆形中央绘制日期
<text x='37.5' y='42' font-family='Segoe UI' font-size='10' fill='"&_FontColor&"' text-anchor='middle' alignment-baseline='middle'>"&_zhuangtai&"</text> // 在圆形下方绘制 Today 字样
</svg>",
"data:image/svg+xml;utf8, <svg width='75' height='60' xmlns='http://www.w3.org/2000/svg'>
<circle cx='37.5' cy='30' r='30' fill='"&_BackgroundColor&"' /> // 绘制圆形,并填充背景颜色
<text x='37.5' y='30' font-family='Segoe UI Semibold' font-size='20' fill='"&_FontColor&"' text-anchor='middle' alignment-baseline='middle'>"&_SelectedDate&"</text> // 在圆形中央绘制日期
<text x='37.5' y='42' font-family='Segoe UI' font-size='10' fill='"&_FontColor&"' text-anchor='middle' alignment-baseline='middle'>"&_zhuangtai&"</text> // 在圆形下方绘制 Today 字样
</svg>"
)
RETURN _VisualDisplay // 返回 SVG 图像的 Data URI


