Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe 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.
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.
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.
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:
Encontrará dos gráficos, vea la imagen a continuación:
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",
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:
Con suerte, esto proporciona lo que está buscando.
Saludos
Tom
Hola @TomMartens -- No quiero molestar, así que este será mi último bache, ¡pero todavía espero poder aprender algo aquí! ¡Gracias!
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
Hola @TomMartens - ¡Espero que veas esto y puedas guiarme a través de él! ¡Gracias!
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.
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.
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