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
¡Gracias!
v-shex-msft
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»))
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:
Saludos,
Xiaoxin sheng
MattAllington
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.
MattAllington
¿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 |
MattAllington
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.
v-shex-msft
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.
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
v-shex-msft
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»))
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:
Saludos,
Xiaoxin sheng