powerpivot - 搜索不同单词 DAX 公式

标签 powerpivot dax

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

伪代码

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

最佳答案

这应该有效:

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

如果 DAX 中的搜索函数找不到您提供的字符串,它实际上会返回错误。否则它返回可以找到字符串的起始位置。请参阅DAX reference更多细节。所以我使用 iferror 来捕获找不到字符串时返回的错误。如果找不到该字符串(因此搜索返回错误),则会返回 -1,这不可能是此上下文中的有效起始位置。如果“Chrome”的搜索不是 -1,则找到“Chrome”,因此值为“Google”。否则,它将继续执行下一个 if 语句。

关于powerpivot - 搜索不同单词 DAX 公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18059607/

相关文章:

sql - Excel 2010 中的 PowerView

sql-server - 请注意,文档的某些部分可能包含文档检查器无法删除的个人信息

excel - Power Query 或 DAX - 计算值在列中出现的次数

powerbi - 如何动态引用 var 中创建的列?

powerbi - Power BI/DAX 查询 - 根据另一个表上的范围查找值

odbc - 使用 ODBC 连接从 MS Excel 中的 Power Pivot 连接到 Plex ERP 数据库

powerbi - 使用查找来匹配 Power BI/DAX 列中的多个值

excel - DAX 筛选器上下文

powerbi - Power BI 将排名或行号添加到列