首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Power BI -具有多个筛选器的合计列

Power BI -具有多个筛选器的合计列
EN

Stack Overflow用户
提问于 2019-10-18 14:47:45
回答 3查看 669关注 0票数 0

我有表“销售”(字段:产品,国家,日期,销售)与许多产品和国家的月度销售。我也有日历的表,产品列表,与此表链接的国家列表。我想添加列到“销售”与运行总销售额在每个产品/国家,看到与期望的结果“运行总”字段。

我尝试使用YTD = TOTALYTD(SUM(SalesSales);CalendarDate),但它不起作用。我认为我需要在TOTALYTD函数中使用过滤器,但我也无法理解如何使用。你能为我的情况提出一个正确的解决方案吗?

Table "Sales"

EN

回答 3

Stack Overflow用户

发布于 2019-10-21 13:49:35

有人建议我使用下面的代码

列= SUMX (筛选器( Sales,SalesProduct =较早( SalesProduct ) && SalesCountry =较早( SalesCountry ) && SalesDate <=较早( SalesDate ) && YEAR ( SalesDate )=年份(较早( SalesDate ),SalesSales )

啊,真灵。

票数 1
EN

Stack Overflow用户

发布于 2019-10-18 15:28:54

我部分地解决了我的问题,为产品和国家/地区的每个组合创建了一组度量:

A_US = TOTALYTD(SUM(SalesSales);'Calendar'Date;FILTER(All(Sales);SalesProduct="A"&&SalesCountry="US"))

A_Canada = TOTALYTD(SUM(SalesSales);'Calendar'Date;FILTER(All(Sales);SalesProduct="A"&&SalesCountry="Canada"))

诸若此类。但是如果我有100种产品和30个国家呢?我想我需要在"Sales“中创建一个"Running total”列,用于计算每个产品和aech国家的运行总数。

票数 0
EN

Stack Overflow用户

发布于 2019-10-18 20:54:46

TOTALYTD函数的问题是它只需要一个过滤器。诀窍是像在第二个响应中一样使用filter函数。

要仅对所有产品和国家/地区使用一列,您必须获取当前行的上下文。要实现这一点,您可以在dax中使用前面的函数。

这里是关于前面的文档:https://docs.microsoft.com/en-us/dax/earlier-function-dax

需要使用以下表达式构建该列:

TOTALYTD(SUM(SalesSales),‘Calendar’‘Date,filter(Sales,and(SalesCountry=EARLIER(salesCountry),salesProduct =EARLIER(SalesProduct)

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

https://stackoverflow.com/questions/58445353

复制
相关文章

相似问题

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