Корреляция данных из нескольких таблиц для последнего известного значения

Я работаю в Power BI, чтобы создать визуализацию обзоров и статусов проектов. Я использую Дакс, чтобы попытаться достичь двух целей.

Я провел небольшое исследование и, кажется, мне следует использовать последнее известное значение, но я продолжаю получать циклическую ссылку.

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

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

Сопоставление обзора проекта с состоянием и использованием последнего известного для нового столбца

Я использовал этот код, чтобы ввести данные о статусе проекта, которые у меня есть, в мою таблицу обзора.

Overall Status =
LOOKUPVALUE (
    'Project Status'[Status],
    'Project Status'[Project Title], 'Review'[Project Title],
    'Project Status'[YearMonth], 'Review'[YearMonth],
    'Project Status'[Attribute], "Overall",
    ""
)

Это вводит только те элементы, которые совпадают, поэтому я затем создал новый столбец со следующими

New Overall =
LOOKUPVALUE (
    Review[Project Overall Status],
    Review[Review Date],
        CALCULATE (
            LASTNONBLANKVALUE ( Review[Review Date], 1 ),
            FILTER (
                Review,
                Review[Project Overall Status] > 0
                    && EARLIER ( Review[Review Date] ) >= Review[Review Date]
            )
        )
)

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

Идеальное конечное состояние для корреляции статуса проекта с отзывами

Второе, что я хочу сделать, это создать таблицу, в которой используется последний известный статус проекта, например:

Последний известный статус проекта

Я создал таблицу дат на 2020 год, но не знаю, как ее правильно использовать. Есть много ресурсов о том, как создать таблицу дат, но я не нашел слишком много, чтобы показать, как ее использовать осмысленно.


person ldc9819    schedule 09.11.2020    source источник
comment
Связано: stackoverflow.com/questions/52525377   -  person Alexis Olson    schedule 09.11.2020
comment
Вы предлагаете использовать MAXX по годам, месяцам или проектам?   -  person ldc9819    schedule 10.11.2020
comment
Что вы имеете в виду под циркуляром? Например, отсутствует слово?   -  person Peter Mortensen    schedule 10.11.2020
comment
Приведенная точная ошибка говорит: Обнаружена циклическая зависимость: Просмотрите [Общее состояние Новое].   -  person ldc9819    schedule 10.11.2020


Ответы (1)


Сначала вычислите последний год и месяц для этого проекта, а затем используйте это значение в поиске:

New Overall = 
VAR CurrProject = Review[Project]
VAR CurrYearMonth = Review[Year Month]
VAR LastYearMonth =
    CALCULATE (
        MAX ( 'Project Status'[Year Month] ),
        'Project Status'[Project Title] = CurrProject,
        'Project Status'[Year Month] <= CurrYearMonth
    )
RETURN
    LOOKUPVALUE (
        'Project Status'[Status],
        'Project Status'[Attribute], "Overall",
        'Project Status'[Year Month], LastYearMonth,
        'Project Status'[Project Title], CurrProject
    )
person Alexis Olson    schedule 10.11.2020
comment
Это также возвращает ошибку: была обнаружена циклическая зависимость: Обзор [новый общий], обзор [общий], обзор [новый общий]. - person ldc9819; 10.11.2020
comment
Это определенно сработало для меня. Я бы попробовал удалить тот или иной вычисляемый столбец, чтобы они не пытались ссылаться друг на друга. Т.е. замените формулу для В целом предоставленным мной DAX вместо создания другого столбца. - person Alexis Olson; 10.11.2020
comment
Я пошел дальше и удалил оба столбца, создал новый, теперь я получаю таблицу с несколькими значениями, в которой ожидалось одно значение. - person ldc9819; 10.11.2020
comment
Хм. Для меня это имеет смысл только в том случае, если вы пытались создать меру вместо вычисляемого столбца. - person Alexis Olson; 10.11.2020
comment
Все входные данные представляют собой точки данных, за исключением года и месяца, который был найден в таблице дат. Предложение, которое вы сделали, я обязательно помещаю в расчетную колонку. Есть ли другие возможности исправить это? - person ldc9819; 10.11.2020
comment
Тогда я думаю, вам нужно обновить свой вопрос, включив в него все задействованные таблицы и взаимосвязи. Действительно сложно отвечать на вопросы, когда происходит что-то, что не указано. - person Alexis Olson; 10.11.2020
comment
Позвольте нам продолжить это обсуждение в чате. - person ldc9819; 10.11.2020