Итак, у меня есть набор данных с днями, чтобы доставить продукт, который выглядит следующим образом
Примечание. Заказ с DaysToDeliver = 0 означает, что он был доставлен в тот же день покупки, тогда как DaysToDeliver = NULL означает, что он не был доставлен.
| ItemID | OrderStatus | DateDelivered | DaysToDeliver |
--------------------------------------------------------
| 12145 | canceled | null | null |
| 12145 | delivered | 2019-02-01 | 0 |
| 12145 | delivered | 2019-02-01 | 1 |
| 12145 | delivered | 2019-02-01 | 1 |
| 12145 | delivered | 2019-02-01 | 3 |
Мне нужно вычислить процентиль 80 по выбранной дате (показывается по дням, неделям, месяцам), но я думаю, что я не использую правильную формулу для вычисления процентиля.
Я использовал следующие формулы и получил разные результаты с каждой из них:
ФОРМУЛА 1
P80. Leadtime = CALCULATE(
PERCENTILEX.INC(
FILTER( 'LogisticsDB', 'LogisticsDB'[DaysToDeliver] <> BLANK() )
,'LogisticsDB'[DaysToDeliver]
, 0.80
)
,USERELATIONSHIP(
Calendar[Date]
,'LogisticsDB'[DateDelivered]
)
)
ФОРМУЛА 2
P80. Leadtime = CALCULATE(
PERCENTILE.INC(
'LogisticsDB'[DaysToDeliver]
,0.80
)
,FILTER(
'LogisticsDB'
,'LogisticsDB'[DaysToDeliver] <> BLANK()
)
,USERELATIONSHIP(
Calendar[Date]
,'LogisticsDB'[DateDelivered]
)
)
ФОРМУЛА 3
P80. Leadtime = CALCULATE(
PERCENTILE.INC(
'LogisticsDB'[DaysToDeliver]
,0.80
)
,FILTER(
'LogisticsDB'
,'LogisticsDB'[DaysToDeliver] >= 0
)
,USERELATIONSHIP(
Calendar[Date]
,'LogisticsDB'[DateDelivered]
)
)