powerbi - 在 Power BI Desktop DAX 论坛中应用筛选器的问题
问题描述
我在使用 power bi 桌面时遇到问题。我有一个 csv 文件作为数据源,并且我有一个包含多个值的列,比如“abc、def”、“jkl”、“zyz”等。
在这里,我需要生成一个带有显示 "def" & "jkl" 的行的报告。如何使用 DAX 过滤器命令对其进行过滤。我想在 Power BI 报告中仅获取、过滤两个值 CTF 和 EVE。我尝试创建一个计算列并应用以下代码,但它没有工作:
Columnjkl = FILTER((Table1,OR(Table1[mycolumn1] == "def" || "jkl"))
解决方案
您需要阅读如何编写 DAX 语法,查看此页面以了解如何使用 FILTER 函数(FILTER)以及如何使用 OR 函数(OR)
基本上,Filter 返回一个表,所以用它来计算列是行不通的。但是,通过在 CALCULATE 中实现 FILTER 函数,您可以更改/修改 CALCULATE 的主要参数将评估的内容。DAX 中的计算流程是这样的:首先评估过滤器参数,然后评估聚合(或其他)。例子:
NumberOfRowsWithABC =
CALCULATE =
COUNTROWS('Table1'),
FILTER(
'Table1',
'table1[mycolumn1] = "abc"
)
)
首先,FILTER 函数仅选择“Table1”中 [mycolumn1] 具有文本值 abc 的行。然后它将这个简化的表传递给 COUNTROW 函数,该函数计算传递给它的表中的行数。
OR 函数的语法错误。你应该这样写:
OR(
'Table1'[mycolumn1] = "def",
'Table1'[mycolumn1] = "jkl"
)
也许编写此 OR 函数的更好方法是使用 in-command 作为计算函数的过滤器参数:
NumberOfRowsWith_def_and_jkl =
CALCULATE(
COUNTROWS('Table1'),
'Table1'[mycolumn1] in {"def", "jkl"}
)
但正如 Gangula 所写,您不需要使用 FILTER 功能过滤“Table1”,这一切都可以在仪表板上直观地完成。
推荐阅读
- python - 在字符串的基础上给数组一个不同的名称
- javascript - select2 高度随主题变化:经典无法正常工作
- linux - 在命令执行之前阻止 Bash 扩展通配符
- sign-in-with-apple - 使用 Apple 登录对我不起作用
- xml - 如何使用 XPath 选择具有特定元素的第一个元素
- python - 如何检测一个键是否被按下但时间固定?
- scala - Scala-根据列值的时间戳计算总时间
- corda - Corda - 分层 CorDapps 中的序列化白名单
- javascript - 如何启动/强制下载网络源(图像)?
- maven - Jenkins 构建失败并出现错误“无法将元数据 commons-io:commons-io:2.5-SNAPSHOT/maven-metadata.xml 从/到 spring-milestones 传输”