【问题标题】:Power BI. Replace "Blank" values with 0, but it's not null from Database电源 BI。将“空白”值替换为 0,但它在数据库中不为空
【发布时间】:2019-06-18 04:59:38
【问题描述】:

我从存储过程连接到数据,而不是直接从数据库中的表,所以我不确定这就是为什么我不能使用像

这样的脚本
RiskCount = IF( ISBLANK( [My column] ), 0, [My column])

这是一个警告cannot find name [My column]

我的数据库中的数据看起来像

当数据显示时,公司 1 的值 c = "Blank"

我想用“0”替换它

我不确定 Power BI 是否可以执行此类操作,或者我是否应该从数据库中进行编辑?

【问题讨论】:

    标签: powerbi dax powerquery m


    【解决方案1】:

    列中的空格可能是空字符串"",而不是空值。

    尝试像@Aldert 描述的那样替换值,但将第一个框留空,在第二个框中保留 0,这样您就可以得到这样的 M 代码:

    = Table.ReplaceValue(Source,"",0,Replacer.ReplaceValue,{"Value"})
    

    注意"" 而不是null

    【讨论】:

      【解决方案2】:

      最好的方法是在查询编辑器中。按:编辑查询。

      现在选择要更改其值的表和列,然后按:替换值。

      你得到一个弹出窗口,第一个字段为空,第二个为 0。

      【讨论】:

      • 我必须尝试一下。但这不起作用,因为我没有具有“Null”值的行
      • 因此,如果您的值为“空白”,则可以将其放在第一个字段中。它也可以是“”,一个空字符串。概念不变,你需要替换功能。
      • 嗨,阿尔伯特。抱歉后续问题,但有没有办法强制 PBI 将正确的空单元格(带有“”)导入为空白?我在 excel 中有 40 个数字列,其中一些单元格为空。我必须将它们作为空白导入(不是零,区分有效的零和空白很重要)。
      【解决方案3】:

      在 Power Query 编辑器(高级编辑器)中

      let
          Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
          #"Changed Type" = Table.TransformColumnTypes(Source,{.........................
          #"Replaced Value" = Table.ReplaceValue(#"Changed Type",null,each _[Desired column for replacement],Replacer.ReplaceValue,{"Value"}),
      in
          #"Replaced Value"
      

      【讨论】:

        猜你喜欢
        • 2022-12-06
        • 1970-01-01
        • 2020-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-30
        • 1970-01-01
        相关资源
        最近更新 更多