XL 2019 power query

st007

XLDnaute Barbatruc
Bonjour,
Je traitais un fichier .bin avec power query, le .bin grandit toujours. Et power query ne parvient plus à "Fractionner la colonne par délimiteur"
Cela doit engendrer plus de 6 000 colonnes que je transposais, puis re fractionnais etc
Sur le même principe,la requête ci-dessous fonctionne lentement,mais sans soucis.
Quels solutions s'offrent à moi ?



VB:
let
    Source = Csv.Document(File.Contents("C:\build-v510.1.0.bin"),2,":id",ExtraValues.Ignore,1252),
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}}),
    #"Plage de lignes conservée" = Table.Range(#"Type modifié",36,1),
    #"Colonnes supprimées" = Table.RemoveColumns(#"Plage de lignes conservée",{"Column1"}),
    #"Fractionner la colonne par délimiteur" = Table.SplitColumn(#"Colonnes supprimées", "Column2", Splitter.SplitTextByDelimiter("~", QuoteStyle.Csv), {"Column2.1", "Column2.2", "Column2.3", "Column2.4", "Column2.5", "Column2.6", "Column2.7", "Column2.8", "Column2.9", "Column2.10", "Column2.11", "Column2.12", "Column2.13", "Column2.14", "Column2.15", "Column2.16", "Column2.17", "Column2.18", "Column2.19", "Column2.20", "Column2.21", "Column2.22", "Column2.23", "Column2.24", "Column2.25", "Column2.26", "Column2.27", "Column2.28", "Column2.29", "Column2.30", "Column2.31", "Column2.32", "Column2.33", "Column2.34", "Column2.35", "Column2.36", "Column2.37", "Column2.38", "Column2.39", "Column2.40", "Column2.41", "Column2.42", "Column2.43", "Column2.44", "Column2.45", "Column2.46", "Column2.47", "Column2.48", "Column2.49", "Column2.50", "Column2.51", "Column2.52", "Column2.53", "Column2.54", "Column2.55", "Column2.56", "Column2.57", "Column2.58", "Column2.59", "Column2.60", "Column2.61", "Column2.62", "Column2.63", "Column2.64", "Column2.65", "Column2.66", "Column2.67", "Column2.68", "Column2.69", "Column2.70", "Column2.71", "Column2.72", "Column2.73", "Column2.74", "Column2.75", "Column2.76", "Column2.77", "Column2.78", "Column2.79", "Column2.80", "Column2.81", "Column2.82", "Column2.83", "Column2.84", "Column2.85", "Column2.86", "Column2.87", "Column2.88", "Column2.89", "Column2.90", "Column2.91", "Column2.92", "Column2.93", "Column2.94", "Column2.95", "Column2.96", "Column2.97", "Column2.98", "Column2.99", "Column2.100", "Column2.101", "Column2.102", "Column2.103", "Column2.104", "Column2.105", "Column2.106", "Column2.107", "Column2.108", "Column2.109", "Column2.110", "Column2.111", "Column2.112", "Column2.113", "Column2.114", "Column2.115", "Column2.116", "Column2.117", "Column2.118", "Column2.119", "Column2.120", "Column2.121", "Column2.122", "Column2.123", "Column2.124", "Column2.125", "Column2.126", "Column2.127", "Column2.128", "Column2.129", "Column2.130", "Column2.131", "Column2.132", "Column2.133", "Column2.134", "Column2.135", "Column2.136", "Column2.137", "Column2.138", "Column2.139", "Column2.140", "Column2.141", "Column2.142", "Column2.143", "Column2.144", "Column2.145", "Column2.146", "Column2.147", "Column2.148", "Column2.149", "Column2.150", "Column2.151", "Column2.152", "Column2.153", "Column2.154", "Column2.155", "Column2.156", "Column2.157", "Column2.158", "Column2.159", "Column2.160", "Column2.161", "Column2.162", "Column2.163", "Column2.164", "Column2.165", "Column2.166", "Column2.167", "Column2.168", "Column2.169", "Column2.170", "Column2.171", "Column2.172", "Column2.173", "Column2.174", "Column2.175", "Column2.176", "Column2.177", "Column2.178", "Column2.179", "Column2.180", "Column2.181"}),
    #"Table transposée" = Table.Transpose(#"Fractionner la colonne par délimiteur"),
    #"Fractionner la colonne par délimiteur1" = Table.SplitColumn(#"Table transposée", "Column1", Splitter.SplitTextByDelimiter("^", QuoteStyle.Csv), {"Column1.1", "Column1.2", "Column1.3", "Column1.4", "Column1.5", "Column1.6", "Column1.7", "Column1.8"}),
    #"Type modifié1" = Table.TransformColumnTypes(#"Fractionner la colonne par délimiteur1",{{"Column1.1", Int64.Type}, {"Column1.2", type text}, {"Column1.3", type text}, {"Column1.4", type text}, {"Column1.5", type text}, {"Column1.6", type text}, {"Column1.7", type text}, {"Column1.8", type text}}),
    #"Colonnes supprimées1" = Table.RemoveColumns(#"Type modifié1",{"Column1.1", "Column1.4"}),
    #"En-têtes promus" = Table.PromoteHeaders(#"Colonnes supprimées1", [PromoteAllScalars=true]),
    #"Type modifié2" = Table.TransformColumnTypes(#"En-têtes promus",{{"count_from", Int64.Type}, {"level", Int64.Type}, {"reward_type", type text}, {"reward_def_id", Int64.Type}, {"reward_amount", Int64.Type}, {"name_loca_key", type text}}),
    #"Requêtes fusionnées" = Table.NestedJoin(#"Type modifié2", {"name_loca_key"}, client_FR, {"Column1"}, "client_FR", JoinKind.LeftOuter),
    #"client_FR développé" = Table.ExpandTableColumn(#"Requêtes fusionnées", "client_FR", {"Column2"}, {"client_FR.Column2"}),
    #"Colonnes permutées" = Table.ReorderColumns(#"client_FR développé",{"count_from", "client_FR.Column2", "level", "reward_type", "reward_def_id", "reward_amount", "name_loca_key"}),
    #"Colonnes supprimées2" = Table.RemoveColumns(#"Colonnes permutées",{"name_loca_key"}),
    #"Colonne conditionnelle ajoutée" = Table.AddColumn(#"Colonnes supprimées2", "Personnalisé", each if [reward_def_id] = 1 then "Sifflet" else if [reward_def_id] = 2 then "Gemme" else if [reward_type] = "decoration" then "Décoration" else if [reward_type] = "flag" then "Drapeau" else if [reward_type] = "locomotive" then "Locomotive" else if [reward_type] = "wagon" then "Wagon" else null),
    #"Colonne fusionnée insérée" = Table.AddColumn(#"Colonne conditionnelle ajoutée", "Fusionné", each Text.Combine({Text.From([reward_amount], "fr-FR"), " ", [Personnalisé]}), type text),
    #"Colonnes supprimées3" = Table.RemoveColumns(#"Colonne fusionnée insérée",{"Personnalisé", "reward_amount", "reward_type"}),
    #"Colonnes permutées1" = Table.ReorderColumns(#"Colonnes supprimées3",{"count_from", "level", "client_FR.Column2", "reward_def_id", "Fusionné"}),
    #"Colonnes renommées" = Table.RenameColumns(#"Colonnes permutées1",{{"count_from", "Nb Loco"}, {"level", "Niveau"}, {"client_FR.Column2", "Nom"}}),
    #"Colonnes permutées2" = Table.ReorderColumns(#"Colonnes renommées",{"Nb Loco", "Niveau", "Nom", "Fusionné", "reward_def_id"}),
    #"Colonnes renommées1" = Table.RenameColumns(#"Colonnes permutées2",{{"Fusionné", "Récompense"}})
in
 

Cousinhub

XLDnaute Barbatruc
Bonjour,
Dans le fichier joint, j'ai quasiment supprimé tous les onglets pour l'alléger (mais je n'ai supprimé aucune requête)
Dans les requêtes chargeant le fichier *.bin, j'ai modifié la Source...
J'ai rajouté un onglet "Paramètres", et dans les cellules A2 et A6 (nommées "Fich_Bin" et "Client_FR"), j'ai mis le chemin et le nom de ces fichiers.
Ainsi, je prends en référence ces fichiers dans les différentes Source
Il te reste à ajouter les chemins des autres "Clients", (en nommant les cellules comme je l'ai fait), et de modifier les "Source" à l'identique
Je n'ai pas du tout regardé le code des requêtes...
Déjà, si ça permet de simplifier...
Bonne fin de journée
 

Pièces jointes

  • BuildClient-query.xlsx
    337.7 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 864
Messages
2 093 013
Membres
105 601
dernier inscrit
CoachGeGe