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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Syndicate_Admin
Administrator
Administrator

Tendencias de las 5 partes inferiores (pendiente, regresión lineal)

Tengo un grupo de ubicaciones con valores a lo largo del tiempo. Me gustaría destacar las ubicaciones que tienen la peor tendencia, no necesariamente las ubicaciones que tienen los peores números reales. Por ejemplo, pasar de 100 a 90 a 80 a 70 a 60 unidades en la Ubicación A es peor que pasar de 18 a 19 a 17 a 18 a 17 en la Ubicación B. La Ubicación B tiene números más bajos, pero no una tendencia peor en relación con la Ubicación A.

Así que mi plan era trazar las tendencias a lo largo del tiempo y luego encontrar las ubicaciones con las mayores pendientes negativas o los mayores valores de regresión lineal negativa. En Excel, haría esto calculando la pendiente de cada fila, ordenando y luego eliminando todas menos las peores 5. Tenga en cuenta que los peores 5 no son necesariamente los que tienen los peores valores brutos.

snap.jpg

En mi modelo, los nombres de ubicación están en una tabla de ubicación, los meses están en una tabla de fechas y los valores son una medida calculada de una tabla diferente. Todos tienen relaciones existentes.

¿Existe algún método para lograr esto con DAX en la configuración actual? Los ejemplos(1,2,3) que estoy viendo para calcular la regresión parecen querer todo en una sola tabla, lo cual es factible, pero parece ineficiente.

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola @Gondi63 ,

Aquí encontrarás un PBIX: https://tommartens-my.sharepoint.com/:u:/g/personal/tom_minceddata_com/ETrmBE_1L9FLipANeN9z33EBM6wr1...

No modifiqué su modelo de datos, solo agregué dos nuevas medidas:

  • Medir Comprobar
  • Medida integrada

Encontrará dos gráficos, vea la imagen a continuación:

image.png

Dos medidas están haciendo lo mismo pero diferente.

Ambas medidas determinan las ubicaciones a considerar utilizando SELECTCOLUMNS( TOPN( ... )).

TOPN devuelve el número de filas que se van a considerar, que es dinámico utilizando las segmentaciones de datos de números. SELECTCOLUMNS está eliminando todas las columnas innecesarias y queda una tabla de una sola columna. Llamo a esta tabla la tabla proxy.

Hay que abordar dos partes complejas: una genérica y otra específica.
El específico es determinar la pendiente por ubicación, esto se ha vuelto más simple con la introducción de las nuevas funciones DAX LINESTX y LINEST. La parte específica es el cálculo de una expresión numérica. Esto es simple porque la expresión numérica se calculará en el contexto de la fila exterior. Este contexto de fila exterior se puede modificar mediante calculate.
El contexto de la fila exterior debe contener todas las ubicaciones, pero la expresión numérica debe calcularse por separado para cada ubicación. Crear la tabla utilizada para la iteración es la parte genérica que puede ser más compleja que calcular la expresión numérica. El contexto externo es responsable de crear un proxy que se utiliza para comprobar si una ubicación debe considerarse o no. Utilizo lo siguiente para crear el iterador para el contexto externo

CALCULATETABLE(
    VALUES( 'Location'[Location] )
    , ALL( 'Location' )
)

¿Podría comprobar si el resultado de las medidas sigue devolviendo el resultado esperado cuando utiliza Market como filtro adicional?

Utilizo ADDCOLUMNS (contexto externo, "pendiente", ) para agregar una expresión numérica a una fila, la ubicación.

La medida integrada contiene un paso final que utiliza la expresión numérica "original" cuando la ubicación actual forma parte de la tabla proxy. Este enfoque requiere la integración del cálculo de la tabla sustitutiva a cada medida existente o la creación de medidas explícitas. Aún así, funciona mejor (por supuesto, esto depende del número de filas) en comparación con el uso del enfoque de medida de verificación y el filtro de nivel visual:
image.png
Con suerte, esto proporciona lo que está buscando.

Saludos
Tom

Syndicate_Admin
Administrator
Administrator

Hola @TomMartens -- No quiero molestar, así que este será mi último bache, ¡pero todavía espero poder aprender algo aquí! ¡Gracias!

Syndicate_Admin
Administrator
Administrator

Eh

No estoy seguro de si encontraré tiempo en estos días, pero lo veré más de cerca durante el próximo fin de semana.

Saludos

Tom

Syndicate_Admin
Administrator
Administrator

Hola @TomMartens - ¡Espero que veas esto y puedas guiarme a través de él! ¡Gracias!

Syndicate_Admin
Administrator
Administrator

Gracias @TomMartens --- Aquí está el PBIX y el archivo de datos ficticios. Si quisiera las 3 pendientes más altas de estos datos, debería obtener las series A, B y C.

Syndicate_Admin
Administrator
Administrator

Gracias @TomMartens --- Aquí está el PBIX y el archivo de datos ficticios. Si quisiera las 3 pendientes más altas de estos datos, debería obtener las series A, B y C.

Syndicate_Admin
Administrator
Administrator

Hola @Gondi63

Sí, es factible.

Cree un archivo pbix que contenga datos de ejemplo, pero que refleje el modelo de datos (tablas, relaciones, columnas calculadas y medidas). Sube el PBIX a OneDrive, Google Drive o Dropbox y comparte el vínculo. Si está utilizando Excel para crear los datos de ejemplo en lugar del método de entrada manual, comparta también el xlsx.

Saludos

Tom

Helpful resources

Announcements
Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors