CALCULATE определяется как CALCULATE(<expression>,<filter1>,<filter2>…)
Это означает, что вы можете использовать несколько фильтров одновременно. время. Однако несколько фильтров будут действовать одновременно. Это означает, что данные должны соответствовать обоим условиям.
Таким образом, выполнение BadSumOfSales:=CALCULATE([Sum of Sales],Table3[SKU]="A1",Table4[SKU]="AB")
не даст вам того, что вам нужно. Поскольку SKU должен быть равен A1 и AB, он вернет пустое.
Поскольку у вас есть пять элементов, которые вы хотели бы включить в фильтрацию, вам следует использовать SWITCH функция. Это позволит вам учесть несколько условий, которые должны возвращать TRUE, а затем позволить вы возвращаете FALSE для чего-либо еще
TotalsSumOfSales:=CALCULATE([Sum Of Sales],
SWITCH(Table4[SKU],
"A1",TRUE(),
"A2",TRUE(),
"A3",TRUE(),
"4" ,TRUE(),
"5" ,TRUE(),
"8" ,TRUE(),
FALSE()
))
Другой способ обойти это - использовать функцию OR. Это отличный вариант, но он действительно хорошо работает только тогда, когда у вас есть два фильтра одновременно. Если у вас их больше двух, вам придется выполнить вложение, которое может оказаться сложным. Поэтому в вашем случае я бы придерживался SWITCH, но вот пример того, как это будет выглядеть:
OrTotalSumOfSales:=CALCULATE([Sum of Sales],
OR(
Table4[SKU]="A1",
Table4[SKU]="A2"
))
person
dotNetE
schedule
19.05.2015