PowerBI报告可视化-新卡片图配上带空白间隔的SVG进度条

加入 PowerBI自己学 知识星球:下载源文件,边学边练;遇到问题,提问交流,有问必答。

新卡片图支持插入图片,图片可以使用静态的图片用作图标等装饰,还可以使用动态的SVG用作红绿灯、趋势线、进度条等。如下就是使用SVG生成的进度条,配上红黄绿条件颜色,可以让卡片图变得更加直观生动。

操作步骤

STEP 1 在画布中插入新卡片图,将百分比的度量值拖入视觉对象。

STEP 2 新建度量值,复制粘贴如下代码,生成SVG图形的度量值,并在菜单栏度量工具下,将数据类别调整为图像URL。

SVG_ProgressBar_Line =

VAR Pct = [Ach% 值] //度量值

VAR Width = 250 //宽度

VAR Heitht = 20 //高度

VAR Color = IF(Pct>=1,"Green",IF(Pct>=0.8,"Orange","Red")) //根据比率大小设定红黄绿颜色

Var Graph ="

<line x1='0' y1='0' x2='" & Width & "' y2='0' stroke='LightGrey' stroke-width='" & Heitht*2 & "' stroke-dasharray='5'/>" &

"<line x1='0' y1='0' x2='" & Width*Pct & "' y2='0' stroke='" & Color & "' stroke-width='" & Heitht*2 & "' stroke-dasharray='5'/>"

RETURN "data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' width= '" & Width & "' height= '" & Heitht & "' >" & Graph & "</svg>"

STEP 3 选中卡片,在可视化窗格的格式中,打开图像开关,映像类型选择图像URL,点击fx,选择刚刚写好的SVG度量值,继续在格式中将位置改为文本下方。

结果如下,可以根据卡片大小调整SVG中的代码。

拓展

这样做的进度条是由虚线生成的,小块的宽度和空白间隙是等宽不可调节的,如果想根据需要自定义小块宽度和空白间隙的宽度,可以使用矩形和竖线组合成进度条,需要按照竖线的数量调整竖线的相关代码。

SVG代码如下:

SVG_ProgressBar_Customized = 
VAR Pct= [Ach% 值]
VAR Width_Rect = 250 //条形长度
VAR Height_Rect = 20 //条形高度
VAR Number_Piece = 30 //小块数量
VAR Width_Line = 3  //竖线宽度
VAR Number_Line = Number_Piece-1
VAR Color = IF(Pct>=1, "Green", IF(Pct>=0.8, "Orange", "Red")) //根据比率大小设定红黄绿颜色
Var Background = "<rect x='0' y='2' width='" & Width_Rect & "' height='" & Height_Rect-2 & "' fill='LightGrey'/> "
VAR ProgressBar = "<rect x='0' y='2' width='" & Width_Rect * IF(Pct>1,1,Pct) & "' height='" & Height_Rect-2 & "' fill='" & Color &"'/> "
VAR Line_Table =
ADDCOLUMNS(
    GENERATESERIES(1, Number_Line, 1),
    "Line", "<use href='#vLine' x='"&  ((Width_Rect-Number_Line*Width_Line)/Number_Piece+Width_Line)*[Value]-Width_Line/2 &"'/>"
)
VAR Line =
"<g stroke='white' stroke-width='" & Width_Line & "'>
    <defs> 
        <line id='vLine' y1='0' y2='" & Height_Rect & "' />
    </defs> " & CONCATENATEX(Line_Table, [Line], " ")
&"</g>"
VAR SVG = "data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' width='" & Width_Rect & "' height='" & Height_Rect & "'>" & Background & ProgressBar & Line & "</svg>"
RETURN
SVG

资源下载链接为: https://pan.quark.cn/s/c705392404e8 PowerBI Visuals 20200131.zip 是一个包含 BI Power 自定义可视化组件的压缩包。这些组件由开发人员或社区成员创建,用于增强 Power BI 报告和仪表板的功能,让用户能够突破预置表类型的限制,实现更独特、定制化的数据展示。 自定义视觉对象 是 Power BI 的一项重要功能。开发者可借助 JavaScript 和 Web 技术(如 HTML5、CSS3、SVG)来开发这些组件,满足特定需求,打造个性化表和形。 20200131 版本 指的是压缩包中自定义视觉对象的更日期。这表明这些组件在 2020 年 1 月 31 日之前经过了改进和修复。开发者通常会定期发布更,以提升性能、添加功能或解决已知问题。 要 使用这些自定义视觉对象,用户需先下载并解压文件,然后将 .pbiviz 文件导入 Power BI Desktop。导入后,它们会出现在“视觉对象”库中,可像内置视觉对象一样被添加到报表页面。 对于 开发者 而言,创建自定义视觉对象需要熟悉 Power BI 的 API 和开发工具。Visuals Tools for Visual Studio Code供 提了开发环境,包括模板、调试器和测试面板,方便开发者构建、测试和发布自定义视觉对象。 在使用自定义视觉对象时,要确保其与 Power BI 服务和桌面版 兼容,且能在不同浏览器和设备上正常运行。性能也很重要,因为它们可能会影响报告的加载速度和交互性。 使用自定义视觉对象需遵循 最佳实践,例如保持视觉对象简洁、优化数据处理、采用合适的缓存策略,并确保其对大数据集的响应能力。 Power BI 社区是一个丰富的资源,提供了众多自定义视觉对象的示例和教程。用户可以从中获取灵感,学习创建视觉对
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值