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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors