Рассчитать максимальные и минимальные даты - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь вычислить максимальную (и минимальную) дату.

Моя ситуация следующая.

Я создал таблицу дат примерно так:

Date = 
ADDCOLUMNS (
CALENDAR (DATE(2008;1;1); DATE(2020;12;31));
"DateAsInteger"; FORMAT ( [Date]; "YYYYMMDD" );
"Year"; YEAR ( [Date] );
"Monthnumber"; FORMAT ( [Date]; "MM" );"Daynumber"; FORMAT ( [Date]; "DD" );
"YearMonthnumber"; FORMAT ( [Date]; "YYYY/MM" );
"YearMonthShort"; FORMAT ( [Date]; "YYYY/mmm" );
"MonthNameShort"; FORMAT ( [Date]; "mmm" );
"MonthNameLong"; FORMAT ( [Date]; "mmmm" );
"DayOfWeekNumber"; WEEKDAY ( [Date] );
"DayOfWeek"; FORMAT ( [Date]; "dddd" );
"DayOfWeekShort"; FORMAT ( [Date]; "ddd" );
"Quarter"; "Q" & FORMAT ( [Date]; "Q" );
"YearQuarter"; FORMAT ( [Date]; "YYYY" ) & "/Q" & FORMAT ( [Date]; "Q" );
"WeekNum"; WEEKNUM ( [Date] )
)

У меня есть таблица "Таблица 1", подобная этой:

ID  ForeignKey  Date
1   A           01/01/2005
2   A           05/04/2008
3   A           31/12/2019
4   B           15/3/2017
5   B           16/05/2018
6   B           15/04/2019
7   C           05/06/2006
8   C           04/12/2015
9   C           15/04/2019

И еще одна таблица "Таблица 2", как это

ID2 Price
A   100
B   500
C   650

Таблица «Дата» связана с «Таблица1» по дате, а таблица 1 связана с «Таблица 2» по Table1.ForeignKey = Table2.ID2.

В моем отчете у меня есть срез даты, который настроен, например, для фильтрации дат между 1 января 2008 года и 30 июня 2018 года. Моя цель состоит в том, чтобы вычислить максимальную и минимальную дату для каждой из таблиц 2 в выбранный период следующим образом:

ID2 Price   MinDate         MaxDate
A   100     05/04/2008      05/04/2008
B   500     15/3/2017       16/05/2018
C   650     04/12/2015      04/12/2015

Все, чего я могу достичь, делая что-то подобное

MaxDate= CALCULATE ( LASTDATE ( Table1[Date] ); FILTER (
ALLSELECTED('Date') ;
'Date'[Date] <= Max('Date'[Date])
))

- это максимальная и минимальная даты во всем календаре (01.01.2008 - 31.12.2020), что я не пытаюсь сделать.

Как я могу это сделать?

Заранее спасибо.

1 Ответ

0 голосов
/ 28 марта 2019

С отношениями, которые вы описываете, просто используйте меры:

MinDate = CALCULATE ( MIN ( 'Table 1'[Date] ) )

и

MaxDate = CALCULATE ( MAX ( 'Table 1'[Date] ) )

И установите свой слайсер на 'Date'[Date]

См. https://pwrbi.com/so_55373837/, например, файл PBIX

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...