Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register 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?
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.