Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreJoin the FabCon + SQLCon recap series. Up next: Power BI, Real-Time Intelligence, IQ and AI, and Data Factory take center stage. All sessions are available on-demand after the live show. Register now
Hola a todos
Estoy buscando una solución alternativa para la siguiente cae.
La fila actual es nula y añadimos 1 al valor de la fila anterior y la colocamos en la fila actual
Quiero rellenar estos valores nulos agregando 1 al valor de la fila anterior en Power Query
Hola @Singh_10 ,
Basándome en su descripción, creé estos datos.
Por favor, siga estos pasos:
1. Agregue una columna personalizada.
if [Column1] = null then "NULL" else Text.From([Column1])
2.Filas agrupadas
3.Amplíe los datos.
4.Elija la columna1 y rellene hacia abajo.
5. Agregue una columna personalizada.
if [Custom] = "NULL" then [Column1] + [Index] else Number.FromText([Custom])
El resultado final es el que se muestra en la imagen a continuación, y puede eliminar las columnas que no necesite.
El código M general es el siguiente:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjRUitWJVjI2BlMIwtQUTcDMTCk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [Column1] = null then "NULL" else Text.From([Column1])),
#"Grouped Rows" = Table.Group(#"Added Custom", {"Custom"}, {{"Data", each Table.AddIndexColumn(_, "Index", 1, 1, Int64.Type)}}, GroupKind.Local),
#"Expanded Data" = Table.ExpandTableColumn(#"Grouped Rows", "Data", {"Column1", "Index"}, {"Column1", "Index"}),
#"Filled Down" = Table.FillDown(#"Expanded Data",{"Column1"}),
#"Added Custom1" = Table.AddColumn(#"Filled Down", "Custom2", each if [Custom] = "NULL" then [Column1] + [Index] else Number.FromText([Custom]))
in
#"Added Custom1"
Si tiene alguna otra pregunta, no dude en ponerse en contacto conmigo.
Saludos
Zhu
Equipo de apoyo a la comunidad
Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.
Si no entiendo sus necesidades o aún tiene problemas con él, no dude en hacérnoslo saber. ¡Muchas gracias!
Buen día @Singh_10 ,
Un enfoque consiste en generar una nueva lista para cada columna iterando a través de cada columna y generando un valor que es el valor de la lista original o el valor anterior más uno. Estas nuevas listas pueden reemplazar las columnas originales. Aquí hay algo de código.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjYwMjUyMlfSAbEsLAwMlWJ1oiFsYyOwqLGRsYk5VNTYyMTMDCJqamluARbNK83JAQqBKVrwTQzAACgEZBmCWBiqYgE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [value_min = _t, value_max = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"value_min", Int64.Type}, {"value_max", Int64.Type}}),
fillMins = fnFillNulls(#"Changed Type"[value_min]),
fillMaxs = fnFillNulls(#"Changed Type"[value_max]),
tblHeaders = Table.ColumnNames(#"Changed Type"),
tblColumns = {fillMins} & {fillMaxs},
combined = Table.FromColumns(tblColumns, tblHeaders),
#"Changed Type1" = Table.TransformColumnTypes(combined,{{"value_min", Int64.Type}, {"value_max", Int64.Type}}),
fnFillNulls = (col as list) as list =>
List.Generate( ()=>
[i=0, output=col{0}],
each [i] < List.Count(col),
each [i=[i]+1, output = if col{i}=null then [output]+1 else col{i}],
each [output]
)
in
#"Changed Type1"
El resultado es (agregué filas después de sus datos para mostrar "volver a la normalidad" después de una serie de valores nulos).
Espero que esto ayude.
Hola @collinsg
Gracias por la respuesta.
Necesito esto sobre la base de ID, necesito agrupar por ID, un ID tiene varias filas en función de las fechas, donde algunas fechas tienen valores nulos y necesito llenarlos agregando 1 al valor anterior, mínimo o máximo, en función de la fecha o el valor de fecha y hora y el ID
Check out the April 2026 Power BI update to learn about new features.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.