【问题标题】:Search for distinct word DAX formula搜索不同的单词 DAX 公式
【发布时间】:2023-04-08 14:18:02
【问题描述】:

我正在尝试创建一个列来查看另一个名为软件名称的列,如果此列包含某个单词,那么新列将说明它是什么。例如,在软件列中找到 chrome,在新列中会显示 Google,然后如果软件列包含 firefox,则新列将包含 mozilla。我尝试使用包含和搜索功能,但我一直都出现#ERROR。 谁有解决办法??

伪代码

=IF(CONTAINS([softwareName],"Chrome"),"Google", IF(CONTAINS([softwareName],"Firefox"),"Mozilla","Unknown"))

【问题讨论】:

    标签: powerpivot dax


    【解决方案1】:

    这应该有效:

    =IF(IFERROR(SEARCH("Chrome",[SoftwareName]),-1) <> -1, "Google",IF(IFERROR(SEARCH("Firefox",[SoftwareName]),-1)<>-1,"Mozilla", "Unknown"))
    

    如果 DAX 中的搜索函数找不到您提供的字符串,它实际上会返回错误。否则,它返回可以找到字符串的起始位置。有关详细信息,请参阅DAX reference。所以我用 iferror 来捕捉找不到字符串时返回的错误。如果它没有找到该字符串(因此 Search 返回一个错误),它会返回 -1,这在此上下文中不可能是有效的开始位置。如果搜索“Chrome”不是 -1,则找到“Chrome”,因此值为“Google”。否则,它会转到下一个 if 语句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-22
      • 2018-02-26
      相关资源
      最近更新 更多