Líneas promedio y StDev en diferentes gráficos agregados

Un usuario Pregunto ✅

miguelmichael

Estoy tratando de desarrollar algunos gráficos de control en PowerBI… Para hacer esto, necesito tener una línea en cada gráfico que pueda tener Media, Media+Desv. estándar y Media-Desv estándar.

Para hacer esto, estoy usando esta fórmula de medida para las líneas promedio:

Línea Promedio = CALCULAR(PROMEDIOX(‘Tabla’,[Column]), TODOS LOS SELECCIONADOS (‘Tabla’))
Sin embargo, estoy usando 3 tipos de gráficas de control… Suma, Promedio y Desviación Estándar de cada subgrupo (valores x), por lo tanto, esta fórmula no produce líneas de promedio correctamente en todas las gráficas.
El gráfico Sum es bajo, ya que usa el promedio, el gráfico Avergae no está en línea con el promedio calculado de Power BI y el gráfico StDev no es posible producir una línea para usar esta fórmula

Pregunta 2 de Power BI

En lo que me gustaría recibir ayuda es cómo producir las líneas para los 3 gráficos y cómo agregar líneas StDev también.

Gracias

lc_finanzas

Hola @michaelmichael,

¿Podría compartir un archivo de muestra de Power BI? Eso hará que sea más fácil ayudarte.

Puede cargar su archivo de Power BI en One Drive, Google Drive u otra herramienta similar y compartirlo aquí.

Hágamelo saber,

LC

¿Está interesado en las plantillas de Power BI y DAX? Echa un vistazo a mi blog en www.finance-bi.com

lc_finanzas

Hola @michaelmichael,

¿Podría compartir un archivo de muestra de Power BI? Eso hará que sea más fácil ayudarte.

Puede cargar su archivo de Power BI en One Drive, Google Drive u otra herramienta similar y compartirlo aquí.

Hágamelo saber,

LC

¿Está interesado en las plantillas de Power BI y DAX? Echa un vistazo a mi blog en www.finance-bi.com

miguelmichael

En respuesta a lc_finanzas

@lc_finance Es una tabla de datos muy simple.

Tengo 2 columnas, la primera es el subgrupo (eje x), llamémoslas AJ. La segunda columna es un valor numérico.

Puede crear un conjunto de datos simple de AJ, con su valor de datos correspondiente (para este ejercicio, pueden ser 10 entradas para cada letra, número entre 1 y 10).

A partir de esto produzco 3 visuales, y con los datos tengo cada visual como «Promedio», «StDev» y «Suma».

Gracias

miguelmichael

En respuesta a miguelmichael

@lc_finance si ayuda, encontré un complemento de PowerBI que puede dar estos resultados visuales, llamados gráficos de control de Craydec

Pero esto cuesta ejecutarlo, cuando estoy seguro de que puedo escribir el archivo para ejecutar lo mismo

lc_finanzas

En respuesta a miguelmichael

Hola @michaelmichael,

¡Me alegro de que hayas encontrado una solución!

No dudes si tienes más preguntas

LC

miguelmichael

En respuesta a lc_finanzas

@lc_finance Perdón por la confusión, no he encontrado una solución. Encontré un complemento de pago, pero me gustaría hacerlo yo mismo usando Medidas.

Presioné solución por accidente

pablodbrown

En respuesta a miguelmichael

@michaelmichael

Es muy útil ver los datos en formato de tabla cuando las cosas no parecen funcionar.

Aquí hay un ejemplo:

std dev.JPG

Por lo tanto, para obtener la línea promedio y los valores de desviación estándar, debe tener una medida que elimine el contexto del filtro, es decir, TODO o TODO SELECCIONADO.
La columna en verde, por ejemplo, es un simple CALCULAR ([Aver. – std dev calc], TODOS LOS SELECCIONADOS (Tabla_Valores)).

Necesitará la medida equivalente para su promedio para que se represente en el gráfico de líneas visual.

Espero que esto ayude.

Mejor.

miguelmichael

En respuesta a pablodbrown

@PaulDBrown gracias por su ayuda, poner los datos en la vista de tabla, en lugar de un gráfico de líneas, ayuda.

