Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
¡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
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], ", " )
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.