Desviación estándar de valores de varias tablas

Un usuario Pregunto ✅

dont_forget

Soy algo así como un novato en PowerBI Desktop y DAX, así que discúlpeme si esta pregunta es realmente simple.

Tengo cinco personas trabajando para mí, y me gustaría crear un visual que muestre el número de llamadas que cada individuo maneja por mes en promedio, el promedio de llamadas manejadas por mes por persona en todo el grupo y, finalmente, el promedio de llamadas más uno. desviación estándar y menos una desviación estándar. Puedo hacer esto en Excel, pero no puedo hacerlo en PowerBI. Por la forma en que funcionan las matemáticas, puedo calcular el promedio con bastante facilidad. Solo crearé una medida promedio para cada individuo y luego encontraré el promedio de las cinco medidas promedio individuales. Sin embargo, para determinar la desviación estándar, necesito encontrar una manera de alimentar todos los valores dentro de una columna específica en cinco tablas en una de las variantes de STDEV. Me gustaría mucho hacer esto de una manera que me permita filtrar y actualizar el promedio de promedios, así como el STDEV.

Mis datos están separados en una tabla para cada chico y se parecen a esto:

Año Mes Número de llamadas

2016 enero 455

500 de febrero de 2016

Capture.JPG

¡Gracias!

En respuesta a dont_forget

Hola @dont_forget,

Modifico la muestra, tal vez pueda echar un vistazo a la siguiente muestra si es adecuada para sus necesidades.

Tabla fusionada:

Tabla = UNION (ADDCOLUMNS (Hoja1, «Staff», «Staff 1»), ADDCOLUMNS (Sheet2, «Staff», «Staff 2»), ADDCOLUMNS (Sheet3, «Staff», «Staff 3»))

Capture.PNG

Agregue la columna de cálculo para almacenar la fecha (use para ordenar).

Date = 
var temp=SWITCH([Month],"January",1,"February",2,"March",3,"April",4,"May",5,"June",6,"July",7,"August",8,"September",9,"October",10,"November",11,"December",12)
return
CONCATENATE([Year],if(LEN(temp)>1,temp,"0"&temp))

Medidas.

Calcule el promedio:

Average = 
var currMonth=LASTNONBLANK('Table'[Month],[Month])
var currYear=LASTNONBLANK('Table'[Year],[Year])
return
 AVERAGEX(FILTER(ALL('Table' ),[Month]=currMonth&&[Year]=currYear),[Handled Calls])

Calcule el STDEV:

STDEV = 
var currMonth=LASTNONBLANK('Table'[Month],[Month])
var currYear=LASTNONBLANK('Table'[Year],[Year])
return
STDEVX.P(FILTER(ALL('Table' ),[Month]=currMonth&&[Year]=currYear),[Handled Calls])

Crea una imagen para mostrar el resultado:

Capture2.PNG

Saludos,

Xiaoxin sheng

En respuesta a dont_forget

Personalmente, desvincularía sus datos con Power Query antes de cargarlos.

Seleccione las columnas Handled, Internal, Transfer, OutExtn y elimínelas. Esto creará 2 nuevas columnas «Tipo de llamada» y Valor. A continuación, puede eliminar el total de llamadas, ya que siempre puede recalcarlo sumando la nueva columna. Una vez que tenga todas las llamadas en una sola columna, todo lo demás se vuelve más fácil.

¿Puede mostrar una muestra de sus tablas de datos? La respuesta depende de la estructura de la tabla y la columna.

dont_forget

En respuesta a MattAllington

Gracias por la rápida respuesta Matt. Aquí está una de las tablas (las otras cuatro son idénticas):

Año Mes LoggedOnTime AHT Llamadas manejadas Llamadas internas Llamadas transferidas OutExtnCalls Total de llamadas Tiempo con personal CPH
2015 enero 359: 05: 34 0:04:36 595 20 15 75 705 359.09 1,96
2015 febrero 342: 35: 06 0:04:36 582 37 42 66 727 342.59 2.12
2015 marcha 329: 08: 06 0:04:32 595 18 31 78 722 329,14 2.19
2015 abril 327: 49: 02 0:04:32 617 22 32 94 765 327,82 2,33
2015 Mayo 251: 25: 18 0:04:24 523 13 27 52 615 251.42 2,45
2015 junio 271: 25: 28 0:04:53 498 15 12 68 593 271,42 2.18
2015 mes de julio 377: 50: 33 0:04:24 797 35 31 85 948 377,84 2.51
2015 agosto 299: 51: 06 0:04:25 488 23 14 51 576 299,85 1,92
2015 septiembre 316: 19: 16 0:04:24 578 9 20 51 658 316,32 2,08
2015 octubre 359: 49: 26 0:04:11 690 17 34 51 792 359,82 2,20
2015 noviembre 297: 32: 24 0:04:29 490 27 26 58 601 297,54 2.02
2015 diciembre 385: 21: 32 0:04:19 505 34 34 59 632 385,36 1,64
2016 enero 614: 27: 46 0:04:41 548 38 31 56 673 614,46 1,10
2016 febrero 325: 25: 16 0:04:45 556 43 30 58 687 325,42 2.11
2016 marcha 389: 46: 44 0:04:37 644 39 29 77 789 389,78 2.02
2016 abril 316: 25: 14 0:04:44 492 35 37 48 612 316,42 1,93
2016 Mayo 370: 01: 10 0:04:21 611 42 34 7 694 370.02 1,88
2016 junio 357: 19: 00 0:04:10 611 42 22 43 718 357,32 2.01
2016 mes de julio 260: 30: 30 0:04:33 517 27 35 50 629 260,51 2,41
2016 agosto 222: 21: 00 0:04:14 421 27 34 40 522 222.35 2,35
2016 septiembre 348: 54: 14 0:04:22 616 49 56 47 768 348,90 2,20
2016 octubre 339: 24: 08 0:04:55 558 34 62 28 682 339,40 2.01
2016 noviembre 389: 57: 46 0:04:50 479 38 47 37 601 389,96 1,54
2016 diciembre 313: 18: 00 0:04:26 457 42 51 dieciséis 566 313.30 1,81

