You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Query去重后加载至Power BI时大小写被统一的问题求助

解决Power BI加载时自动修改文本大小写导致唯一值失效的问题

问题场景

将包含Marrick和MARRICK的表格导入Power Query,执行Table.Distinct去重后能正常保留两行(二者ASCII编码不同,属于不同值),但加载到Power BI后,两行文本均被统一为Marrick,原本的唯一值丢失。该问题在6万行维度表(Group By构建)及数据流加载场景中也会出现,直接破坏了数据关系(需将一对多改为多对多)。

解决建议

  • 添加ASCII码辅助列作为唯一标识
    在Power Query中新增一列,把文本的每个字符转换为ASCII码后拼接,生成唯一的区分键。这样即使Power BI修改文本显示,底层的ASCII标识仍能保持值的唯一性:

    let
        Source = Excel.Workbook(File.Contents("C:\Users\ladeby.klaes\OneDrive - GEA\Desktop\Book3.xlsx"), null, true),
        Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
        #"Added ASCII Identifier" = Table.AddColumn(Sheet1_Sheet, "ASCII_Key", each Text.Combine(List.Transform(Text.ToList([Column1]), each Number.ToText(Character.ToNumber(_))))),
        #"Removed Duplicates" = Table.Distinct(#"Added ASCII Identifier")
    in
        #"Removed Duplicates"
    
  • 开启模型的大小写敏感性设置
    在Power BI Desktop中调整模型属性,让系统严格区分文本大小写:

    1. 切换到模型视图
    2. 右键空白区域选择模型属性
    3. 在数据加载板块勾选区分大小写
  • 转换为二进制列存储原始编码
    如果ASCII辅助列仍不生效,可将文本转换为二进制格式,彻底保留原始编码信息,避免Power BI自动格式化:

    let
        Source = Excel.Workbook(File.Contents("C:\Users\ladeby.klaes\OneDrive - GEA\Desktop\Book3.xlsx"), null, true),
        Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
        #"Added Binary Column" = Table.AddColumn(Sheet1_Sheet, "Binary_Key", each Text.ToBinary([Column1], TextEncoding.Ascii)),
        #"Removed Duplicates" = Table.Distinct(#"Added Binary Column")
    in
        #"Removed Duplicates"
    

内容的提问来源于stack exchange,提问作者Klaes Ladeby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 16:57:12