Power BI Pregunta 3.png

Pero cuando pruebo la fórmula sugerida para una nueva medida o columna, no me deja usar [Standard Deviation of Sub Group Values] como expresión después de CALCULATE?

Lo siento, me falta un poco de conocimiento de fórmulas, pero lo que busco es una columna completa en esta tabla visual que muestre 0.13, y luego una con 0.13 + StDev de los valores

Gracias

pablodbrown

En respuesta a miguelmichael

@michaelmichael

Cuando tu dices «Pero cuando pruebo la fórmula sugerida para una nueva medida o columna, no me deja usar [Standard Deviation of Sub Group Values] como una expresión después de CALCULAR?», ¿Está intentando crear una nueva medida? Si [Standard Deviation of Sub Group Values] es una medida, debería poder incluir la medida dentro de una función CALCULAR. Si es una columna, debe usar un agregador en la función CALCULAR. (por ejemplo, CALCULAR(PROMEDIO(tabla [Standard Deviation of Sub Group Values]),….)

Usando medidas: (He llamado a la tabla que incluye los datos del «eje X» ‘Table_Values’)
a) para mostrar el St Dev total en todas las filas, el valor total de 0.13 en su ejemplo, que luego puede usar como una línea continua en un gráfico para mostrar la desviación estándar total) su medida debería verse así:

Standard Deviation (all) = CALCULATE ([Standard Deviation of Sub Group Values], ALLSELECTED('Table_Values'))

b) para mostrar el «0.13 + StDev de los valores», cree otra medida:

'0.13' + STDev = [Standard Deviation (all] + [Standard Deviation of Sub Group Values]

c) Si, por otro lado, desea mostrar los valores absolutos de dispersión St Dev de la media, necesitará (según la medida que publicó en su mensaje original)

3 Measures:

Average Line (all) = CALCULATE([Average Line], ALLELECTED ('Table_Values'))

Average + 1 St Dev = [Average Line (all)] + [Standard Deviation (all)] 

Average - 1St Dev = [Average Line (all)] - [Standard Deviation (all)] 

(En todos estos ejemplos, estoy usando ALLSELECTED, que es más flexible si va a usar rebanadoras)

stdevcomm.JPG

Háganos saber si le hemos ayudado a resolver el problema.

miguelmichael

En respuesta a pablodbrown

@PaulDBBrown

Este gráfico parece algo que busco, sí, pero no entiendo de dónde sacaste el [Average Line] desde en la función CALCULAR??

pablodbrown

En respuesta a miguelmichael

@michaelmichael

Con respecto a la «línea promedio», solo la estaba usando para explicar lo que estaba mostrando en mi ejemplo (es decir, si estaba interesado en mostrar la St dev frente a su promedio general; ahora veo que desea mostrar la st dev en comparación con cada grupo individual st dev. – así que mi confusión, disculpas).

En cuanto al total de 3,29, probablemente sea la desviación estándar calculada sobre los valores totales, y no el promedio real de los valores individuales de desviación estándar. Si desea calcular el promedio de cada valor en su columna de Excel «StDev of Values», deberá cambiar el cálculo a algo similar a:

Average St Dev (average of individual stdev) = 
VAR calc = CALCULATE(AVERAGEX(Table [x-values], [StDev of Values]))
Return
CALCULATE(calc, ALLSELECTED(Table [x-values]))

Pruebe esto y vea si funciona para usted (¡aunque es difícil trabajar con precisión si no tenemos acceso a los datos reales/modelo de datos!).

miguelmichael

En respuesta a pablodbrown

@PaulDBrown Estoy usando el ejemplo proporcionado por @lc_finance, subido en una respuesta anterior.

Usando ese panel, intenté obtener una fórmula/medida que PowerBI aceptaría:

