DAX - 通过评估 table 的显示列来过滤行

DAX - Filter rows by evaluating the displayed columns of a table

是否可以根据不同列中的值过滤 table 的行,而不知道用户选择显示哪些列?

这里举个例子来说明问题:

A     B     C     D
---------------------
1     aaa   val   val
2     bbb
3     ccc         val

我想过滤此 table 并仅显示 C 和 D 不为空的行。在我的示例中,这意味着仅显示第 1 行和第 3 行。只要我知道 table 中显示了哪些列,这似乎并不复杂。我会定义一个新列(不是度量)并评估 C 和 D。Return“删除我”以防 C 和 D 丢失。然后,我将基于此度量进行筛选。

为了让事情变得更复杂,我希望我的用户能够根据他们的需要从数据源添加列。坚持上面的例子,这意味着用户可能会将 E 列添加到 table 并且我的“过滤措施”应该不再起作用,因为它不考虑 E.

现在回答我的具体问题:

  1. 是否可以根据“Return 1 如果 A 列和 B 列不丢失并且所有其他显示的列都丢失”(没有明确提及所有其他列)。

  2. 有没有更好的方法来实现这个?请记住,我必须使用 DirectQuery,它有一些限制,尤其是在 PowerQuery 和 M 方面。

我不确定是否可以为我的问题提供解决方案,但由于我刚开始使用 DAX,所以我不知道。非常感谢任何帮助。

最诚挚的问候,freiaum

这里的例子(这是一个奇怪的概念,但对你有用)左侧列;右侧 AA/b 作为列 其余作为度量:

Sum_C = MAX(Example[C])
Sum_D = sum(Example[D])
sum_E = min(Example[E])

之所以可行,是因为如果第 2 行的 C、D、E 为空(例如,如果在 C 中,第 2 行有白色 space 而不是空,那将不再有效) ;