Bonjour
(Premier post sur le forum, pardonnez moi si je rate qqc)
J'ai un KPI "On time delivery ou OTD" qui se calcule comme suit : Parmi les X orders qui devaient etre livrées à telle date, combien ont été livrées dans les temps (<= ETA delivery)
Probleme: Je sais calculer l'OTD sur une période de temps (disons tous les jours, tous les mois), mais je cherche a obtenir cet OTD sur une période de 30 jours roulants et ce tous jours.
ex (jour au hasard en 2023): 10-06-2023 / OTD = Nb commandes qui devaient etre livrées entre du 11-05-2023 et le 09-06-2023 et bien été livées à temps
--------
La query qui me donne le KPI tous les jours (mais pas roulant sur la somme des 30J dans le passé) que j'essaye d'améliorer
(Il y a aussi une metric d'on time shipment dans la query que je n'ai pas retirée, mais l'idée est la meme)
Champs comportés par ma table en pj
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 SELECT SELLER_ID ,SELLER_NAME ,DATE(DATETIME_DELIVERY_ORDER_ESTIMATED_LOCAL_TIME) AS DATE_DELIVERY_ETA ,COUNT(DISTINCT(ORDER_ID)) AS NB_ORDERS ,COUNT(DISTINCT(CASE WHEN SHIPPED_ON_TIME = 1 THEN ORDER_ID END)) AS NB_ORDERS_OTS ,ROUND(SAFE_DIVIDE(COUNT(DISTINCT(CASE WHEN SHIPPED_ON_TIME = 1 THEN ORDER_ID END)),COUNT(DISTINCT(ORDER_ID))), 4) AS OTS ,COUNT(DISTINCT(CASE WHEN DELIVERED_ON_TIME = 1 THEN ORDER_ID END)) AS NB_ORDERS_OTD ,ROUND(SAFE_DIVIDE(COUNT(DISTINCT(CASE WHEN DELIVERED_ON_TIME = 1 THEN ORDER_ID END)),COUNT(DISTINCT(ORDER_ID))), 4) AS OTD FROM `universe-prod-20220914.shipping.universe_delivery_forwards` WHERE 1=1 AND SELLER_ID = '1EU' -- Filter on specific sellers AND DATE(DATETIME_DELIVERY_ORDER_ESTIMATED_LOCAL_TIME) >= CURRENT_DATE()-365 -- Date start AND DATE(DATETIME_DELIVERY_ORDER_ESTIMATED_LOCAL_TIME) < CURRENT_DATE() -- Date end - maximum current date (exclude orders to be delivered after today) GROUP BY 1,2,3 ORDER BY 1,3 DESC
DATETIME_CREATION_ORDER
DATETIME_DELIVERY_ORDER_ESTIMATED_LOCAL_TIME
DATETIME_DELIVERY_ORDER
DATETIME_SHIPPING_ORDER
DATETIME_SHIPPING_ORDER_ESTIMATED_LOCAL TIME
DELIVERED_ON_TIME
SHIPPED
J'utilise Google cloud / Big Query
Merci d'avance
Partager