Power Query transforme une table avec des plages de dates quotidiennes
J'utilise Power Query pour résoudre le problème suivant: besoin de créer une répartition quotidienne des données en fonction d'une plage de dates.
J'ai un tableau avec les résultats des campagnes publicitaires. Chaque ligne est une campagne avec un index comme ID. Il a une date de début, une date de fin (ou une durée) et certains champs numériques, dans ce cas AdRequests et Spend. Pour chaque ligne, il s'agit d'un total pour le nombre de jours dans la colonne Durée.
Ce que je dois faire, c'est décomposer cela en données quotidiennes. Remplissez une donnée quotidienne avec les valeurs de dépenses, etc. étant une moyenne quotidienne. NB le nombre de campagnes varie d'un projet à l'autre, il doit être dynamique
c'est à dire c'est ma table d'entrée

et voici ce que je veux que ce soit. Ceci est un exemple pour la 1ère campagne uniquement, mais le tableau doit les avoir tous, et cela varie d'un projet à l'autre.

Je dois livrer cela demain, et jusqu'à présent, ma recherche n'a rien donné de bon à distance. merci pour toutes les idées, à l'avance
Réponses
Voici comment je l'ai fait.
- Ajoutez une colonne personnalisée avec la formule = {1 .. [Durée]}
- Développez la colonne personnalisée
- Changer la date de début en type de numéro
- Ajoutez une colonne personnalisée avec la formule = [Date de début] + [Personnalisé] -1
- Remplacer la date de début par une colonne de type de date
- Supprimer les colonnes inutiles
- Renommer les colonnes
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Index", Int64.Type}, {"Start Date", type datetime}, {"Ad Requests", Int64.Type}, {"Spend", Int64.Type}, {"Duration", Int64.Type}, {"Daily Adrequests", Int64.Type}, {"Daily Spend", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each {1..[Duration]}),
#"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded Custom",{{"Start Date", Int64.Type}}),
#"Added Custom1" = Table.AddColumn(#"Changed Type1", "Custom.1", each [Start Date] + [Custom] -1),
#"Changed Type2" = Table.TransformColumnTypes(#"Added Custom1",{{"Custom.1", type date}}),
#"Reordered Columns" = Table.ReorderColumns(#"Changed Type2",{"Index", "Custom.1", "Start Date", "Ad Requests", "Spend", "Duration", "Daily Adrequests", "Daily Spend", "Custom"}),
#"Removed Columns" = Table.RemoveColumns(#"Reordered Columns",{"Start Date", "Ad Requests", "Spend", "Duration"})
in
#"Removed Columns"
Avant après
