Fórmula para la línea de tendencia

Un usuario Pregunto ✅

Anónimo

Estoy usando la descarga de octubre de PBI.

Puedo agregar una línea de tendencia para un diagrama disperso y un gráfico de líneas.

Sin embargo, no puedo encontrar la opción para agregar la fórmula (al igual que en Excel).

¿Alguna idea?

Gracias,

Tamir

Anónimo

En respuesta a Anónimo

Alguien lo pidió en mayo: vea los comentarios en https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/6998768-ability-to-add-trend-line…

Es probable que pueda hacerlo en R hasta que esa función se implemente en imágenes nativas de Power BI, por ejemplo, http://stackoverflow.com/questions/24882209/how-to-get-trendline-equations-in-r

ImkeF

En respuesta a Anónimo

Hola,

esta función replica la función Excel-Trend, solo que sin la posibilidad de definir su propia pendiente e intersección:

 (YList as list, NoOfIntervalls as number) =>
let
Source = Table.FromColumns({YList}),
xAxis = Table.AddIndexColumn(Source, "Index", 1, 1),
Rename1 = Table.RenameColumns(xAxis,{{"Column1", "y"}, {"Index", "x"}}),
AvgX = List.Average(Rename1[x]),
AvgY = List.Average(Rename1[y]),
x = Table.AddColumn(Rename1, "xX", each [x]-List.Average(Rename1[x])),
y = Table.AddColumn(x, "yY", each [y]-List.Average(x[y])),
xy = Table.AddColumn(y, "xy", each [xX]*[yY]),
xXx = Table.AddColumn(xy, "xXx", each [xX]*[xX]),
a = List.Sum(xXx[xy])/List.Sum(xXx[xXx]),
b = AvgY-(a*AvgX),
ListIntervalls = {List.Max(Rename1[x])+1..List.Max(Rename1[x])+NoOfIntervalls},
TableIntervalls = Table.FromList(ListIntervalls, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
Rename = Table.RenameColumns(TableIntervalls,{{"Column1", "x"}}),
Values = Table.AddColumn(Rename, "y", each [x]*a+b),
TREND = Table.Combine({Rename1,Values})
in
TREND

Anónimo

hola @anonimo

A partir de ahora, no existe una opción de formato nativo que le brinde la salida de resumen de regresión (intersección Y, pendiente, R^2, etc.)

Puede escribir algo de DAX para derivar la ecuación o puede descargar el gráfico de regresión de Craydec del mercado de BPI. Este visual le dará la ecuación (Y= MX + B), R^2 y otros datos de salida de regresión.

Obviamente, también puede exportar su conjunto de datos a Excel para realizar el análisis de regresión completo (valor P, prueba T, puntaje F, error estándar y mucho más).

¡Espero que esto ayude!

-Eric

gregorio_felton

Esta es una regresión lineal simple. Además, no me di cuenta de esto, pero ha pasado tanto tiempo que no recuerdo dónde lo conseguí. Cuando encuentre el nombre del tipo, lo acreditaré aquí.

Simplemente reemplace sus fechas (de color azul) y la medida de interés (de color rojo).

Tendencia de ventas totales =
VAR Conocido =
FILTRO (
SELECCIONAR COLUMNAS (
CALCULABLE ( VALORES ( fechas[Date] ), TODOS LOS SELECCIONADOS( fechas) ),
«Conocido[X]», fechas[Date],
«Conocido[Y]», [Total Sales]
),
Y ( NO ( ES EN BLANCO ( Conocido[X] ) ), NO ( ES EN BLANCO ( Conocido[Y] ) ) )
)
VAR Recuento_Artículos =
COUNTROWS (Conocido)
VAR Suma_X =
SUMX ( Conocido, Conocido[X] )
VAR Suma_X2 =
SUMX ( Conocido, Conocido[X] ^ 2 )
VAR Suma_Y =
SUMX ( Conocido, Conocido[Y] )
VAR Suma_XY =
SUMX ( Conocido, Conocido[X] * Conocido[Y] )
VAR Promedio_X =
PROMEDIOX ( Conocido, Conocido[X] )
VAR Promedio_Y =
PROMEDIOX ( Conocido, Conocido[Y] )
Pendiente VAR =
DIVIDIR (
Contar_artículos * Suma_XY – Suma_X * Suma_Y,
Contar_elementos * Suma_X2 – Suma_X ^ 2
)
Intercepción VAR = Promedio_Y
– Pendiente * Promedio_X
VAR Resultado = SUMX ( DISTINTO ( fechas[Date] ),
Intersección + Pendiente * fechas[Date]
)
REGRESO
SI(VALOR SELECCIONADO( fechas[Date] ) >= HOY(),
BLANCO(),
Resultado)

TrevorC

En respuesta a gregorio_felton

Esta es una gran solución y el código se puede encontrar aquí: https://xxlbi.com/blog/simple-linear-regression-in-dax/

Realmente agradecería si alguien pudiera decirme cómo mostrar la pendiente.

mc2863

En respuesta a gregorio_felton

Gracias por compartir, ¿sabe cómo podríamos modificar esto para que sea dinámico y tenga en cuenta los datos filtrados en una tabla o en una imagen real? Estamos agregando datos a nivel de producto y nos gustaría que la tendencia calculada represente el producto seleccionado.

Que yo sepa, no hay posibilidad de especificar una fórmula para la línea de tendencia.

En la versión más reciente, existe la posibilidad de agregar diferentes tipos de líneas. ¿Alguno de estos se ajustaría a tus necesidades?

Línea de tendencia.jpg

Anónimo

En respuesta a MEhrenmueller

Hola Markus,

Necesito la formula de las predicciones…

Publiqué una sugerencia en la sección Ideas.

Anónimo

En respuesta a Anónimo

Alguien lo pidió en mayo: vea los comentarios en https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/6998768-ability-to-add-trend-line…

Es probable que pueda hacerlo en R hasta que esa función se implemente en imágenes nativas de Power BI, por ejemplo, http://stackoverflow.com/questions/24882209/how-to-get-trendline-equations-in-r

ImkeF

En respuesta a Anónimo

Hola,

esta función replica la función Excel-Trend, solo que sin la posibilidad de definir su propia pendiente e intersección:

 (YList as list, NoOfIntervalls as number) =>
let
Source = Table.FromColumns({YList}),
xAxis = Table.AddIndexColumn(Source, "Index", 1, 1),
Rename1 = Table.RenameColumns(xAxis,{{"Column1", "y"}, {"Index", "x"}}),
AvgX = List.Average(Rename1[x]),
AvgY = List.Average(Rename1[y]),
x = Table.AddColumn(Rename1, "xX", each [x]-List.Average(Rename1[x])),
y = Table.AddColumn(x, "yY", each [y]-List.Average(x[y])),
xy = Table.AddColumn(y, "xy", each [xX]*[yY]),
xXx = Table.AddColumn(xy, "xXx", each [xX]*[xX]),
a = List.Sum(xXx[xy])/List.Sum(xXx[xXx]),
b = AvgY-(a*AvgX),
ListIntervalls = {List.Max(Rename1[x])+1..List.Max(Rename1[x])+NoOfIntervalls},
TableIntervalls = Table.FromList(ListIntervalls, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
Rename = Table.RenameColumns(TableIntervalls,{{"Column1", "x"}}),
Values = Table.AddColumn(Rename, "y", each [x]*a+b),
TREND = Table.Combine({Rename1,Values})
in
TREND

josecomputadora1

En respuesta a ImkeF

Hola @ImkeF

cuando voy a power query e ingreso una tabla en blanco y luego ingreso este código, aparece una pantalla de entrada donde puedo ingresar una referencia de columna. ¿Hay alguna manera de ingresar la x y la y? ¿Quiero que la tendencia de x contra y sea similar a una línea de tendencia en un diagrama de dispersión?

ImkeF

En respuesta a josecomputadora1

Lo siento, pero no entiendo tu pregunta.

Si los valores que forman la base de la tendencia aún no existen en una tabla, puede ingresarlos en «Ingresar datos» y hacer referencia a esa tabla en su lugar.

Todo lo que hace esta función es crear una tabla con valores x e y para el conteo deseado de períodos futuros y no tiene nada que ver con la visualización en sí.

josecomputadora1

En respuesta a ImkeF

@ImkeF

Lo siento si no estaba claro. Tengo esto en mi pantalla. Cuando voy a elegir la columna, solo me permite elegir una columna (x). ¿Cómo le doy el eje y? Estaba pensando en seleccionar una columna para x y otra para y. Quiero que la x sea UR y la y sea tendencia ASA. ss2.png

ss1.png

ImkeF

En respuesta a josecomputadora1

Gracias, ahora entiendo. Mi solución crea un eje Y y un índice que comienza en 1. Entonces, cuando agrega un índice que comienza en 1 a su tabla original, puede fusionar esas tablas nuevamente después de eso.

HediSlim

En respuesta a ImkeF

Hola ImkeF,

Soy un novato con Power BI y no entiendo dónde tenemos que implementar su fórmula:

Ahí :

Prueba registro lin 1.PNG

O allí:

Prueba reg lin 2.PNG

¿Y en qué idioma está tu fórmula: M o DAX?

Gracias por su comprensión

Atentamente

ImkeF

En respuesta a HediSlim

copie el código y péguelo en el editor avanzado del editor de consultas:

PBI_CopyCodeIntoAdvancedEditor.png

También puede encontrar útil este video:

http://community.powerbi.com/t5/Webinars-and-Video-Gallery/Power-BI-Forum-Help-How-to-integrate-M-co…

perpor

En respuesta a ImkeF

¿Hay otros recursos introductorios para el lenguaje M, funciones, etc.? Puede ser útil pero se necesitan ejemplos simples…

ImkeF

En respuesta a HediSlim

copie el código y péguelo en el editor avanzado del editor de consultas:

PBI_CopyCodeIntoAdvancedEditor.png

También puede encontrar útil este video:

http://community.powerbi.com/t5/Webinars-and-Video-Gallery/Power-BI-Forum-Help-How-to-integrate-M-co…

HediSlim

En respuesta a ImkeF

Hola ImkeF,

Soy un novato con Power BI y no entiendo dónde tenemos que implementar su fórmula:

Ahí :

Prueba registro lin 1.PNG

O allí:

Prueba reg lin 2.PNG

¿Y en qué idioma está tu fórmula: M o DAX?

Gracias por su comprensión

Atentamente

Anónimo

En respuesta a ImkeF

Gracias.

Supongo que responde a mi pregunta….

Todavía tengo que averiguar cómo implementar la solución. 🙂

Tamir

perpor

En respuesta a Anónimo

tendencia.png

Estoy usando la línea de tendencia, útil. Pero no encuentro cómo ver los valores de la línea (la línea de tendencia), ¿cómo puedo hacer?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *