2017-02-09 3 views
0

Я довольно новичок в PowerBI, и я пытаюсь вычислить расчётный столбец «Ежемесячная по времени доставки».PowerBI - расчетный столбец с расчитанным месяцем

enter image description here

enter image description here

ОШИБКА ИЗОБРАЖЕНИЯ enter image description here

ежедневно добавляет ПЕРЕСЫЛКА COUNT (Игнорируйте неправильный MTD название Пересылка Count) enter image description here

Каждая строка представляет один день в матрице

Для каждого дня я хочу получить MonthShippedTotal/(MonthShippedTotal-MonthPastDue), это должно дать мне мой процент прокачки времени.

Это то, что я до сих пор, но результаты далеко:

> MonthlyOTD = VAR RowDate = opr_shipments[SHIP_DATE] RETURN 
>  CALCULATE (
>   DIVIDE((COUNT(opr_shipments[CREATE_TIMESTAMP])-COUNTAX(opr_shipments,opr_shipments[PAST_DUE]="1")),COUNT(opr_shipments[CREATE_TIMESTAMP]),0), 
>   FILTER (
>    opr_shipments, 
>    opr_shipments[SHIP_DATE] <= RowDate 
>     && MONTH (opr_shipments[SHIP_DATE]) = MONTH (RowDate) && YEAR (opr_shipments[SHIP_DATE]) = YEAR (RowDate) 
>  ) 
> ) 

MTD Отгрузка Calc:

MTD Shipments = 
VAR RowDate = opr_shipments[SHIP_DATE] 
RETURN 
    CALCULATE (
     SUM (opr_shipments[Daily Shipments]), 
     FILTER (
      opr_shipments, 
      opr_shipments[SHIP_DATE] <= RowDate 
       && MONTH (opr_shipments[SHIP_DATE]) = MONTH (RowDate) && YEAR (opr_shipments[SHIP_DATE]) = YEAR (RowDate) 
     ) 
    ) 

просрочен Весь Calc:

PastDueTotal = 
VAR RowDate = opr_shipments[SHIP_DATE] 
RETURN 
    CALCULATE (
     SUM(opr_shipments[Daily Shipments]), 
     FILTER (
      opr_shipments, 
      opr_shipments[SHIP_DATE] <= RowDate 
       && DAY (opr_shipments[SHIP_DATE]) = DAY (RowDate) && opr_shipments[PAST_DUE] = "1" 
     ) 
    ) 

За каждый пн это будет начаться.

Мой желаемый результат: Янв 1 | 98% 2 января | 98,3% 3 января | 95% ... 31 Янв | 94,5% 1 февраля | 100%

+0

Какова структура ваших таблиц? как рассчитываются поставки MTD и просроченные общие меры? –

+0

Alejandro, я обновил свой вопрос выше. – xXPhenom22Xx

+0

Является ли прошлое общей суммой MTD? обратите внимание, что вы указываете дополнительное условие в фильтре PAST_DUE = 1 –

ответ

0

Я думаю, что что-то вроде этого может работать для расчетной колонки MonthlyOTD.

MonthlyOTD = 
VAR RowDate = opr_shipments[SHIP_DATE] 
RETURN 
    SUMX (
     FILTER (
      opr_shipments, 
      [SHIP_DATE] <= RowDate 
       && MONTH ([SHIP_DATE]) = MONTH (RowDate) 
       && YEAR (opr_shipments[SHIP_DATE]) = YEAR (RowDate) 
     ), 
     DIVIDE ([MTD Shipments], [MTD Shipments] - [PastDueTotal]) 
    ) 

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

UPDATE: кажется OP не требует ежемесячного нарастающего итога поэтому окончательное выражение было:

MonthlyOTD = DIVIDE (([MTD Shipment Count] - [Lines]), [MTD Shipment Count]) 

Позволь мне знать, если это помогает.

+0

Получение некоторых действительно сумасшедших процентов, см. Прикрепленное изображение вверху. – xXPhenom22Xx

+0

@ xXPhenom22Xx, загрузите изображение на свой вопрос, а не мой ответ. –

Смежные вопросы