DAX - разбить значения строк в новый столбец на основе значений даты - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть таблица с некоторыми данными задач, и у этих задач есть ресурсы, а также дата начала и окончания.

Пример таблицы

Task    Month/Year    Resources
A-1       01.2019        5
A-1       02.2019        5
A-1       03.2019        5
A-1       04.2019        5
A-1       05.2019        5
A-1       06.2019        5
A-1       07.2019        5
A-1       08.2019        5
A-1       09.2019        5
A-1       10.2019        5
A-1       11.2019        5
A-1       12.2019        5

Моя проблема в том, что A-1 имеетдата начала 02.2019, дата окончания 10.2019 и поэтому хотел бы суммировать столбец Resource и разделить его на период с 01.2019 по 09.2019.Так бы это выглядело так:

Task    Month/Year    Resources     CalculatedColumn
    A-1       01.2019        5             
    A-1       02.2019        5             6,66
    A-1       03.2019        5             6,66
    A-1       04.2019        5             6,66
    A-1       05.2019        5             6,66
    A-1       06.2019        5             6,66
    A-1       07.2019        5             6,66
    A-1       08.2019        5             6,66
    A-1       09.2019        5             6,66
    A-1       10.2019        5             6,66
    A-1       11.2019        5             
    A-1       12.2019        5

Я могу получить дату начала и окончания по lookupvalue.Но я заблудился от того, как бы я сделал фактический расчет.

CalculatedColumn = 
VAR StartDate = LOOKUPVALUE(...)
VAR EndDate = LOOKUPVALUE(...)

VAR Results = CALCULATE(...)

RETURN Results

1 Ответ

0 голосов
/ 15 ноября 2018

Если вы знаете, как получить даты начала и окончания, остальные могут выглядеть так:

CalculatedColumn = 
VAR StartDate = DATE(2019,2,1)
VAR EndDate = DATE(2019,10,1)
VAR Dates = DATESBETWEEN(Table3[Date], StartDate, EndDate)
RETURN
IF([Date] IN Dates,
    DIVIDE(
        CALCULATE(
            SUM(Table3[Resources]),
            FILTER(Table3, Table3[Task] = EARLIER(Table3[Task]))
        ),
        COUNTROWS(Dates)
    )
)
...