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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

(Pregunta muy básica) Cómo calcular el promedio de un subconjunto de una fila

En primer lugar, disculpas por publicar una pregunta tan básica: ¡he estado trabajando con Power BI durante aproximadamente una semana sin experiencia real en ello y tengo que aprender a medida que avanza con cualquier ayuda que pueda encontrar en Google!

He fusionado un par de tablas para darme parte de la información fundamental que necesito para un informe de rentabilidad (ver ejemplos en la captura de pantalla) y lo he vinculado a datos maestros que contienen un valor general de "tiempo trabajado" de otra hoja. Por supuesto, debido a que estos no son valores únicos (es decir, son muchos-muchos), el valor combinado ("Horas totales") se duplica en cada línea aplicable. He tratado con esto antes de usar columnas de agrupación / índice, pero en este caso esos trucos no funcionarán.

Por lo tanto, lo que tengo que hacer es promediar la columna Total de horas por el recuento de ID de personal y Período (calculado para fin de mes), pero no conozco la sintaxis. Encontré otra solución que sugería usar un promedio sobre cada uno, pero que aplica el resultado a cada elemento de línea por igual y no filtra por entrada única.

Por favor, ¿podría obtener un puntero? En el ejemplo adjunto, las líneas 2 a 4 mostrarían 15.25, las líneas 5 a 7 mostrarían 20.5, etc.

Untitled.jpg

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Pude crear una solución para mí mismo desde que originalmente pregunté. Creé una columna concatenada en la tabla de datos (no en PQE) combinando el ID del personal y el período para crear un solo indicador vectorial. Luego creé una segunda columna con un recuento de ese filtro usando COUNTX, FILTER y EARLIER:

Concat Count = COUNTX(FILTER('All Master Data', EARLIER('All Master Data' -Concat- )='All Master Data' -Concat- ),'All Master Data' -Concat- ).
A partir de ahí, dividí las horas facturadas por la columna Conteo de Concat y pude obtener el valor proporcional adecuado en mis medidas. Aprecio su respuesta probablemente habría funcionado también @v-kkf-msft pero como mencioné al principio, y lamentablemente algo que a menudo se ignora / se pierde en foros técnicos como este, todavía no tengo el conocimiento subyacente para saber si es probable que una propuesta sea técnicamente correcta sin muchas pruebas de estrés, ¡y no siempre puedo explicar en los términos correctos lo que estoy buscando!

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Pude crear una solución para mí mismo desde que originalmente pregunté. Creé una columna concatenada en la tabla de datos (no en PQE) combinando el ID del personal y el período para crear un solo indicador vectorial. Luego creé una segunda columna con un recuento de ese filtro usando COUNTX, FILTER y EARLIER:

Concat Count = COUNTX(FILTER('All Master Data', EARLIER('All Master Data' -Concat- )='All Master Data' -Concat- ),'All Master Data' -Concat- ).
A partir de ahí, dividí las horas facturadas por la columna Conteo de Concat y pude obtener el valor proporcional adecuado en mis medidas. Aprecio su respuesta probablemente habría funcionado también @v-kkf-msft pero como mencioné al principio, y lamentablemente algo que a menudo se ignora / se pierde en foros técnicos como este, todavía no tengo el conocimiento subyacente para saber si es probable que una propuesta sea técnicamente correcta sin muchas pruebas de estrés, ¡y no siempre puedo explicar en los términos correctos lo que estoy buscando!
Syndicate_Admin
Administrator
Administrator

@aaronhowe ¿De dónde viene el recuento de la identificación del personal? ¿Y el período? Lo sentimos, si tiene problemas para seguir, ¿puede publicar datos de muestra como texto y salida esperada?
No hay realmente suficiente información para continuar, primero verifique si su problema es un problema común que se enumera aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

Además, consulte esta publicación sobre Cómo obtener respuestas rápidas a su pregunta: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Las partes más importantes son:
1. Datos de muestra como texto, use la herramienta de tabla en la barra de edición
2. Resultado esperado de los datos de la muestra
3. Explicación en palabras de cómo llegar desde 1. a 2.

