Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola
Tengo que filtrar una matriz de dos maneras, por precio y por porcentaje (%). Cuando filtro por precio, por ejemplo, de 0 a 250M para mostrar todos los artículos, devuelve 80 filas, lo cual es correcto. Sin embargo, cuando filtro por %, usando -100% a 100%, debería devolver todos los datos, pero solo devuelve 70 filas. Además, cuando filtro de -110% a 100%, devuelve las 10 filas que faltaban antes, pero no las otras 70. Este problema se produce específicamente con las filas en las que % es 100%.
Cómo funciona:
He creado un parámetro
Hola @BMM27 - %Round que permitirá un filtrado adecuado para porcentajes exactos
%redondo =
IF([%] > 1, [%], IF([%] < -1, [%], ROUND([%], 2)))
Después de actualizar la medida %Round, modifique la medida Check% para acomodar la lógica actualizada y asegurarse de que funciona correctamente dentro del rango de parámetros dado.
% de verificación =
SI(
[%Round] >= MIN('VarParam'[Parámetro]) && [%Round] <= MAX('VarParam'[Parámetro]),
[%redondo],
EN BLANCO()
)
Intente quitar temporalmente el filtro TOP N y verifique el resultado. Si el filtro excluye las filas exactamente con el 100 %, es posible que tenga que reconsiderar cómo está aplicando el filtro y la lógica de clasificación.
Retire el filtro TOP N. Ajuste la lógica de redondeo para incluir el 100% exacto y valores superiores a 1.Pruebe con varios rangos en VarParam.
Espero que esto funcione
Hola, cambié las medidas y los parámetros siguiendo sus instrucciones, pero no funciona.
Y puedo confirmar que cuando filtro de -1 a 1, no devuelve ninguna fila con 100%. Y lo malo es que cuando filtro de -1 a 1.1, solo devuelve las filas con el 100%.
Hola @BMM27 , ¿puedes probar los cálculos a continuación?
%redondo = SI([%] >= 1, 1, SI([%] <= -1, -1, [%]))
Dado que el comportamiento del filtrado cambia al expandir el límite superior
% de verificación =
SI(
[%Round] >= MIN('VarParam'[Parámetro] - 0.001) &&
[%round] <= MAX('VarParam'[Parámetro] + 0.001),
[%redondo],
EN BLANCO()
)
o
% de verificación =
SI(
[%Round] >= MIN('VarParam'[Parámetro]) &&
[%Round] <= MAX('VarParam'[Parámetro]) || [%redondo] = 1,
[%redondo],
EN BLANCO()
)
Puede convertir el parámetro para garantizar la compatibilidad:
Varparam = generadores(-1000.0, 1000.0, 0.001)
La causa más probable del problema es cómo interactúan la lógica de redondeo y el filtrado, especialmente alrededor del 100% (1.0).
Hola @rajendraongole1 sigo sin funcionar, estoy intentando algo que no tiene sentido...