Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Sign up nowGet Fabric certified for FREE! Don't miss your chance! Learn more
¡Hola! Necesito ayuda para dar formato a una columna de texto. Parece tan fácil hacerlo en SQL usando funciones de cadena, pero necesito ayuda para hacerlo usando DAX:
Tengo una columna que tiene dos problemas: cada valor es una lista de nombres, pero se ven mal porque no hay espacio después de cada coma, y los nombres no siempre están en mayúsculas.
Ejemplo de mi columna con valores que no se ve ordenada y necesita ser corregida:
"Mi columna"
asmith,jnorth,wjones
aLee,mjonson,rwillis,KBronson
Jjones,frowen
Necesito que los valores se vean así (un solo espacio después de cada coma y las dos primeras letras de cada nombre en mayúsculas mientras que las otras letras están en minúsculas):
"Mi columna"
ASmith, JNorth, WJones
ALee, MJonson, RWillis, KBronson
JJones, FRowen
¡Gracias! Tiene que ser un ajuste que necesito colocar en un campo "Recurso" de un diagrama de Gantt en un proyecto de Power BI.
Hola @E12345
Agregue esta columna personalizada en el editor de consultas:
let
// Split the text in MyColumn using commas as the delimiter
SplitText = Text.Split([MyColumn], ","),
// Transform each part by uppercasing the first two characters and lowercasing the rest
UppercasedFirstTwoChars =
List.Transform(SplitText, each Text.Upper(Text.Start(_,2)) & Text.Lower(Text.End(_, Text.Length(_)-2))),
// Recombine the transformed parts into a single text, joined by commas
Recombined = Text.Combine(UppercasedFirstTwoChars, ", ")
in
// Output the recombined text
Recombined
Muchas gracias, pero está usando el lenguaje M y necesito una medida DAX para ponerla en Power BI Desktop. Usamos conexión en vivo, por lo que no tengo acceso al lenguaje Power Query/M.
Hola, danextian, gracias por tu preocupación sobre este tema.
¡Tu respuesta es excelente!
Y me gustaría compartir algunas soluciones adicionales a continuación.
Hola, @E12345 . Estaré encantado de ayudarte.
Observo que danextian ya ha proporcionado un caso de solución para el código dax.
Sin embargo, dado que está utilizando conexiones en vivo como modo de conexión de datos. Hay algunas funciones y capacidades de DAX que pueden estar limitadas. El modo Conexiones dinámicas se usa principalmente para conectarse a conjuntos de datos de Power BI o modelos de Analysis Services existentes, en lugar de importar datos directamente. Como resultado, es posible que algunas manipulaciones y cálculos de datos no sean tan flexibles como en el modo de importación.
Esto está relacionado con la versión de su modelo.
Puede intentar probar esta medida en Power BI Desktop mediante el modo Conexiones en vivo para ver si funciona correctamente.
Como ha mencionado, en el modo Live Connections, los usuarios normalmente no tienen acceso para modificar el modelo de datos. Por lo tanto, mover algunos de los cálculos a la fuente de datos para el preprocesamiento también es una mejor solución. Esto garantiza que, al usar Live Connections en Power BI, los datos se hayan procesado de la manera necesaria.
Siempre que tenga la autoridad para modificar ese modelo de AS.
Se trata de una limitación del modelo de conexión de conexiones en directo.
Resuelto: Re: Limitaciones de conexión en tiempo real - Comunidad de Microsoft Fabric
Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, aclare en una respuesta de seguimiento.
Saludos
Carson Jian
Gracias por la sugerencia. Tengo acceso a los datos de origen/modelo de datos, por lo que solo confío en las medidas de Dax en el lado de Power BI Desktop.
Me di cuenta de que querías DAX, así que aquí están
CapitalizedFirstTwoCharacters CalcColumn =
VAR CountOfComma =
LEN ( 'Table'[MyColumn] ) - LEN ( SUBSTITUTE ( 'Table'[MyColumn], ",", "" ) )
VAR Numbers =
GENERATESERIES ( 1, 2, 1 )
VAR Substituted =
SUBSTITUTE ( 'Table'[MyColumn], ",", "|" )
VAR _Names =
ADDCOLUMNS (
Numbers,
"@name",
VAR _item =
PATHITEM ( Substituted, [Value] )
VAR _itemLength =
LEN ( _item )
RETURN
UPPER ( LEFT ( _item, 2 ) )
& LOWER ( RIGHT ( _item, _itemLength - 2 ) )
)
RETURN
CONCATENATEX ( _Names, [@name], ", " )
CapitalizedFirstTwoCharacters Measure =
VAR _Value = MAX ( 'Table'[MyColumn] )
VAR CountOfComma =
LEN ( _Value ) - LEN ( SUBSTITUTE (_Value, ",", "" ) )
VAR Numbers =
GENERATESERIES ( 1, CountOfComma, 1 )
VAR Substituted =
SUBSTITUTE (_Value, ",", "|" )
VAR _Names =
ADDCOLUMNS (
Numbers,
"@name",
VAR _item =
PATHITEM ( Substituted, [Value] )
VAR _itemLength =
LEN ( _item )
RETURN
UPPER ( LEFT ( _item, 2 ) )
& LOWER ( RIGHT ( _item, _itemLength - 2 ) )
)
RETURN
CONCATENATEX ( _Names, [@name], ", " )
¡Muchas gracias! ¡Es perfecto!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.