首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用CALCULATE将筛选器上下文注入计算列-它是否包含相关的表列?

使用CALCULATE将筛选器上下文注入计算列-它是否包含相关的表列?
EN

Stack Overflow用户
提问于 2021-01-12 00:00:08
回答 1查看 70关注 0票数 1

计算列没有任何筛选上下文。

要注入过滤器上下文,我们可以使用CALCULATE函数。

假设我有一个sales、location和date表。销售是事实。位置和日期是连接到事实数据表的维度。

假设我使用CALCULATE(SUM...))在sales表中创建了一个计算列,注入的筛选器上下文是只包含sales表中的行,还是也包含所有相关的表列?

例如,假设location表通过locationid链接到sales表,并且具有州和国家,那么我们可以使用ALLEXCEPT只保留国家/地区筛选器,以便对于每一行,CALCULATE中的总和是按国家/地区聚合的,而不是该行中的所有字段。

EN

回答 1

Stack Overflow用户

发布于 2021-01-12 06:40:58

“注入”这个词不太合适。在计算列中使用CALCULATE执行context transition,然后使用您提供的任何参数(如果有)修改该筛选器上下文。

您可以执行建议的聚合,如下所示:

代码语言:javascript
运行
复制
CALCULATE (
    SUM ( Sales[Amount] ),
    ALL ( Sales ),
    FILTER ( Location, Location[Country] = RELATED ( Location[Country] ) )
)

首先,上下文转换将行上下文转换为筛选器上下文。然后,ALL删除Sales上的任何筛选器上下文,筛选器调整筛选以按指定的粒度进行聚合。

因为Country不是Sales的列,所以ALLEXCEPT不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65670301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档