Power Query Agreger les resultats de 2 colonnes

boza

XLDnaute Nouveau
Bonjour à toutes et tous,
J'ai beau chercher je ne trouve pas donc je me tourne une nouvelle fois sur la communauté.
J'ai un Tableau Excel avec X colonnes.
Tous les champs sont identiques sauf pour delivery.delivery.deliveryWindows.start et delivery.delivery.deliveryWindows.end.
Je ne dois pas avoir de lignes doublonnées sur le critère delivery.delivery.deterministicId. Il faut donc agréger les résultats delivery.delivery.deliveryWindows.start et delivery.delivery.deliveryWindows.end.
Pouvez vous m'aider svp?
Merci
 

Pièces jointes

  • agreg pwq.xlsx
    10.6 KB · Affichages: 4

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
Dans ton fichier, il n'y a que 2 sessions (1 le matin, 1 l'apm)
Est-ce que c'est figé, ou il peut y avoir plusieurs sessions?
Et est-ce que l'ajout de colonnes est imposé, ou on peut fusionner les différentes sessions sous la forme :
choix 1 : "hh:mm/hh:mm hh:mm/hh:mm" ou choix 2 : pareil, mais avec retour à la ligne
soit dans ton exemple
109:30/12:00 13:00/1500
209:30/12:00
13:00/1500
 

boza

XLDnaute Nouveau
Bonjour,
Dans ton fichier, il n'y a que 2 sessions (1 le matin, 1 l'apm)
Est-ce que c'est figé, ou il peut y avoir plusieurs sessions?
Et est-ce que l'ajout de colonnes est imposé, ou on peut fusionner les différentes sessions sous la forme :
choix 1 : "hh:mm/hh:mm hh:mm/hh:mm" ou choix 2 : pareil, mais avec retour à la ligne
soit dans ton exemple
109:30/12:00 13:00/1500
209:30/12:00
13:00/1500
Bonjour,
C'est figé sur 2 créneaux. Mais je peux avoir du 8h-9h et du 9h30-10h30 donc 2 matin. Le choix 1 est le mieux pour répondre a ta question.
Merci !
 

mromain

XLDnaute Barbatruc
Bonjour à tous,

Ci-dessous une version retouchée de la proposition de @bhbh se passant des requêtes internes.
Récupérer les différentes valeurs de start et end se fait au niveau du regroupement des lignes avec les opérations Min et Max.

Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    LignesGroupées = Table.Group(Source, {"delivery.delivery.id", "delivery.delivery.deterministicId", "delivery.delivery.tourId", "delivery.delivery.completedAt", "delivery.delivery.startedAt", "delivery.delivery.customer.id", "delivery.delivery.customer.number", "delivery.delivery.customer.name", "delivery.delivery.customer.homeStore", "delivery.delivery.unloadTime", "delivery.delivery.rank", "delivery.delivery.addressId", "delivery.delivery.status", "delivery.delivery.cancellationReason", "delivery.delivery.deliveryNumber", "delivery.delivery.skippedReason", "store_number", "routeName", "deliveryDate", "country", "dana_ingestion_timestamp", "PARTITIONTIME"}, {{"delivery.delivery.deliveryWindows.start.1", each List.Min([delivery.delivery.deliveryWindows.start]), type text}, {"delivery.delivery.deliveryWindows.start.2", each List.Max([delivery.delivery.deliveryWindows.start]), type text}, {"delivery.delivery.deliveryWindows.end.1", each List.Min([delivery.delivery.deliveryWindows.end]), type text}, {"delivery.delivery.deliveryWindows.end.2", each List.Max([delivery.delivery.deliveryWindows.end]), type text}}),
    ColonnesSélectionnées = Table.SelectColumns(LignesGroupées,{"delivery.delivery.id", "delivery.delivery.deterministicId", "delivery.delivery.tourId", "delivery.delivery.completedAt", "delivery.delivery.startedAt", "delivery.delivery.customer.id", "delivery.delivery.customer.number", "delivery.delivery.customer.name", "delivery.delivery.customer.homeStore", "delivery.delivery.deliveryWindows.start.1", "delivery.delivery.deliveryWindows.end.1", "delivery.delivery.deliveryWindows.start.2", "delivery.delivery.deliveryWindows.end.2", "delivery.delivery.unloadTime", "delivery.delivery.rank", "delivery.delivery.addressId", "delivery.delivery.status", "delivery.delivery.cancellationReason", "delivery.delivery.deliveryNumber", "delivery.delivery.skippedReason", "store_number", "routeName", "deliveryDate", "country", "dana_ingestion_timestamp", "PARTITIONTIME"})
in
    ColonnesSélectionnées

Sur l'exemple fourni, cette requête renvoie le même résultat que la requête de bhbh proposée au post #10.

A+
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 107
dernier inscrit
cdel