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

XF.Str.Proper

语法作用

将字符串的每个单词的首字符转为大写,其他字符转为小写。

XF.Str.Proper(str:string)

函数代码

该函数的实现代码如下:

/// 将字符串的每个单词的首字符转为大写,其他字符转为小写
FUNCTION XF.Str.Proper = (str:string) =>
    VAR lstr = LOWER(str)
    VAR CalKey = "AWASDQ~SCD!~@)SD"
    RETURN
    SUBSTITUTE(
        CONCATENATEX(
            GENERATE(
                GENERATESERIES(1,LEN(lstr)),
                VAR Cur = MID(lstr,[Value],1)
                VAR Pre = IF([Value]>1,MID(lstr,[Value]-1,1))
                VAR IsLetter_Cur = NOT CONTAINSSTRINGEXACT(UPPER(Cur),LOWER(Cur))
                VAR IsLetter_Pre = IF([Value]=1,FALSE(),NOT CONTAINSSTRINGEXACT(UPPER(Pre),LOWER(Pre)))
                VAR Out = IF(IsLetter_Cur && ([Value]=1 || NOT IsLetter_Pre),UPPER(Cur),Cur&CalKey)
                RETURN
                ROW("Out",Out,"Cur",Cur,"Pre",Pre,"is_Cur",IsLetter_Cur,"is_Pre",IsLetter_Pre)
            ),
            [Out],
            "",
            [Value],ASC
        ),
        CalKey,
        ""
    )

应用示例

将句子中的单词更改为首字母大写,其他字母小写。

XF.Str.Proper("the QUICK BrOWn fOx jUmPs oVER tHe LAzy DoG")

结果如下:

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

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

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

支付宝扫一扫

微信扫一扫

登录

找回密码

注册

Operation don't support