2017-03-15 5 views
1

Je travaille depuis un moment avec Microsoft Power Query M et j'ai la situation dont j'ai besoin pour transformer les noms dans la première colonne en Camelcase.Convertir une chaîne AnyName en Camelcase

Je reçois les données sous la forme Any_Name. La première étape que je fais est de remplacer _ par « »:

#"Replaced Value" = Table.ReplaceValue(#"Expanded {0}","_","",Replacer.ReplaceText,{"Column1.dbColumnName"}) 

La sortie de la fonction ci-dessus pour chaque cellule dans la première Colum est anyName et je dois maintenant de transformer le premier caractère en un caractère en minuscule pour un Camelcase String.

Comment est-il possible de le faire? Comme il n'y a pas de fonction pour cela. Je pensais à prendre le premier caractère en divisant le texte avec Text.Split. Cette fonction permet seulement la division au caractère désiré. Mais pas au numéro du personnage. Il n'est donc pas possible de dire split à charpos 0. La transformation en majuscule doit être faite avec Text.Upper. L'utilisation de Text.PadStart pourrait être utilisée pour ajouter à nouveau le caractère transformé.

Mon problème est que je sais comment l'appliquer sur toutes les cellules de la première colonne.

Répondre

3

Vous pouvez utiliser

let 
    Source = #table(type table[Name = text],{{"MarcelBeug"},{"IrgendwPointer"}}), 
    camelCase = Table.TransformColumns(Source,{"Name", each Text.Lower(Text.Start(_,1))&Text.Range(_,1)}) 
in 
    camelCase