Gracias @Greg_Deckler. Para responder a sus puntos:

  • Hay varias tablas que contienen datos estáticos y agregados: la tabla personal, por ejemplo, tiene una lista única de nombres de personal e identificaciones de personal que se utilizan en algunas asignaciones. Los datos de ingresos provienen de otra fuente y están impulsados por el ID del personal y el ID del cliente. Período es una lista de fechas de fin de mes tomadas de los datos de entrada de tiempo y convertidas a fin de mes durante la transformación. Así que como ejemplo (todos los datos inventados):
    • La identificación del personal puede ser JA / Jack Adams, MB / Melanie Bonner y ST / Steve Toussand, por ejemplo.
    • El ID de cliente puede ser ALP01 / Alpha Co, TEL02 / Telecomms Solutions, ZER04 / Zeraya Experts, por ejemplo.
    • Jack puede trabajar con Alpha Co en el período de julio de 2021 y hará 3 horas de trabajo para ellos. Luego puede trabajar con Zeraya durante 7 horas ese mismo mes. En agosto trabaja 20 horas con Telecomms. Melanie trabaja solo con Alpha y hace 5 horas de trabajo en mayo, junio y julio. Steve trabaja de forma fragmentera y publica 2 horas en Alpha en junio de 2021, pero luego ingresa otra entrada de tiempo para ese mismo mes durante otras 3.75 horas a Alpha. También envía 1,5 horas a Telecomms en julio, 0,75 horas a Zeraya en julio y 8 horas a Alpha, 2 horas a Telecomms y 1,75 a Zeraya en agosto.
    • Los datos resultantes:
      • | de ID de cliente | de identificación del personal Período | Horas

ALP01 Y Julio 2021 3:00 a.m.

ZER04 Y Julio 2021 7:00 A.M.

TEL02 Y Agosto 2021 20.00

ALP01 MB Mayo 2021 5.00

ALP01 MB Junio 2021 5.00

ALP01 MB Julio 2021 5.00

ALP01 ST Junio 2021 2.00

ALP01 ST Junio 2021 3.75

TEL02 ST Julio 2021 1.50

ZER04 ST Julio 2021 0.75

ALP01 ST Agosto 2021 8.00

TEL02 ST Agosto 2021 2.00

ZER04 ST Agosto 2021 1.75

  • Junto a esto están asociadas las tasas de costos e ingresos, pero estas ya se han calculado como un valor fijo por hora, por lo que no están causando ningún problema en este momento.
  • Cada una de estas tres personas me facturará por su tiempo a una tarifa fija, pero por el total de horas que trabajan en el mes, ya sea en el trabajo del cliente o no (habrá tiempo de administración, por ejemplo):
    • facturará por [Horas totales] 15.00 horas en julio, 22.00 horas en agosto.
    • Melanie me facturará 6.50 horas cada mes.
    • Steve me facturará 6.50 horas en junio, 3.00 horas en julio y 15.00 horas en agosto.
  • Por lo tanto, el problema es asignar esas horas facturadas contra el total de horas trabajadas -la distribución no importa, la factura de Jack para julio, por ejemplo, podría dividirse un 50% contra cada una de sus líneas de la hoja de horas de julio, o dividirse en un 30% / 70% contra su tiempo trabajado- se usará de la misma manera en la visualización de cualquier manera que se presente.
  • Sin embargo, debido a que hay muchas o muchas relaciones entre el nombre de Jack, el período por el que trabaja y el período por el que me factura, agregar sus datos de facturación a través de una fusión se verá así:
    • | de ID de cliente | de identificación del personal Período | Horario | Facturado

ALP01 Y Julio 2021 3:00 PM

ZER04 Y Julio 2021 7:00 15:00

  • Y por lo tanto su total será erróneo en la suma porque se registrará como facturado 30 horas (dos entradas a las 15.00 horas cada una por la duplicidad). Idealmente, el resultado se vería así:
    • | de ID de cliente | de identificación del personal Período | Horario | Facturado

ALP01 Y Julio 2021 3:00 7:50

ZER04 Y Julio 2021 7:00 7:50

Intenté encontrar este problema en particular en las preguntas frecuentes que publicaste, pero no puedo verlo. Tampoco puedo publicar el archivo PBIX ya que contiene algunos datos confidenciales sobre el personal y los clientes, estoy luchando por explicar esto como puede ver porque aún no estoy familiarizado con la nomenclatura, soy una mano vieja en Excel y lo que podría hacer allí no siempre se traduce en lo que puedo hacer aquí.

@aaronhowe ¿De dónde viene la facturación? ¿Parece que podrías simplemente RESUMIR o RESUMIR COLUMNS y tomar el promedio?

Hola @Greg_Deckler,ya que entiendo que es una función DAX mientras que estoy procesando esto en Power Query con la intención de obtener una tabla de datos estandarizados que pueda usar en visualizaciones, ¿debería hacer esto en DAX en su lugar?

El valor facturado se toma de una tabla estática (vinculada a una hoja de cálculo) que se actualiza a mano al final de cada mes.

No @aaronhowe,

¿Se ha resuelto su problema? Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

Saludos
Winniz

No @aaronhowe,

Pruebe la siguiente fórmula:

AverageBilled = 
CALCULATE(
    MAX('Table'[Billed]) / COUNT('Table'[Staff ID]),
    FILTER(
        'Table',
        'Table'[Staff ID] = EARLIER('Table'[Staff ID]) && 'Table'[Period] = EARLIER('Table'[Period])
    )
)

image.png

Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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