Desvst promedio (promedio de desvst individual) = VAR calc = CALCULATE(AVERAGEX(‘Table’,[values])) Devuelve CALCULATE(calc, ALLSELECTED(‘Tabla'[x-axis]))
Pero esto devolvió algunos números extraños.
Agradezco toda la ayuda, lo siento, soy bastante nuevo en este software.
Power BI Pregunta 5.png

pablodbrown

En respuesta a miguelmichael

@michaelmichael
Supongo que eso es lo que sucede cuando tú (¡en otras palabras, yo!) estás adivinando cómo se estructuran los datos (columnas, medidas…).

Le sugiero que intente crear las medidas con sus propios datos y vea si todavía encuentra problemas/errores.

Creo que tiene las pautas para crear los promedios constantes usando ALL o ALLSELECTED.

Si necesita más ayuda, proporcione una muestra de sus datos (o recree un pequeño subconjunto con valores falsos). ¡De lo contrario, siento que estoy tomando un poco de un tiro en la oscuridad!

miguelmichael

En respuesta a pablodbrown

@PaulDBrown sí, seguiré intentándolo

Estoy trabajando con este conjunto de datos https://finance-bi.com/wp-content/uploads/2019/10/Standard-deviation.zip

Está en el mismo formato que mis datos, con los mismos agregados en el visual

pablodbrown

En respuesta a miguelmichael

@michaelmichael

Aqui tienes:

std dev final.JPG

Archivo PBI de desviación estándar

Para calcular el promedio de los valores de Sdt dev, utilicé:

Std Dev AverageX = AVERAGEX(ALLEXCEPT('Table'; 'Table'[Values]); [Standard Deviation])

¡Compruebe que los otros cálculos/Líneas son lo que está buscando! (aunque tengo la ligera sospecha de que los valores negativos no son la referencia adecuada que necesita, ¿correcto?)

miguelmichael

En respuesta a pablodbrown

@PaulDBrown fantástico! Gracias por eso.

Tengo estas tablas en el archivo para trabajar para lo que quiero hacer

Hice dos tablas para la desviación estándar y el promedio y usé STDEVX.P para calcular las líneas superior e inferior, como se muestra a continuación.

Power BI Pregunta 6.png

Pero si agrega una segmentación a las imágenes y comienza a filtrar los datos, los promedios no se actualizan. ¿Es posible tenerlos dinámicos?

Pregunta de Power BI 7.png

pablodbrown

En respuesta a miguelmichael

@michaelmichael

¡Estupendo! ¡Me alegro de que lleguemos allí! No había comprobado con cortadoras, lo siento.

Mejor usa las siguientes medidas:

St Dev av SUMMARIZE = AVERAGEX(SUMMARIZE('Table'; 'Table'[x-axis]); [Standard Deviation])

St Dev SUMMARIZE (all) = CALCULATE([St Dev av SUMMARIZE]; ALLSELECTED('Table'))

Que te dará esto:

std dev final.JPG

y deberá ajustar las otras medidas en consecuencia (sustituyendo el antiguo AverageX con la nueva medida).

A ver si eso lo soluciona.

PD. Lo guardé en el mismo archivo PBI, por lo que debería poder acceder desde el enlace anterior

lc_finanzas

En respuesta a pablodbrown

Hola @michaelmichael,

parece que @PaulDBrown tiene la solución para usted. Si eso no funciona para usted, no dude en hacérnoslo saber,

LC

lc_finanzas

En respuesta a miguelmichael

Hola @michaelmichael,

Puede encontrar adjunto un ejemplo para toda la columna que muestra la desviación estándar total.

Total Standard deviation = CALCULATE(STDEV.P('Table'[Values]), ALL('Table'[x-axis]))

Como mencionó @PaulDBrown, puede usar ALL o ALLSELECTED para eso.

Esto es lo que parece:

Imagen 2019-10-29 a las 4.46.18 PM.png

¿Esto te ayuda?

Saludos,

LC

¿Está interesado en las plantillas de Power BI y DAX? Echa un vistazo a mi blog en www.finance-bi.com

miguelmichael

En respuesta a lc_finanzas

@lc_finance @PaulDBrown Ambos, gracias por su ayuda. Esto funciona ahora, tengo la línea que cruza el gráfico, sin embargo, el «Total» no me da una media de los valores. ¿La media/promedio debería ser 3,08, no 3,29?

Del ejemplo anterior, dibujé en Excel cómo estoy tratando de que mi tabla se vea como:

Power BI Pregunta 4.png

Deja un comentario

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