人生没有彩排
每一天都是现场直播

XF.SvgChart.WatermarkBackground

语法作用

返回水印背景。参数说明:

  • textContent:水印文本(如"微信公众号:简说PowerBI")
  • textSize:文本大小(建议20-28)
  • textColor:文本颜色(如"Gray"或"#808080")
  • opacity:透明度0-1(建议0.1-0.3)
  • rotateDegree:旋转角度(建议-30~-45)
  • canvasWidth:画布宽度(建议1280或1920)
  • canvasHeight:画布高度(建议720或1080)
  • xGap:X方向间距(建议220-260)
  • yGap:Y方向间距(建议180-220)
XF.SvgChart.WatermarkBackground(textContent:string,textSize:int64,textColor:string,opacity:double,rotateDegree:int64,canvasWidth:int64,canvasHeight:int64,xGap:int64,yGap:int64)

函数代码

该函数的实现代码如下:

/// 返回水印背景。textContent:水印文本(如"微信公众号:简说PowerBI");textSize:文本大小(建议20-28);textColor:文本颜色(如"Gray"或"#808080");opacity:透明度0-1(建议0.1-0.3);rotateDegree:旋转角度(建议-30~-45);canvasWidth:画布宽度(建议1280或1920);canvasHeight:画布高度(建议720或1080);xGap:X方向间距(建议220-260);yGap:Y方向间距(建议180-220)
Function XF.SvgChart.WatermarkBackground = (textContent:string,textSize:int64,textColor:string,opacity:double,rotateDegree:int64,canvasWidth:int64,canvasHeight:int64,xGap:int64,yGap:int64) => 
    VAR __WatermarkText      = textContent
    VAR __FontSize           = textSize
    VAR __FontColor          = textColor
    VAR __Opacity            = opacity
    VAR __RotateDegree       = rotateDegree
    VAR __CanvasWidth        = canvasWidth
    VAR __CanvasHeight       = canvasHeight
    VAR __XGap               = xGap
    VAR __YGap               = yGap
    VAR __FontFamily         = "Segoe UI"
    VAR __RepeatXCount       = ROUNDUP( DIVIDE( __CanvasWidth, __XGap ), 0 ) + 1 
    VAR __RepeatYCount       = ROUNDUP( DIVIDE( __CanvasHeight, __YGap ), 0 ) + 1
    VAR __GridTotalWidth     = ( __RepeatXCount - 1 ) * __XGap
    VAR __GridTotalHeight    = ( __RepeatYCount - 1 ) * __YGap
    VAR __StartOffsetX       = DIVIDE( __CanvasWidth - __GridTotalWidth, 2 )
    VAR __StartOffsetY       = DIVIDE( __CanvasHeight - __GridTotalHeight, 2 )
    VAR __TextBlocks =
        CONCATENATEX (
            GENERATESERIES ( 0, __RepeatYCount - 1 ),
            VAR RowIndex = [Value]
            RETURN
                CONCATENATEX (
                    GENERATESERIES ( 0, __RepeatXCount - 1 ),
                    VAR ColIndex = [Value]
                    VAR XPos = __StartOffsetX + ColIndex * __XGap
                    VAR YPos = __StartOffsetY + RowIndex * __YGap
                    RETURN
                        "<text x=""" & XPos & """ y=""" & YPos & """ " &
                        "fill=""" & __FontColor & """ " &
                        "fill-opacity=""" & FORMAT ( __Opacity, "0.00" ) & """ " &
                        "font-family=""" & __FontFamily & """ " &
                        "font-size=""" & __FontSize & """ " &
                        "text-anchor=""middle"" " & 
                        "dominant-baseline=""middle"" " &
                        "transform=""rotate(" & __RotateDegree & " " & XPos & " " & YPos & ")"">" &
                        __WatermarkText &
                        "</text>",
                    "",
                    ""
                ),
            "",
            ""
        )
    RETURN
    "data:image/svg+xml;utf8," &
    "<svg class='xifeng' xmlns=""http://www.w3.org/2000/svg"" " &
    "width=""" & __CanvasWidth & """ height=""" & __CanvasHeight & """>" &
        "<rect width=""100%"" height=""100%"" fill=""white"" fill-opacity=""0"" />" &
        __TextBlocks &
    "</svg>"

应用示例

给报表添加水印背景,如下图所示:

赞(0) 打赏
版权声明:本文为夕枫的原创文章,著作权归作者所有,未经允许不得转载
文章名称:《PowerBI DAX自定义函数-XF.SvgChart.WatermarkBackground》
文章链接:https://www.ximaple.com/posts/1604.html
订阅评论
提醒
guest
0 评论
最新
最久 最赞
内联反馈
查看所有评论

觉得文章有用的话就支持一下吧~

感谢您的打赏支持,我将持续输出有价值的内容!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册

Operation don't support