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.
He creado en una variable igual a 1. Quiero recorrer en iteración una columna y (si el valor es null) hacer dos cosas:
Algo así:
cada uno si [Column] - null then variable AND variable-variable+1 else [Column]
¿Cuál es la sintaxis adecuada para reemplazar AND?
Solved! Go to Solution.
Hola @th3h0bb5 ,
Compruebe si funciona:
Dejar
Fuente: Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyVorViVYyMTUD03mlOTmoDDHMLS6XYWAA-", BinaryEncoding.Base64), Compression.Deflate)), let _t á ((texto de tipo) [Serialized.Text ? true]) en la tabla de tipos [Column1 á _t])
"Tipo modificado" ? Table.TransformColumnTypes(Source,-"Column1", Int64.Type-),
"Índice añadido" - Tabla.Combinar(
"Tipo modificado", cada uno [Column1] <> null),
Table.AddIndexColumn(Table.SelectRows(?"Tipo cambiado", cada uno [Column1] - null), "Index", 1, 1)
}),
"Columna duplicada" á Table.DuplicateColumn('Added Index','Column1', "Column1 - Copy"),
"Columnas combinadas" ? Tabla.CombineColumns(Table.TransformColumnTypes(?"Columna duplicada", "Columna1 - Copiar", texto de tipo, "índice", texto de tipo, "pt-BR"), "Column1 - Copiar", "índice",Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Column2")
En
"Columnas combinadas"
Power Query usa minúsculas y.
Aparte de eso, no entiendo tu fórmula. PQ utiliza if/then/else, y puede anidar instrucciones if.
each if [Column] = null then variable AND variable=variable+1 else [Column]
si la columna null, usted está diciendo "entonces variable y variable - variable +1" - que es una comparación de lógica booleana, que no puedo dar sentido. ¿Puede proporcionar un ejemplo real?
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reporting'AND' en mi ejemplo anterior es un marcador de posición, ya que en realidad no es lo correcto para poner allí. No estoy muy seguro de cómo volver a decir esto. Puede ver las columnas de entrada/salida de ejemplo que he proporcionado anteriormente si eso ayuda.
En inglés, quiero una línea de código que diga:
Quiero que Powerquery realice 2 acciones si mis criterios son verdaderos. En code-lish sería "IF true THEN do 1 y 2 ELSE do 3."
En la mayoría de los lenguajes de programación, esto podría hacerse fácilmente almacenando una variable y luego iterando a través de una lista con un FOR LOOP.
No está seguro si desea:
o "si entonces si entonces si entonces si no" ? No sé cuál es tu lógica por lo que publicaste.
Lo que me gustaría es que las acciones x2 ocurran durante la parte 'THEN' de la declaración IF:
SI [columna] - nulo
ENTONCES DoThing1 y DoThing2
ELSE DoThing3
Probablemente voy a tener que salir de aquí y llamar a @ImkeF y @edhans . Tal vez es sólo porque no puedo ver el resto del código o cómo se usa en el contexto de una columna o una función o consulta, pero me parece que tendría que usar otra instrucción let.
si blah-blah entonces deja var blah, var2 en ...
https://bengribaudo.com/blog/2018/01/19/4321/power-query-m-primer-part4-variables-identifiers
@Greg_Deckler Exactamente lo que estaba buscando! Muy útil para recuperar datos solo si se cumple una determinada condición de parámetro.
¡Voy a ver el artículo!
Mi objetivo es crear un índice de incremento automático, pero solo para las filas donde mi clave es null (es una historia larga y desordenada). Si Column1 a continuación es lo que tenía, mi salida deseada es Column2.
Columna1 | Columna2 |
123 | 123 |
456 | 456 |
1 | |
2 | |
789 | 789 |
Para ello, quiero crear una columna condicional de la siguiente manera:
Table.AddColumn(
Fuente
"Column2",
Cada
si [Column1] - nulo
a continuación indexVariable e indexVariable-indexVariable+1
[Columna2])
Hola @th3h0bb5 ,
Compruebe si funciona:
Dejar
Fuente: Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyVorViVYyMTUD03mlOTmoDDHMLS6XYWAA-", BinaryEncoding.Base64), Compression.Deflate)), let _t á ((texto de tipo) [Serialized.Text ? true]) en la tabla de tipos [Column1 á _t])
"Tipo modificado" ? Table.TransformColumnTypes(Source,-"Column1", Int64.Type-),
"Índice añadido" - Tabla.Combinar(
"Tipo modificado", cada uno [Column1] <> null),
Table.AddIndexColumn(Table.SelectRows(?"Tipo cambiado", cada uno [Column1] - null), "Index", 1, 1)
}),
"Columna duplicada" á Table.DuplicateColumn('Added Index','Column1', "Column1 - Copy"),
"Columnas combinadas" ? Tabla.CombineColumns(Table.TransformColumnTypes(?"Columna duplicada", "Columna1 - Copiar", texto de tipo, "índice", texto de tipo, "pt-BR"), "Column1 - Copiar", "índice",Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Column2")
En
"Columnas combinadas"
@camargos88 ¡Gracias! Terminé haciendo algo muy similar a tu solución. Creé una columna de índice y la usé para reemplazar mis valores nulos en lugar de una variable de incremento.
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 | |
2 | |
2 | |
2 | |
1 |