Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Anonymous
Not applicable

Cómo convertir la siguiente fila de una base de datos a null en función de la condición

Tengo los siguientes datos en Excel:

Pict1.PNG

Si lo leo en Power Bi, me gustaría conseguir algo como:

Pict2.PNG

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?

1 ACCEPTED SOLUTION
v-easonf-msft
Community Support
Community Support

Hola , @McMur

Pruebe los pasos como se indica a continuación:

Introduzca la interfaz de "editar consultas"/"transformar datos"

1.Crear columna de índice

70.png

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:

71.png

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:
72.png

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.

View solution in original post

4 REPLIES 4
v-easonf-msft
Community Support
Community Support

Hola , @McMur

Pruebe los pasos como se indica a continuación:

Introduzca la interfaz de "editar consultas"/"transformar datos"

1.Crear columna de índice

70.png

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:

71.png

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:
72.png

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.

Anonymous
Not applicable

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?

amitchandak
Super User
Super User

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

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
Anonymous
Not applicable

@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?

Pict3.PNG

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.