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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Filtrado con parámetros porcentuales

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

VarParam = GENERATESERIES(-1000, 1000, 0.001)
A continuación, filtro una matriz con esto utilizando un filtro N superior, 2000 superior por valor en una "medida". Esta medida es:
% de verificación =
SI(
ROUND([%Round], 2) >= MIN('VarParam'[Parámetro]) && ROUND([%Round], 2) <= MAX('VarParam'[Parámetro]),
ROUND([%Ronda], 2),
EN BLANCO()
)

donde %Round =:
SI([%] >= 1, 1, SI([%] <= -1, -1, [%]))

y:
% =
CALCULAR(1-(CALCULAR(
SUMA(Tabla[importe]),
TREATAS(VALUES(TablaB[id]), Tabla[id]),
TREATAS(VALUES(TablaB[ID2]), Tabla[Grupo]),
Tabla[categoría] <> 0104
)/[compAmount]), TREATAS(VALUES(TableB[sonID]), TableC[id]))

Si me ayudas te lo agradeceré, ¡gracias!
5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

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...

%redondo= SI([%] >= 1, -0.001, SI([%] <= -1, -100, REDONDEO([%], 2)))
Funciona parcialmente, lo que no está volviendo ahora es todo lo que está por debajo del 0,01 o 1%. ¿Qué te parece? Estoy jugando un poco poniendo diferentes valores ahí

%Redondo= IF([%] >= 0.9, -0.9, IF([%] <= -1, -1, ROUND([%], 2)))

Esto funcionó, pero no creo que esta sea la solución correcta ... ¡Pero funciona! Si alguien tiene la solución correcta, por favor escriba a continuación, ¡gracias!

Helpful resources

Announcements
September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Top Solution Authors