danny-feliz
Hola a todos,
Soy bastante nuevo en el mundo de Power BI y espero que me puedan ayudar con un problema.
Me gustaría calcular un ingreso por persona por proyecto basado en el % de horas escritas, por ejemplo:
Proyecto X
Los ingresos totales; 1000 €
Persona x ; 10 horas escritas (10%) = ingresos 100€
Persona y ; 90 horas escritas (90%) = ingresos 900€
Tengo los siguientes conjuntos de datos:
Proyecto de ingresos de tabla de hechos (basado en facturas enviadas)
Tabla de hechos horas escritas (por persona, por día, por proyecto)
proyecto de tabla de dimensiones
Tabla de dimensiones empleados
Tiempo de tabla de dimensiones
¿Cómo puedo hacer un cálculo que me muestre los ingresos como el anterior?
Me gustaría mostrar esto por proyecto pero también por persona con todos los proyectos en los que trabajó.
¡Muchas gracias!
v-eachen-msft
En respuesta a danny-feliz
Hola @Danny-Happy,
Puede consultar el siguiente DAX.
Measure =
SUM ( 'F - invoices'[Invoice value] )
* DIVIDE (
CALCULATE (
SUM ( 'F - written hours'[Written hours] ),
ALLEXCEPT ( 'D - employee', 'D - employee'[Name] )
),
CALCULATE (
SUM ( 'F - written hours'[Written hours] ),
ALL ( 'F - written hours' )
)
)
amichandak
Prueba Me Gusta
Ingresos por persona como = divide(Suma(Tabla1[Revenue])/suma(Tabla2[Hour]) )
Se debe crear una dimensión de persona común para analizar los datos.
En algún momento, el contexto de la fila es importante, consulte: https://community.powerbi.com/t5/Community-Blog/Decoding-Direct-Query-in-Power-BI-Part-2-Date-Differ…
danny-feliz
En respuesta a amichandak
Gracias por su respuesta.
Sin embargo, el resultado no es lo que esperaba:
Proyecto 1
Ingresos = 5474 € (2 facturas)
Total de horas escritas = 32
Horas escritas persona X = 6,50
Resultado = 842 €
Resultado esperado = 1111 € (5474 € / 32 * 6,50)
amichandak
En respuesta a danny-feliz
divide(Suma(Tabla1[Revenue])/suma(Tabla2[Hour]) ) * suma(Tabla[Written hours person])
Pero dudo que esto funcione sin tomar un contexto.
¿Puede compartir datos de muestra y resultados de muestra?
danny-feliz
En respuesta a amichandak
¡Aqui tienes!
https://1drv.ms/u/s!AuI4FRcSEkqBgQI6vt-9f7AYNXY7?e=yKdoUS
v-eachen-msft
En respuesta a danny-feliz
Hola @Danny-Happy,
Puede consultar el siguiente DAX.
Measure =
SUM ( 'F - invoices'[Invoice value] )
* DIVIDE (
CALCULATE (
SUM ( 'F - written hours'[Written hours] ),
ALLEXCEPT ( 'D - employee', 'D - employee'[Name] )
),
CALCULATE (
SUM ( 'F - written hours'[Written hours] ),
ALL ( 'F - written hours' )
)
)
danny-feliz
En respuesta a v-eachen-msft
Una pregunta más.
¿Cuál sería el DAX si las «horas escritas» contienen varios proyectos?
1 persona puede escribir sus horas en más de un proyecto.
He añadido nuevos archivos de prueba:
https://1drv.ms/u/s!AuI4FRcSEkqBgQ-jHXmlJRi0_2RQ?e=grhuNU
danny-feliz
En respuesta a amichandak
Sí, puedo.
Pero, ¿cómo puedo hacer eso?
v-eachen-msft
En respuesta a danny-feliz
Hola @Danny-Happy,
Cargue sus archivos sin información confidencial en OneDrive y comparta el enlace aquí.