Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
¿Alguien tiene experiencia en el análisis de una columna con datos Json mediante Dax? Tengo conjuntos de datos que están conectados a mi escritorio de PowerBI mediante LiveConnection, por lo que Power Query no es una opción para mí :(.
Mi valor tiene una estructura como {"id":"12345","name":"Lily","keywords":" null","filters":"[]"} y quiero crear una nueva columna con name como nombre de columna y el valor después de name como valores de columna.
¿Es posible hacerlo con DAX?
¡Muchas gracias por su ayuda de antemano!
<3<3<3
Brenda
Utilice una instrucción SWITCH o IF. En DAX, prefiero usar SWITCH. Así que modifique la columna [Nombre] a algo como esto:
Name2 = SWITCH(
TRUE(),
MID( [JSON], 3, 2 ) = "id", MID( [JSON], [FindStart], [FindEnd] - [FindStart] ),
// this checks for the condition = "id"
BLANK() ) // if condition <> "id", then blank
Puedes reemplazar BLANK() con lo que quieras que sea tu parte "else".
Espero que esto resuelva este problema.
Saludos
¡Muchas gracias! Creo que su sugerencia es inspiradora.
Sin embargo, tengo un problema con respecto a los valores en [Json]. Esos valores tienen básicamente dos estructuras diferentes:
Uno comenzaba como {"searchID":"... ... ..." ... } y otro es como el que mencioné anteriormente {"id":"12345","name":"Lily","keywords":" null","filters":"[]"}.
Quiero especificar en mi DAX que la función FIND() solo se aplica al segundo tipo de estructura. ¿Tienes alguna idea de lo que debo hacer? ¡Muchas gracias!
DAX tiene una serie de funciones de cadena que se pueden usar para analizar una cadena de texto.
Aquí hay un método. Lo he dividido en columnas separadas para ver mejor la lógica.
Puedes combinarlo en uno solo si te sientes cómodo con eso.
FindStart = FIND("name", [JSON] ) + 7 // Find your starting position for the Name
FindEnd = FIND( "keywords", [JSON] ) - 3 // Finds your ending position
Name = MID( [JSON], [FindStart], [FindEnd] - [FindStart] ) // Extracts the Name
Una búsqueda en Google sobre funciones de cadena DAX puede conducir a otros métodos. Como dije, esto es simplemente una forma.
Espero que esto ayude.
Saludos
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |