March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Tengo los siguientes datos en Excel:
Si lo leo en Power Bi, me gustaría conseguir algo como:
Basado en condiciones como:
Si Hum. > 80 y Temp. <- 2 ---> La siguiente fila lo llena con valores NULL
¿Es posible aplicar condiciones al cargar datos? ¿Debo cargar los datos de origen y, después de eso, aplicar condiciones a toda la tabla? ¿Es posible apaciguar las condiciones de toda la tabla a la vez en lugar de columna por columna?
Solved! Go to Solution.
Hola , @McMur
Pruebe los pasos como se indica a continuación:
Introduzca la interfaz de "editar consultas"/"transformar datos"
1.Crear columna de índice
2. haga clic con el botón derecho en "Insertar paso después" para insertar el paso "filtro"
= Table.SelectRows(#"Added Index",each if [Index]=1 then true else not(#"Added Index"{[Index]-2}[#"Hum."]>=80 and #"Added Index"{[Index]-2}[#"Temp."]<=2))
Se mostrará como se muestra a continuación:
3. Añadir paso "AddNullrow" :
= List.Generate( () =>
[RowNumber = Table.RowCount(#"Added Index"), TableResult = FilterTable, Counter = 1],
each [Counter] <= [RowNumber]+1,
each [
TableResult = if let c = [Counter] in Table.RowCount(Table.SelectRows(FilterTable, each [Index] = c)) = 0
then Table.InsertRows([TableResult],[Counter]-1, {[#"Hum." = null, #"Temp." = null, #"Vel." = null, Index = [Counter]]})
else [TableResult],
Counter = [Counter] + 1,
RowNumber = [RowNumber]
],
each [TableResult]
){Table.RowCount(#"Added Index")}
Se mostrará como se muestra a continuación:
Aquí hay una demostración.
PS. Reemplazar con null consumirá mucho rendimiento, y si su fuente de datos es excel, el método no acortará el tiempo de actualización
Saludos
Equipo de Apoyo Comunitario _ Eason
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola , @McMur
Pruebe los pasos como se indica a continuación:
Introduzca la interfaz de "editar consultas"/"transformar datos"
1.Crear columna de índice
2. haga clic con el botón derecho en "Insertar paso después" para insertar el paso "filtro"
= Table.SelectRows(#"Added Index",each if [Index]=1 then true else not(#"Added Index"{[Index]-2}[#"Hum."]>=80 and #"Added Index"{[Index]-2}[#"Temp."]<=2))
Se mostrará como se muestra a continuación:
3. Añadir paso "AddNullrow" :
= List.Generate( () =>
[RowNumber = Table.RowCount(#"Added Index"), TableResult = FilterTable, Counter = 1],
each [Counter] <= [RowNumber]+1,
each [
TableResult = if let c = [Counter] in Table.RowCount(Table.SelectRows(FilterTable, each [Index] = c)) = 0
then Table.InsertRows([TableResult],[Counter]-1, {[#"Hum." = null, #"Temp." = null, #"Vel." = null, Index = [Counter]]})
else [TableResult],
Counter = [Counter] + 1,
RowNumber = [RowNumber]
],
each [TableResult]
){Table.RowCount(#"Added Index")}
Se mostrará como se muestra a continuación:
Aquí hay una demostración.
PS. Reemplazar con null consumirá mucho rendimiento, y si su fuente de datos es excel, el método no acortará el tiempo de actualización
Saludos
Equipo de Apoyo Comunitario _ Eason
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @v-easonf-msft,
Gracias por su respuesta. Sin embargo, soy bastante novato en el lenguaje de programación DAX y estaría agradecido si pudiera sortee algunos comentarios en el paso 3 cuando se agrega el "AddNullrow".
Al mismo tiempo, cuando dices que este enfoque va a consumir mucho rendimiento, ¿es porque quiero convertir esa fila a, específicamente, valores null? ¿Sería el mismo consumo si esa fila se convierte en 0, por ejemplo?
Consulte, si estos pueden ayudar
https://community.powerbi.com/t5/Desktop/Filter-row-with-Power-query-m/td-p/571779
https://docs.microsoft.com/en-us/powerquery-m/table-selectrows
@amitchandak Gracias por los enlaces. No obstante, quiero convertir a null siguiente fila en función de la condición marcada en la anterior.
He visto que es posible filtrar filas pero en función de sus propios valores. ¿Cómo se puede aplicar el mismo enfoque pero utilizando valores de la fila anterior? ¿Es posible?
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.