[英]How do I use DAX to filter a fact table where a value in one dimension table is greater than a value in a different dimension table
我有一个带有两个链接维度表的事实表。 我正在尝试编写一个 DAX 过滤器,该过滤器根据一维表中的日期是否大于
类似的东西(尽管显然这不起作用)。
CALCULATE ( SUM ( factFinancial[Value] ), dimOne[Date1] > dimTwo[Date2] )
任何帮助将不胜感激
没有一个具体的例子很难回答,但我怀疑你可以找到以下解决方案:
CALCULATE (
SUM ( factFinancial[Value] ),
FILTER ( factFinancial, RELATED ( dimOne[Date1] ) > RELATED ( dimTwo[Date2] ) )
)
计算函数无法计算您的表达式,原因是:
在其评估算法期间,CALCULATE 无法确定条件是否应替换 dimOne [Date1]、dimTwo [Date2] 上的任何现有过滤器,或不替换任何现有过滤器。
行上下文不会自动与关系交互,这意味着在行上下文中计算表达式 dimOne[Date1] > dimTwo[Date2] 并且两列 [Date1] 和 [Date2] 来自两个不同的表,因为我们无法访问将 [Date2] 中的日期自动对应到 [Date1] 上的每个日期。 在这种情况下,您必须使用 RELATED 和 RELATEDTABLE DAX 函数。
为了实现您的目标,您必须使用过滤器和相关功能。
使用此代码在 factFinancial 表中创建度量:
CALCULATE(SUM (factFinancial[Value]),
FILTER(factFinancial,RELATED(dimOne[Date1]) > RELATED(dimTwo[Date2])))
访问: https : //www.sqlbi.com/blog/marco/2010/01/03/how-calculate-works-in-dax/
访问: https : //www.microsoftpressstore.com/articles/article.aspx?p=2449191&seqNum=5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.