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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
addicted87
Helper I
Helper I

Comparar con el grupo de referencia

hey usuarios de power bi,

Tengo el siguiente problema con mi informe power bi:

¿Qué voy a hacer?

Quiero comparar un solo proveedor con un grupo de referencia que consta de 1...n proveedores diferentes con las mismas propiedades.

Por ejemplo:

Proveedor 1:

column_customers '50 - 100 clientes'

column_region Alemania

column_employees '<100 empleados'

Así que el grupo de referencia consta de todos los proveedores, que tienen las mismas propiedades (excepto el proveedor 1) también:

column_customers '50 - 100 clientes'

column_region Alemania

column_employees '<100 empleados'

Digamos que hay 200000 proveedores y 5 de ellos (No 7, 100, 450, 1230, 1999) cumplen con los requisitos/propiedades del proveedor 1.

Aquí está mi fórmula dax:

número de proveedores en el grupo de referencia ?
Clientes de VAR max(proveedor[column_customers])
Región de VAR: max(proveedor[column_region])
Empleados de VAR: max(proveedor[column_employees])

Proveedor de VAR: max(proveedor[column_supplier_id])

CALCULATE DE DEVOLUCION(
distinctcount(proveedor[column_supplier_id]); ALL(supplier[column_supplier_id]);supplier[column_customers]-customers;supplier[column_region]-region;supplier[column_employees] á employees; proveedor[column_supplier_id] <> proveedor)

Así que el resultado en una tabla recta se ve así:

|

supplier_idnúmero de proveedores en el grupo de referencia
15
213
325
......
200000133

Este ya está funcionando, pero bastante lento. ¿Hay alguna manera de optimizar la fórmula? Hay millones de filas en mi modelo de datos, así que tengo que aumentar el rendimiento.

Espero que alguien de ustedes pueda ayudarme a 😄

3 REPLIES 3
OwenAuger
Super User
Super User

Hola @addicted87

Aquí hay una medida que podrías probar. Usando algunos datos de prueba en mi extremo, se desempeñó significativamente mejor que la medida original:

number of suppliers in reference group =
VAR FilteredSupplierKey =
    VALUES ( supplier[column_supplier_id] )
VAR SimilarSupplierKey =
    CALCULATETABLE (
        VALUES ( supplier[column_supplier_id] );
        ALL ( supplier[column_supplier_id] );
        SUMMARIZE (
            supplier;
            supplier[column_customers];
            supplier[column_region];
            supplier[column_employees]
        )
    )
RETURN
    COUNTROWS ( EXCEPT ( SimilarSupplierKey; FilteredSupplierKey ) )

Esto debe seguir la misma lógica que la medida original cuando se filtra en un único identificador de proveedor.

Esta medida también controla los casos en los que se ha filtrado en varios identificadores de proveedor, contando la unión de proveedores "similares".

¿Funciona mejor con sus datos y sigue produciendo resultados correctos?

saludos

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
Twitter
LinkedIn

@OwenAuger Muchas gracias por su solución. Este es increíble rápido en comparación con mi solución. Mi tiempo de carga ha disminuido de 30 segundos a 1 segundo... increíble 😉

saludos

Robert

V-pazhen-msft
Community Support
Community Support

@addicted87
Crear variables en una medida puede dar lugar a cálculos adicionales, intente colocarlas en la expresión de retorno para ver si va más rápido:

number of suppliers in reference group =
CALCULATE(
distinctcount(supplier[column_supplier_id]); Filter(ALL(supplier[column_supplier_id]);
supplier[column_customers]=max(supplier[column_customers]);
supplier[column_region]=max(supplier[column_region]);
supplier[column_employees] = max(supplier[column_employees]); 
supplier[column_supplier_id] <> max(supplier[column_supplier_id]))

Sin embargo, no hay manera de aumentar drásticamente la velocidad de rendimiento, ya que la medida se calcula en el momento de interactuar. La otra opción es cambiar la medida a una columna calculada, que aumentaría el tamaño pbix, precalda la fórmula en el momento de abrir el pbix, por lo que sería más rápido cuando se interactúa en los objetos visuales.


Paul Zheng _ Equipo de apoyo de la comunidad
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors