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 社区是一个丰富的资源,提供了众多自定义视觉对象的示例和教程。用户可以从中获取灵感,学习创建视觉对
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值