Как отобразить последние n месяцев в Powerpivot? - PullRequest
0 голосов
/ 24 января 2020

Лучше сразу извиниться, я новичок в StackOverFlow, поэтому, пожалуйста, прости меня, если я пропустил какую-либо информацию. Этот веб-сайт и его сообщество, кажется, действительно полезны, и, поскольку я потратил почти два дня на решение следующей проблемы, я подумал, что вы, ребята, могли бы быть моим последним шансом!

Я работаю (и все еще изучаю) Microsoft Excel PowerPivot. В Powerpivot у меня есть обычная таблица дат, в которой есть столбец для каждой даты в 2017–2021 годах и несколько столбцов с указанием года, месяца, квартала и т. Д. c. Таблица дат связана с моей таблицей фактов, и до сих пор все работало нормально.

Теперь я хотел бы создать сводную таблицу, которая отображает только последние 12 месяцев (включая текущий месяц). Так что сейчас я бы хотел, чтобы сводная таблица показала мне все данные за 2020-1, 2019-12, 2019-11, 2019-10, 2019-9, 2019-8, 2019-7, 2019-6, 2019- 5, 2019-4, 2019-3 и 2019-2. И я хочу, чтобы данные обновлялись сами собой, поэтому после запуска февраля сводная таблица должна показывать месяцы 2020-2, 2020-1, 2019-12, ..., 2019-3.

Я считаю, все, что мне нужно сделать, это go к моей таблице дат и создать (как минимум) вычисляемый столбец, в котором, например, указано «ДА» для всех дат за последние 12 месяцев и «НЕТ» для всех других дат. И здесь я нуждаюсь в вашей помощи, потому что независимо от того, какие коды Dax я пробую, я не могу это сделать.

До сих пор мне удалось создать только вычисляемый столбец с именем «Last365Days» со следующим кодом:

=IF(DimDate[DimDateKey]>TODAY()-365;"YES";"NO")

DimDate - это таблица Date, а DimDateKey - это столбец со всеми датами в период с 2017 по 2020 годы. Однако в этом случае даты помечаются с началом «Да» ровно через год go, то есть 25 января 2019 года, но мне нужно, чтобы они начинались 1 февраля 2019 года и заканчивались в конце текущего месяца.

Извините за этот большой текст, я надеюсь Я буду в состоянии описать будущие проблемы в меньшем количестве слов. В любом случае, если у кого-то из вас есть решение для этого, я действительно очень ценю это.

Большое спасибо заранее и приятных выходных!

Дейв

1 Ответ

0 голосов
/ 27 января 2020

Спасибо за ваш совет, Демогории. К сожалению, я не мог понять, как функция DATEDIFF может быть полезна для моей проблемы, поскольку она возвращает только промежуток времени между двумя датами, верно?

Однако мне удалось найти решение:

=IF(DimDate[DimDateKey]>EOMONTH(TODAY();-12)&&DimDate[DimDateKey]<=TODAY();FORMAT(DimDate[DimDateKey];"YYYY-MM");"EARLIER")

В этом рассчитанном столбце я могу отобразить последние двенадцать месяцев, и он должен обновляться каждый день. В этом случае отображаемые данные начинаются с первого числа месяца один год go и заканчиваются сегодня, что очень хорошо, поскольку, конечно, нет будущих данных. Думаю, мне придется подождать до февраля, чтобы убедиться, что все обновляется правильно.

...