Я уже полтора дня пытаюсь понять, как объединить одну и ту же меру двумя разными способами в одну меру.Он разбит на части, я пытался их объединить, вычислить с помощью операторов IF, я даже думал, что смогу получить сводные таблицы UNION 3, чтобы получить правильный результат.Я застрял с помощью Excel 365 ProPlus (который, я считаю, 2016, так как Get и Transform и PowerPivot встроены).
Цель: мне нужно сделать это, чтобы я мог обмануть таблицу PowerPivot, подключенную кмодель данных для отображения а) промежуточного итога с б) итоговой линией с в) плоской непроходной итоговой линией цели / цели в той же мере.Я был в состоянии сделать a & b, однако c неуловимо.
Я пытался вычислять данные поэтапно, с первыми двумяв данном случае неважно, что я пытаюсь сделать, но я не могу заставить работать два фильтра одновременно:
Occbase:=CALCULATE([Occurrences],
FILTER('Final Dataset',
'Final Dataset'[MainFilter] = ""))
CumOcc:=CALCULATE([Occbase],
FILTER(ALL(DimDate[DateValue]),
DimDate[DateValue] <= MAX(DimDate[DateValue])))
Эти две меры выполнят часть 1, отфильтруют набор данных, а затем рассчитают изэтот фильтр простой промежуточный итог.Я попытался сделать это за один шаг, но если фильтр работает, то итоговая сумма не будет работать:
CombinedMakesRunningTotolStopWorking:=CALCULATE(SUM('Final Dataset'[xOccurrences]), FILTER(
ALL(Dimdate[DateValue]),
DimDate[DateValue] <= MAX(DimDate[DateValue]))
,FILTER(
'Final Dataset',
'Final Dataset'[MainFilter] = ""
|| 'Final Dataset'[Region] = "Ttl Occ MPR" //I couldn't figure out how to calculate on the fly
) //so I generated this total in PowerQuery
)
Разработчик SQL во мне решил попробовать потянуть все три выше по отдельностиа затем используйте UNION и SUMMARIZE по значению даты и значению региона, но получили еще худший результат ...
TryHarder:=SUMX(UNION(
SUMMARIZE(FILTER('Final Dataset',
'Final Dataset'[Region] = "Ttl Occ MPR"),
[Region],
[DateValue],
"OccurrencesXXX", CALCULATE([Occbase],
FILTER(ALL(DimDate[DateValue]),
DimDate[DateValue] <= MAX(DimDate[DateValue]))))
,
SUMMARIZE(FILTER(ALL('Final Dataset'),
'Final Dataset'[Region] = "PR Occ Goal"),
[Region],
[DateValue],
"OccurrencesXXX", [Occurrences])
,
SUMMARIZE(FILTER('Final Dataset',
'Final Dataset'[MainFilter] = ""),
[Region],
[DateValue],
"OccurrencesXXX", CALCULATE([Occbase],
FILTER(ALL(DimDate[DateValue]),
DimDate[DateValue] <= MAX(DimDate[DateValue]))))
), [OccurrencesXXX])
с комическим поражающим результатом:
Я мог бы сдаться и просто сгенерировать таблицу для каждого графика в PowerQuery ... но мне пришлось бы сгенерировать тонну таблиц.Я должен предположить, что я делаю что-то не так с областью действия / контекстом, и у меня есть ощущение, что мой образ мышления в C # / SQL ставит меня в невыгодное положение при изучении DAX.Я хотел бы понять, что я делаю неправильно, и изучить паттерн DAX и терминологию, чтобы исправить это.