Таблица со всеми датами между последним днем ​​продаж и определенными периодами N - PullRequest
1 голос
/ 15 апреля 2020

Как получить Даты за N последних полных месяцев. Я хочу, чтобы последний месяц определялся суммой продаж.

Это вся таблица для примера.

enter image description here

Ожидаемым результатом является вычисляемая таблица столбца Date с 2020-05-01 по 2020-07-31. Выглядит так:

Date
2020-05-01
2020-05-02
2020-05-03
…
2020-07-29
2020-07-30
2020-07-31

Что я пробовал? Во-первых, показатель для получения последней даты продаж:

MaxDate = 
CALCULATE( 
    EOMONTH( MAX( T[Date] ), 0),
    ALL( T ),
    T[Amount] > 0 
)

И вычисляемая таблица:

T_Range = 
var a = [MaxDate]
var b = DATESINPERIOD( T[Date] , a, -3, MONTH )
return 
b

Но он возвращает только 3 дня, а не весь диапазон с 2020-05 -01 до 2020-07-31.

Таблица для воспроизведения проблемы:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("ZcrLCQAgDATRXnJWSNZ/LWL/bShIQFyY02PmFCg0qp0kiMkKTmBKTJmpROCjyldj6pceGb+YkhgJXNYG", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Date = _t, Amount = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Amount", Int64.Type}})
in
    #"Changed Type"

1 Ответ

1 голос
/ 15 апреля 2020

Пожалуйста, проверьте, помогает ли это -

Создан новый столбец с предоставленной вами мерой "Максимальная дата".

Затем столбец минимальной даты с ящиком с ниже DAX.

Min Date = EDATE([MaxDate],-3)+1

enter image description here

Создана новая таблица с использованием ниже.

T_Range = CALENDAR(MAX(T[Min Date]),MAX(T[Max Date]))
...