Я только что сделал это недавно. @RADO правильно; Для режима импорта у вас есть строки для каждой даты (или месяца, в вашем случае) в таблице Power BI. Вся работа в SQL.
Во-первых, я создал встроенную (-able) табличную функцию, которая принимает datetime2 для предложения SYSTEM_TIME AS OF и возвращает необходимый результирующий набор с соединениями in по мере необходимости.
SELECT
header.*,
detail.*
FROM header FOR SYSTEM_TIME AS OF @utcTimeStamp AS header
LEFT JOIN detail FOR SYSTEM_TIME AS OF @utcTimeStamp AS detail ON detail.header_id = header.id ;
Вам необходимо настроить @utcTimeStamp, чтобы он соответствовал вашему значению даты или месяца.
--- Ajust to match your time period datatype
DECLARE @utcTimeStamp datetime2(3) = DATEADD(ms, -1, DATEADD(DAY, 1, CAST(@date AS datetime2(3)))) AT TIME ZONE 'Eastern Standard Time' AT TIME ZONE 'UTC';
Затем я создал представление для перекрестного применения функции к необходимым датам.
Когда я обнаружил, что запрос к представлению занял много времени, я создал таблицу кэширования и задание агента SQL для вставки результатов с последней даты по вчерашний день (во время, которое гарантирует, что вчерашний день закончился во всех наших часовых поясах) , Если вам нужны только результаты за месяц, вам, вероятно, не понадобится этот шаг.