PowerBI - Подведение итогов по дням и подсчет IF

У меня есть множество ежедневных транзакций, в которых я хотел бы иметь возможность просматривать все транзакции за данный день, и если столбец PAST_DUE = 1, я считаю его, иначе я этого не делаю.

Вот вычисляемый столбец, над которым я работал, который не дает правильного числа.

Lines = 
VAR RowDate = opr_shipments[SHIP_DATE]
RETURN
    CALCULATE (
        COUNT(opr_shipments[Orders]),
        FILTER (
            opr_shipments,
            opr_shipments[SHIP_DATE] <= RowDate
                && DAY ( opr_shipments[SHIP_DATE] ) = DAY ( RowDate )
        ), FILTER(opr_shipments, opr_shipments[PAST_DUE] = 1)
    )

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

Моя таблица:  введите описание изображения здесь

Таблица календаря:  введите описание изображения здесь

Таблица заказов  введите описание изображения здесь < img src = "https://i.stack.imgur.com/5Ycl6.jpg" alt = "введите описание изображения здесь">


person xXPhenom22Xx    schedule 15.02.2017    source источник


Ответы (1)


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

Calendar = CALENDAR(MIN(opr_shipments[SHIP_DATE]), MAX(opr_shipments[SHIP_DATE]))

Никаких особых отношений между таблицами не требуется.

таблицы

Затем общее количество заказов рассчитывается по:

TotalOrders = 
CALCULATE(
    COUNT(opr_shipments[Orders]),
    FILTER(
        opr_shipments,
        opr_shipments[SHIP_DATE] = 'Calendar'[Date] &&
        opr_shipments[PAST_DUE] = 1
    )
) + 0

И результат будет таким:

результат

P.S. Не уверен, какой расчет вы делаете, на случай, если вместо этого вы захотите заменить COUNT(opr_shipments[Orders]) на SUM(opr_shipments[Orders]).

person Foxan Ng    schedule 16.02.2017
comment
Спасибо за ответ, я обновил свой вопрос изображениями своих таблиц. Когда я реализую ваше решение, я получаю следующую ошибку: невозможно определить одно значение для столбца «Дата» в таблице «Календарь». Это может произойти, когда формула меры ссылается на столбец, содержащий много значений, без указания агрегирования, такого как min, max, count или sum, для получения единственного результата. - person xXPhenom22Xx; 16.02.2017
comment
@ xXPhenom22Xx На каком именно этапе вы получили эту ошибку? Вы пробовали мое Calendar выражение создать Calculated Table (не Column)? - person Foxan Ng; 16.02.2017
comment
Я использовал формулу, которую вы отправили, как новый вычисляемый столбец под названием LateLines. У меня уже есть таблица дат, называемая календарем, поэтому мне не нужно было там ничего делать. - person xXPhenom22Xx; 16.02.2017
comment
@ xXPhenom22Xx Можете ли вы тогда попробовать использовать выражение Calendar? Потому что с таблицей свиданий, кажется, есть проблемы. И столбец LateLines должен быть создан в таблице дат, а не в таблице opr_shipments. Так ли это на самом деле? - person Foxan Ng; 17.02.2017