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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
AlexisCab1602
Helper I
Helper I

Problemas con regresión lineal simple con DAX

Hola comunidad, estoy intentando calcular con DAX una regresión lineal simple pero he tenido diferentes problema que han dificultado encontrar una solución.

Para contextualizar, poseo una tabla que contiene dos columnas, la primera es "Años de antigüedad" que se refiere a los años de antigüedad de un trabajdor y en segundo lugar tengo una columna "Promedio de tickets", que se refiere a las solicitudes promedio que un trabajador realiza con ciertos años de antigüedad.

A modo de ejemplo, en la tabla de abajo se ve que un trabajador con 1 año de antigüedad envía en promedio 7 tickets o solicitudes, un trabajador con 10 años de antigüedad envía en promedio 8 tickets o solicitudes.

AlexisCab1602_2-1629844538502.png

 

Si este caso particular lo graficamos y agregamos una linea de tendencia en Excel o power BI se vería algo como esto

AlexisCab1602_1-1629843277817.png

En internet circula una manera de calcular la regresión lineal simple, pero no me funcionado.

Los pasos son crear 2 medidas:

xsum = SUMX('Regresión_simple','Regresión_simple'[Años de antiguedad])
ysum = SUMX('Regresión_simple','Regresión_simple'[N° tickets promedio])
 
Considerar una columna categórica (que permite vincular las dos columnas
 
y luego crear la siguiente medida:
Regresión =

VAR Known =

   FILTER (

       SELECTCOLUMNS (

           ALLSELECTED ( Tabla[Columna] ),

           "Known[X]", [Medida X],

           "Known[Y]", [Medida Y]

       ),

       AND (

           NOT ( ISBLANK ( Known[X] ) ),

           NOT ( ISBLANK ( Known[Y] ) )

       )

   )

VAR Count_Items =

   COUNTROWS ( Known )

VAR Sum_X =

   SUMX ( Known, Known[X] )

VAR Sum_X2 =

   SUMX ( Known, Known[X] ^ 2 )

VAR Sum_Y =

   SUMX ( Known, Known[Y] )

VAR Sum_XY =

   SUMX ( Known, Known[X] * Known[Y] )

VAR Average_X =

   AVERAGEX ( Known, Known[X] )

VAR Average_Y =

   AVERAGEX ( Known, Known[Y] )

VAR Slope =

   DIVIDE (

       Count_Items * Sum_XY - Sum_X * Sum_Y,

       Count_Items * Sum_X2 - Sum_X ^ 2

   )

VAR Intercept =

   Average_Y - Slope * Average_X

RETURN

   Intercept + Slope * [Medida X]

 

Donde los codigos en negrita deben reemplazarse de la siguiente manera

Tabla[Columna] --> 'Regresión_simple'[Cat_ant]

[Medida X]--> xsum

[Medida Y]--> ysum

 

Lamentablemente, al graficar esta medida me arroja los mismos datos que graficar la columna de "Años de antigüedad" y "N° de tickets promedio". 

AlexisCab1602_4-1629845109211.png

AlexisCab1602_5-1629845123483.png

Me gustaría saber si me pueden identificar el error al usar esta medida o si tienen otra medida que me permita hacer regresión lineal simple a través de DAX.

 

 

1 ACCEPTED SOLUTION
2 REPLIES 2

Muchas gracias, me funcionó perfectamente!!!

Helpful resources

Announcements
July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 community update carousel

Fabric Community Update - June 2025

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