【发布时间】:2018-02-22 09:59:49
【问题描述】:
我之前在 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,它仅适用于“是”。
我曾尝试删除表格并重新执行此操作;然后它会工作一段时间(即使是“待定”),但在一些数据之后 表的变化左右,又是一样的东西!
Approved 列的数据类型为“单行文本”。 RequestDateAge 是一个计算列(它有自己的公式,我在此省略它以免使这个问题过于混乱,否则在上面给出的链接中都有描述) 有任何想法吗?其他人注意到他的公式有一些奇怪的行为吗?这是完全不合逻辑的。
我有一个“理论”:第一个公式是在 RequestDateAge 公式完成之前执行的,以某种方式,所以最终结果出错了吗? 编辑:不,这不是某种竞争条件。我尝试将 RequestDateAge 更改为未计算的数字列(如 Id 列),但行为相同!
【问题讨论】:
-
它可能是您的已批准列中的额外空格。结果导致空白的一个原因可能是您的表有
Pending有一个额外的空间,而不是Pending。我会尝试修剪你的第一列额外空格。这可能会使您的公式按预期工作。 -
我怀疑这就像@JohnFriel 建议的那样,但如果您可以发布一个重复您的问题的最小 pbix 文件,我会看看。
-
@JohnFriel 感谢您的宝贵回答!不,我看不到任何空白!数据位于 SharePoint 列表中,未添加空格。
-
@Alexis 谢谢!那太好了。我怎样才能把我的 pbix 文件借给你?电子邮件?
-
@PerryJ 还有一件事:你有一个
Status = "Completed"的报告级别过滤器。尝试删除该过滤器,看看您是否得到了预期的结果。