首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >DAX/Power BI中带有过滤器的两个表的和

DAX/Power BI中带有过滤器的两个表的和
EN

Stack Overflow用户
提问于 2021-08-27 16:16:37
回答 1查看 1.4K关注 0票数 0

我有两张桌子。

第一个包含SKU,客户,订单日期,订单数量。

第二个包含SKU、客户端、promo id、promo start日期、promo end。

我需要计算每个客户的订购金额-promo-SKU.

在Excel中,我会看到如下内容:

代码语言:javascript
代码运行次数:0
运行
复制
SUMIFS(
    TABLE1[ORDERED],
    TABLE1[CLIENT], TABLE2[CLIENT],
    TABLE1[ORDER DATE], ">="&TABLE2[ORDER START DATE], 
    TABLE1[ORDER DATE], "<="&TABLE2[ORDER END DATE], 
    TABLE1[SKU], TABLE2[SKU]
)

表1

表2

Excel公式细胞K2和K3

我已经知道了如何按日期筛选第一个表( ORDERS和PromoLib表之间的连接是SKU,很多对很多):

代码语言:javascript
代码运行次数:0
运行
复制
ordered = CALCULATE(
    SUM(ORDERS[order qty]),
    KEEPFILTERS(DATESBETWEEN(ORDERS[Document Date], PromoLib[Order Start], 
        PromoLib[Order End])),
)

,我如何在这个DAX公式中添加过滤器,这样它就可以按客户端过滤ORDERS表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-28 02:27:23

最佳做法是有一个客户端维度表、一个日期维度表、一个订单事实表和一个PromoLib事实表。那么这些措施就会简单得多。尽管如此,下面是计算函数的语法:

代码语言:javascript
代码运行次数:0
运行
复制
CALCULATE(<expression>[, <filter1> [, <filter2> [, …]]])

您可以根据需要添加尽可能多的筛选器参数,因此可以为客户端筛选器添加另一个参数,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
FILTER (Orders, Orders[Client] = PromoLib[Client])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68956567

复制
相关文章

相似问题

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