前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Power BI添加动态水印

Power BI添加动态水印

作者头像
wujunmin
发布2022-07-13 15:55:02
2.2K0
发布2022-07-13 15:55:02
举报
文章被收录于专栏:wujunmin

基于权限控制需求可能想在Power BI页面添加水印。静态水印使用度量值生成一个卡片图即可,本文讲解动态水印的制作及使用。

  1. 动态水印演示

顶部水平水印如下图所示,淡灰色的wujunmin在向右移动:

倾斜重复水印如下图所示:

原地转圈水印,如下图左上角:

转大圈水印,圆圈其实不需要,只是为了辅助让大家看到行动轨迹:

神出鬼没水印,看似随机的在移动:

2. 制作水印


水印使用度量值生成,原理是SVG的动画标签,将水印的文字替换为自己需要的,可以重复使用。

代码语言:javascript
复制
水印_顶部水平 = 
 "<svg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 1280 20'>
<text x='0' y='20' font-size='20' fill='Grey' fill-opacity='0.4' text-anchor='middle'>wujunmin
<animate attributeName='x' from='0' by='1280' begin='0s' dur='30s' repeatCount='indefinite' />
</text>
</svg> "

viewbox设置的屏幕显示宽度高度,可依据自己的画布尺寸灵活调整。

代码语言:javascript
复制
水印_重复倾斜 = 
VAR label = "wujunmin" //水印内容
VAR Label_Count = 10 //水印行数
VAR t =
    GENERATESERIES ( 1, Label_Count )
VAR t_text =
    ADDCOLUMNS (
        t,
        "tspan",
            "<tspan x='0' y='" & [Value] * 5 & "'>" & label & "
<animate attributeName='x' from='"
                & IF ( MOD ( [Value], 2 ) = 0, 0, Label_Count * 5 ) & "' by='"
                & IF (
                    MOD ( [Value], 2 ) = 0,
                    SQRT ( 2 ) * Label_Count * 5,
                    -1 * SQRT ( 2 ) * Label_Count * 5
                ) & "' begin='"
                & RANDBETWEEN ( 0, 10 ) & "s' dur='10s' repeatCount='indefinite' />
</tspan>"
    )
VAR SVG =
    "<svg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 " & Label_Count * 5 & " " & Label_Count * 5 & "'>
<g transform='rotate(-45," & Label_Count * 5 & "," & Label_Count * 5 & ")'>
<text font-size='5' fill='Grey' fill-opacity='0.2' text-anchor='middle' dominant-baseline='middle'>"
        & CONCATENATEX ( t_text, [tspan] ) & "
</text>
</g>
</svg> "
RETURN
    SVG
代码语言:javascript
复制
水印_原地转圈 = 
"<svg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 100 100'>
<text x='50' y='50' font-size='20' fill='Grey' fill-opacity='0.4' text-anchor='middle'>wujunmin
<animatetransform attributeName='transform' type='rotate' from='0 50 50' to='360 50 50' begin='0s' dur='30s' repeatCount='indefinite' />
</text>
</svg> "
代码语言:javascript
复制
水印_转大圈 = 
"<svg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 100 100'>
<text x='0' y='0' font-size='5' fill='Grey' fill-opacity='0.4' text-anchor='middle'>
        wujunmin
<animatemotion path='M0 50a50 50 0 1 0 100 0a50 50 0 1 0 -100 0z' begin='0s' dur='20s' repeatCount='indefinite' />
    </text>
</svg> "

神出鬼没水印读者可以自定义移动路径,自定义的方式为:

搜索引擎搜索SVG在线编辑(功能都差不多),任意打开一个编辑器,如下操作:

记事本打开保存好的SVG文件,将里面的path内容复制到上方的水印-转大圈度量值,移动路径则重新规划成功。

3. 显示水印


显示上方度量值做好的水印有三种方式。第一种是使用HTML Content视觉对象,将以上度量值放入该视觉对象即可正常显示。

注意为避免对图表造成遮挡,需要将加载水印的HTML Content置于底层:

使用HTML Content的好处是可以和Power BI模型中的用户权限设置产生联动,且支持的动画形式相对较多。坏处是消耗一定的内存及硬盘。

第二种是将以上度量值的<SVG></SVG>部分保存成外部SVG文件,使用添加页面背景的方式导入Power BI:

这种SVG文件很小,只有几个KB,加载迅速,移动丝滑,但是支持的动画相对基础,也无法和模型产生联动。

第三种和第二种类似,针对单个图表添加水印,可以绘图区单独导入SVG文件:


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 wujunmin 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档