En respuesta a dont_forget

Personalmente, desvincularía sus datos con Power Query antes de cargarlos.

Seleccione las columnas Handled, Internal, Transfer, OutExtn y elimínelas. Esto creará 2 nuevas columnas «Tipo de llamada» y Valor. A continuación, puede eliminar el total de llamadas, ya que siempre puede recalcarlo sumando la nueva columna. Una vez que tenga todas las llamadas en una sola columna, todo lo demás se vuelve más fácil.

En respuesta a dont_forget

Hola @dont_forget,

Basado en su descripción, desea obtener el valor promedio de cada personal por mes, ¿verdad?

Si este es un caso, puede consultar los pasos a continuación.

1. Agregue la columna de pentagrama y combine el mesas.

Table = Union(ADDCOLUMNS(Sheet1,"Staff","Staff 1"),ADDCOLUMNS(Sheet2,"Staff","Staff 2"),
ADDCOLUMNS(Sheet3,"Staff","Staff 3"),ADDCOLUMNS(Sheet4,"Staff","Staff 4"),ADDCOLUMNS(Sheet5,"Staff","Staff 5"))

2. Agregue una medida para calcular el promedio mensual de cada miembro del personal.

Average = 
var currStaff=LASTNONBLANK('Table'[Staff],[Staff])
var currMonth=LASTNONBLANK('Table'[Month],[Month])
return
 AVERAGEX(FILTER(ALL('Table' ),[Staff]=currStaff&&[Month]=currMonth),[Staffed Time])

Avg - = [Average] - 100 

Avg + = [Average] + 100 

3. Cree la imagen para mostrar el resultado.

Capture.PNG

Saludos,

Xiaoxin Sheng

dont_forget

En respuesta a v-shex-msft

Hola Xiaoxin,

De hecho, estoy buscando obtener la desviación estándar de las 5 llamadas individuales por mes. El promedio no es un problema, ya que puedo tomar un promedio del promedio, y las matemáticas funcionarán de tal manera que sean precisas. No puedo tomar el promedio de la desviación estándar del individuo. Eso no sería representativo de la desviación estándar general. La desviación estándar me permite crear un límite de control superior y un límite de control inferior estadísticamente informado, en lugar de usar un número como 100.

En Excel, pude hacerlo mediante = STDEV.P (Staff1[Handled Calls], Staff2[Handled Calls], Staff3[Handled Calls], Staff4[Handled Calls]Staff5[Handled Calls]). No puedo encontrar una forma similar de hacer la misma sintaxis en DAX.

Sin embargo, una forma muy interesante de levantar el promedio. Aprendí algo.

¡Gracias!

Nate

En respuesta a dont_forget

Hola @dont_forget,

Modifico la muestra, tal vez pueda echar un vistazo a la siguiente muestra si es adecuada para sus necesidades.

Tabla fusionada:

Tabla = UNION (ADDCOLUMNS (Hoja1, «Staff», «Staff 1»), ADDCOLUMNS (Sheet2, «Staff», «Staff 2»), ADDCOLUMNS (Sheet3, «Staff», «Staff 3»))

Capture.PNG

Agregue la columna de cálculo para almacenar la fecha (use para ordenar).

Date = 
var temp=SWITCH([Month],"January",1,"February",2,"March",3,"April",4,"May",5,"June",6,"July",7,"August",8,"September",9,"October",10,"November",11,"December",12)
return
CONCATENATE([Year],if(LEN(temp)>1,temp,"0"&temp))

Medidas.

Calcule el promedio:

Average = 
var currMonth=LASTNONBLANK('Table'[Month],[Month])
var currYear=LASTNONBLANK('Table'[Year],[Year])
return
 AVERAGEX(FILTER(ALL('Table' ),[Month]=currMonth&&[Year]=currYear),[Handled Calls])

Calcule el STDEV:

STDEV = 
var currMonth=LASTNONBLANK('Table'[Month],[Month])
var currYear=LASTNONBLANK('Table'[Year],[Year])
return
STDEVX.P(FILTER(ALL('Table' ),[Month]=currMonth&&[Year]=currYear),[Handled Calls])

Crea una imagen para mostrar el resultado:

Capture2.PNG

Saludos,

Xiaoxin sheng

Deja un comentario

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