search - SWITCH True Power BI 中的多个列和条件
问题描述
我有两个不同的列,一个是名称,另一个是 ID。Name 列包含文本和数字,并且字符的长度并不总是相同。
ID 列仅包含数字。
1.如果 ID 列包含 38 并且 Name 列包含“-”然后训练。
2.如果 ID 列包含 56,Name 列包含“-”则为 Air。
3.如果ID列包含38且名称列不包含“-”则为Road。
4.如果 ID 列包含 56 且 Name 列不包含“-”则为 Road。
在 Excel 中,我应用以下公式
=IF(A3="","",IFERROR(IF(REPLACE(A3,1,SEARCH("-",A3),)+0,IF(B3&""="38","TRAIN",IF(B3&""="56","AIR","ROAD"))),"ROAD"))
为了得到结果。
我想要计算列。
解决方案
这可能在 DAX 中实现为使用 SWITCH 语句的计算列
SWITCH(
TRUE(),
T[ID] = 38
&& SEARCH( "-", T[NAME], 1, 0 ) > 0, "Train",
T[ID] = 56
&& SEARCH( "-", T[NAME], 1, 0 ) > 0, "Air",
T[ID]
IN { 38, 56 }
&& SEARCH( "-", T[NAME], 1, 0 ) = 0, "Road"
)
默认(无匹配条件)是返回 BLANK()
也可以使用嵌套的 IF,这是个人喜好问题
推荐阅读
- mongodb - 有什么方法可以更新mongodb中的数据
- java - 如何在 Java 代码中实现 Scala Trait
- segmentation-fault - 分段错误 - fortran 中的无效内存引用问题
- ruby-on-rails - 当其中有数据时,为什么这个数组元素会返回 nil?
- python - 如何获得使用什么类型的激活?
- vb.net - 使用 Visual Studio 在本地驱动器 C 中以 .txt 格式导出文本
- git - Git 合并仅在分支内提交
- python - Python3 在日期前面放了一个“b”
- python - 如何轻松创建python包,保持文件夹结构和文件?
- python - 如何在列表中找到奇数索引值的乘积