The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event! Join us in Stockholm, Sweden from September 24-27, 2024.
2-for-1 sale on June 20 only!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
@AlexisOlson es posible replicar un forLoop recursivo en DAX. Necesito una recursividad que funcione en el contexto del filtro. No puedo encontrar nada que pueda hacer lo siguiente en DAX.
let
src=Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("Jcu5DQAxDAPBXhg7kHR+axHcfxsn0gmBHYCZMDS4r9o1cFvCBbs2HoTg1E71xw7+urqreTsmGALd7MmU8BiU+wM=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [index = _t, row = _t, Value = _t]),
ct = Table.TransformColumnTypes(src,{{"index", Int64.Type}, {"row", Int64.Type}, {"Value", Int64.Type}}),
#"Added Custom" = Table.AddColumn(ct, "Custom", each let
curr = [index],
filt = Table.SelectRows(ct, (_)=> (_[index] >= curr)),
terminator = Table.RowCount(filt)-1,
forLoop = List.Generate(
()=> [ i =0, x = filt[Value]{i}, y= Text.From(filt[row]{i}), combins = 0+x],
each [combins]<=100,
each [i=[i]+1, x= filt[Value]{i}, y= [y]&"-"&Text.From(filt[row]{i}), combins = [combins]+x],
each [y]
),
len = List.Count(forLoop)-1
in if (len>=0) then forLoop{len} else null)
in
#"Added Custom"
Gracias de antemano.
Genial, pero el desafío es cómo aplico esto a mi escenario. Necesito un bucle for para que funcione de manera que para cada fila en el contexto del filtro considere una tabla donde filter(all(table), table[index]>= currentIndexVisible) y luego siga conctenando table[row], hasta que se ejecuteTotal de valores <=100 (cláusula de terminación).
Proporcione datos de muestra que cubran su problema o pregunta por completo, en un formato utilizable (no como una captura de pantalla).
No incluya información confidencial ni nada que no esté relacionado con el problema o la pregunta.
Muestre el resultado esperado en función de los datos de muestra que proporcionó.
Puede usar el código del fragmento de código para obtener los datos de ejemplo.
Custom DAX =
VAR i = [index]
VAR b =
ADDCOLUMNS (
FILTER ( Query1, [index] >= i ),
"g",
VAR i2 = [index]
RETURN
SUMX ( FILTER ( Query1, [index] >= i && [index] <= i2 ), [Value] )
)
RETURN
CONCATENATEX ( FILTER ( b, [g] <= 100 ), [row], "-" )
Aquí hay una versión ligeramente optimizada
Custom DAX =
VAR i = [index]
VAR f =
FILTER ( Query1, [index] >= i )
VAR g =
ADDCOLUMNS (
f,
"rt", VAR i2 = [index] RETURN SUMX ( FILTER ( f, [index] <= i2 ), [Value] )
)
RETURN
CONCATENATEX ( FILTER ( g, [rt] <= 100 ), [row], "-" )
Todas las funciones del iterador son bucles For en DAX.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the June 2024 Power BI update to learn about new features.