我之前将此问题放在SharePoint StackExchange网站上,但它被认为是偏离主题的。希望在这里有更好的运气。 我的Power BI中使用的DAX MAXX功能(带有FILTER)有问题。它只是有时和“部分”以非常混乱的方式工作。 我正在学习本教程:https://docs.microsoft.com/en-us/powerapps/sharepoint-scenario-build-report 并在那里给出了例子。 我正在使用这个公式:
MaxDaysPending = MAXX(
FILTER('Project Requests', 'Project Requests'[Approved]="Pending"),
'Project Requests'[RequestDateAge]
)
..到一个看起来像这样的表:
问题在于:在Power BI Desktop中:
如果我按原样运行公式,我得到答案“空白”。 (预计:316)
如果我将“待定”更改为“是”,则在公式中,它(正确)给出答案553!
如果我将“待定”更改为“否”,则(错误地)给出答案368! (预期:458)。
同样:如果我将其更改为MINX,它仅适用于“是”。
我试图删除这些表并重新执行;然后它会工作一段时间(即使是“等待”),但之后会有一些数据 表格左右的变化,再次是同样的事情!
“已批准”列的数据类型为“单行文本”。 RequestDateAge是一个计算列(它有自己的公式,我在这里省略它不会过多地混淆这个问题,否则它都在上面给出的链接中描述) 有任何想法吗?还有人注意到他的配方有些奇怪的行为吗?这完全是不合逻辑的。
我有一个“理论”:是在RequestDateAge公式完成之前执行的第一个公式,某种方式,最终结果出错了? 编辑:不,这不是一些竞争条件。我尝试将RequestDateAge更改为非计算数字列(如Id列),但行为相同!
答案 0 :(得分:0)
检查您的关系。听起来像是糟糕的加入。
或者,将“项目请求”包装在ALL中。
MaxDaysPending = MAXX(
FILTER(ALL('Project Requests'), 'Project Requests'[Approved]="Pending"),
'Project Requests'[RequestDateAge]
)