power BI, берущий дату MIN и Max, сравнивая две таблицы - PullRequest
1 голос
/ 08 июля 2019

У меня есть три таблицы, а именно: Allitems, InItems и OutItems.Основная таблица - это Allitems, которая связана с двумя другими таблицами с IN_OUT_ID.Мне удалось вычислить минимальную и максимальную дату на основе идентификаторов для каждой таблицы

Набор данных

enter image description here

с использованиемниже DAX Formula

Для таблиц InItems

Min_Start_Date = CALCULATE( MIN(InItems[InDate]), ALLEXCEPT( InItems, InItems[IN_ID] ))
Max_end_Date =  CALCULATE( MAX(InItems[InDate]), ALLEXCEPT( InItems, InItems[IN_ID] ))

Для таблицы OutItems

Min_Start_Date = CALCULATE( MIN(OutItems[OutDate]), ALLEXCEPT( OutItems, OutItems[OUT_ID]))
Max_end_Date = CALCULATE( MAX(OutItems[OutDate]), ALLEXCEPT( OutItems, OutItems[OUT_ID] ))

отношение, которое я имею, изменяет направление потока в обе стороны

enter image description here

Я пытаюсь вернуть минимальную и максимальную дату, сравнивая минимальную и максимальную дату из OutItems и Allitems и используя ее в качестве столбца в таблице Allitems.Например, принимая IN_ID 1, минимальная дата - 08/01/2019.Я также возьму минимальную дату OUT_ID, которая является 03/02/2019.Тогда я хочу минимальную дату между этими двумя датами, которая является 08/01/2019.Кто-нибудь может помочь в том, как я могу достичь этого

Ожидаемый результат

enter image description here

Я открыт для любых вопросов, спасибо

1 Ответ

2 голосов
/ 08 июля 2019

Чтобы сделать это, вам не нужны отношения для фильтрации в обоих направлениях, и вам не нужны эти четыре вычисляемых столбца.Просто возьмите min / max из min / max:

Mindate =
MIN (
    CALCULATE ( MIN ( InItems[InDate] ) ),
    CALCULATE ( MIN ( OutItems[OutDate] ) )
)

и

Maxdate =
MAX (
    CALCULATE ( MAX ( InItems[InDate] ) ),
    CALCULATE ( MAX ( OutItems[OutDate] ) )
)

Обратите внимание, что CALCULATE здесь выполняет контекстный переход, который применяет контекст строки (IN_OUT_ID и Item значений в текущей строке) в качестве контекста фильтра при взятии мин / макс над другими таблицами.Если вы удалите его, вы получите минимальное / максимальное значение для всех значений идентификатора.

...