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 ?
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