Мне нужно подвести итоги по всем долларам всех открытых возможностей по дате.К каждой записи прикреплены [действительны с] и [действительны до] даты.Когда возможность обновляется в БД, добавляется новая строка с [действителен с] дата = сегодня и [действителен до] дата = конец времени (31.12.2100).В предыдущей строке [действует до] дата получает вчерашнюю дату.
Причина: поскольку возможность может изменяться много раз в день, мы заботимся только о версии из каждого дня, которая пересекает порог 11:59:59.Когда возможность изменяется, предыдущая версия была действительной только до конца предыдущего дня, поэтому она получает дату предыдущего дня для своего поля [valid to].
При разбивке по единицам больше датыМне нужна последняя правильная версия возможности в то время.Например, сумма в долларах за январь - это сумма самой последней долларовой стоимости возможности 1/31 в 11:59:59.
Вот упрощенная версия моей схемы:

Вот некоторые примеры данных:
Opp Number Dollars Opp Created Date Header Valid From Header Valid To
1 100 1/1/2019 1/1/2019 1/3/2019
1 50 1/1/2019 1/4/2019 1/5/2019
1 75 1/1/2019 1/6/2019 12/31/2100
2 200 1/3/2019 1/3/2019 1/4/2019
2 210 1/3/2019 1/5/2019 1/6/2019
2 250 1/3/2019 1/7/2019 12/31/2100
Для данного примера набора данных сводная таблица должна выглядеть следующим образом:
Dates Sum of Dollars
1/1/2019 100
1/2/2019 100
1/3/2019 300
1/4/2019 250
1/5/2019 260
1/6/2019 285
1/7/2019 325
1/8/2019 325
...
1/31/2019 325
January 325
Я пробовал несколько подходов, но ничего не получилось.Вот ссылки, которые я попробовал:
Мне удалось заставить это работать так, как и ожидалось, в dax studio, но я не могу перевести это в меру.
EVALUATE
ADDCOLUMNS (
VALUES ( 'DIM Date'[Date]),
"Open Orders",
SUMX (
FILTER (
GENERATE (
SUMMARIZE (
'FACT Opportunity',
'FACT Opportunity'[header valid from],
'FACT Opportunity'[header valid to],
"Rows",
DISTINCTCOUNT ( 'FACT Opportunity'[Opp Number])
),
DATESBETWEEN (
'DIM Date'[Date],
'FACT Opportunity'[header valid from],
'FACT Opportunity'[header valid to]
)
),
'DIM Date'[Date] = EARLIER ('DIM Date'[Date])
),
[Rows]
)
)