Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 透视表分组如何与DAX中的计算过滤器交互?我怎样才能覆盖它们?_Excel_Powerbi_Dax_Powerpivot - Fatal编程技术网

Excel 透视表分组如何与DAX中的计算过滤器交互?我怎样才能覆盖它们?

Excel 透视表分组如何与DAX中的计算过滤器交互?我怎样才能覆盖它们?,excel,powerbi,dax,powerpivot,Excel,Powerbi,Dax,Powerpivot,我的数据模型中有一个表,其中包含现有产品计数、日期和库存源表名。我想创建一个透视表,显示每个来源的产品总数,但仅显示表中最后记录的日期 以下是一个简化版本: 我构建了一个使用以下度量的枢轴: =VAR LastDay = MAX(FactTable[Date]) Return CALCULATE( sum(FactTable[On Hand Quantity]), FILTER(FactTable,FactTable[Date] = LastDay) ) 其思想是,它在

我的数据模型中有一个表,其中包含现有产品计数、日期和库存源表名。我想创建一个透视表,显示每个来源的产品总数,但仅显示表中最后记录的日期

以下是一个简化版本:

我构建了一个使用以下度量的枢轴:

=VAR LastDay = MAX(FactTable[Date]) 
Return 

CALCULATE(
    sum(FactTable[On Hand Quantity]),
    FILTER(FactTable,FactTable[Date] = LastDay)
)
其思想是,它在FactTable中查找最后一个日期,然后过滤该表,使其仅包含日期等于LastDay的行,然后在pivot过滤器中提供项目的现有数量总和

大概是这样的:

这里是真正的轴心(针对特定项目进行过滤):

手动库存中的日期都是旧的,不包含最后一天。pivot显示的是最大日期的总和(FactTable[手头数量]),其中源表为Manual_Inv。但更奇怪的是,它似乎理解表中显示的值不是我所要求的,因此它不包括在总计中。总计是最后一个可用日期的实际总数

我对数据透视表分组如何与我的DAX代码交互感到非常困惑。据我所知,数据透视组(源表)应用于FactTable,然后DAX代码在每个分组上独立运行,并提供一个结果,就好像每个分组都是它自己的表一样。然后再查看结果,检查哪些日期与LastDay匹配,并且只将这些值包含在总计中

有人能提供一些关于这里发生了什么以及我如何着手解决它的见解吗?我的预期pivot看起来与上面相同,但Manual_Inv的当前手头单元格应为空


将离开几天,但我会在可能的时候做出响应。

您为
LastDay
变量计算的最大值在本地筛选器上下文中进行计算。这意味着对于
Manual\u Inv
,它只查找
Manual\u Inv
源中的行的最后日期

修复此选项,您可以定义<代码> ListTys/CODE >,以考虑所选的所有内容,而不只是对应于当前行标签的行。如果不涉及任何其他表(例如,与事实数据表有关系的日历表),则您可以这样编写变量:

VAR LastDay = CALCULATE ( MAX ( FactTable[Date] ), ALLSELECTED ( FactTable ) )

这成功了!我尝试了一系列的过滤函数,但无法真正理解它们是如何工作的(DAX的新功能)。ALLSELECTED的文档说明:返回表中的所有行或列中的所有值,忽略可能已应用于查询内部的任何筛选器,但保留来自外部的筛选器。听起来它应该让过滤器远离透视表?我正试图对这些东西的作用域有所了解。它保留了您应用的任何筛选器,例如切片器,但删除了透视表中的行/列所施加的筛选。请记住,每个单元格都有相同的公式,只是与它在透视表中显示的位置相关的不同筛选器上下文。