Powerbi 如何使用两种产品的订单代码创建表(或列表)

Powerbi 如何使用两种产品的订单代码创建表(或列表),powerbi,dax,Powerbi,Dax,我有一个事务表,其结构如下: ID | Product | OrderCode | Value 1 | 8 | ABC | 100 2 | 5 | ABC | 150 3 | 4 | ABC | 80 4 | 5 | XPT | 100 5 | 6 | XPT | 100 6 | 8 | XPT | 100 7 | 5

我有一个
事务
表,其结构如下:

ID  | Product | OrderCode | Value
1   |   8     | ABC       | 100
2   |   5     | ABC       | 150
3   |   4     | ABC       |  80
4   |   5     | XPT       | 100
5   |   6     | XPT       | 100
6   |   8     | XPT       | 100
7   |   5     | XYZ       | 100
8   |   8     | UYI       |  90
如何创建一个表(或列表),其中包含产品5和8的订单代码


在上面的例子中,应该是订单
ABC
XPT

请详细说明您的问题,从您上面的帖子中我了解到您想要过滤列表,为此,您可以使用下面的代码

List<Transactions> listTransactions = listTransactions.FindAll(x=>x.Product == 5 || x.Product == 8)
listTransactions=listTransactions.FindAll(x=>x.Product==5 | | x.Product==8)

可能有很多方法可以做到这一点,但我提出了一个相当通用的解决方案:

FilteredList =
    VAR ProductList = {5, 8}
    VAR SummaryTable = SUMMARIZE(Transactions,
                           Transactions[OrderCode],
                           "Test",
                           COUNTROWS(INTERSECT(ProductList, VALUES(Transactions[Product])))
                               = COUNTROWS(ProductList))
    RETURN SELECTCOLUMNS(FILTER(SummaryTable, [Test]), "OrderCode", Transactions[OrderCode])

这里的关键是,如果特定订单代码的产品集同时包含
5
8
,那么
值(transactions[Product])
与集
{5,8}
的交集正好是该集,并且计数为
2
。如果两者都没有,计数将是
1
0
,测试失败。

我需要知道哪些订单同时有产品5和产品8。使用Power BI桌面过滤器,只选择包含这些产品的订单,但不一定是包含这两种产品的订单。太棒了!我花了一段时间才到达那里,但我明白了,谢谢!