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.
Hola a todos,
Estoy teniendo algunos problemas con un pequeño proyecto y esperaba que tal vez algunos de los maestros de Power BI más experimentados aquí podrían darme una pista 😉
Queremos crear una visión general sobre la carga de trabajo de nuestros gerentes de proyecto. Los primeros proyectos se asignan a los directores de proyecto, después, cuando se inicia un proyecto, agregan la fecha de inicio y cuando se hace agregan la fecha de finalización. Cada tipo de proyecto requiere una cierta cantidad de horas para terminar.
Se me proporcionan los siguientes datos:
test_data
id_project | milestone_type | milestone_date | id_project_type | director |
1 | Empezar | 2020-05-01 | 2 | Alice |
1 | Final | 2020-09-12 | 2 | Alice |
2 | Empezar | 2020-06-14 | 1 | Bob |
2 | Final |
| 1 | Bob |
3 | Empezar | 2020-04-23 | 1 | Bob |
3 | Final | 2020-08-18 | 1 | Bob |
4 | Empezar | 2020-03-30 | 3 | Alice |
4 | Final |
| 3 | Alice |
5 | Empezar |
| 2 | Bob |
5 | Final |
| 2 | Bob |
6 | Empezar | 2020-07-14 | 2 | Bob |
6 | Final |
| 2 | Bob |
project_type
id_project_type | Tipo | hours_needed |
1 | A | 1 |
2 | B | 1.5 |
3 | C | 2 |
(Las tablas no parecen funcionar muy bien, así que aquí hay un pbix con los datos de prueba.)
El objetivo es un objeto visual que muestra la cantidad de proyectos asignados (sin fecha de inicio, sin fecha de finalización), en curso (fecha de inicio pero sin fecha de finalización) o terminado (fecha de inicio y finalización), filtrados por administrador de proyecto y fecha, ordenados por tipo de proyecto.
Ejemplo de resultado para Bob, fecha 2020-01-01 - 2020-12-31:
Tipo | En curso | Horas | Asignado | Terminado |
A | 1 | 1 | 0 | 1 |
B | 1 | 1.5 | 1 | 0 |
C | 0 | 0 | 0 | 0 |
Total | 2 | 2.5 | 1 | 1 |
Estoy luchando para encontrar los filtros correctos y creo que me falta algo obvio. Por ejemplo: ¿Cómo puedo filtrar por proyectos que están en curso, es decir, tener una fecha de inicio y ninguna fecha de finalización?
¿Puedo filtrar las entradas con una fecha de inicio o sin fecha de finalización, pero no ambas?
FILTER (test_data,
OR(
AND(
NOT(ISBLANK(test_data[date])),
EXACT(test_data[milestone_type], "Start")
),
AND(
ISBLANK(test_data[date]),
EXACT(test_data[milestone_type], "End")
)))
Con un filtro como el anterior podría crear otra tabla, por ejemplo, new_table_in_progress y luego
COUNTROWS(
FILTER(
VALUES(new_table_in_progress[id]),
CALCULATE(
COUNT(new_table_in_progress[id])) = 2
)
)
pero tiene que haber una manera más eficiente? Y si hago esto, entonces la adición de las horas ya no parece funcionar. ¿O tal vez sólo necesito separar la mesa principal barajada en otras más pequeñas?
Disculpas si estas son preguntas muy básicas, acabo de empezar a usar Power BI y estoy ansioso por aprender, pero todo es muy nuevo en este momento.
Solved! Go to Solution.
Hola @MuffinMouse
primero reordené su test_data con Power Query. Giré colum milestone_date sin agregación (véase la figura [1]).
En [2] utilicé las siguientes medidas:
Assigned =
VAR _Calculate = CALCULATE(
COUNTROWS(test_data),
test_data[Start] = BLANK(), test_data[End] = BLANK()
)
RETURN
IF(
ISBLANK(_Calculate) , 0, _Calculate
)
In progress =
VAR _Calculate = CALCULATE(
COUNTROWS(test_data),
test_data[Start] <> BLANK(), test_data[End] = BLANK()
)
RETURN
IF(
ISBLANK(_Calculate) , 0, _Calculate
)
Finished =
VAR _Calculate = CALCULATE(
COUNTROWS(test_data),
test_data[Start] <> BLANK(), test_data[End] <> BLANK()
)
RETURN
IF(
ISBLANK(_Calculate) , 0, _Calculate
)
No dijiste cómo calcular las horas.
Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)
Hola @MuffinMouse
primero reordené su test_data con Power Query. Giré colum milestone_date sin agregación (véase la figura [1]).
En [2] utilicé las siguientes medidas:
Assigned =
VAR _Calculate = CALCULATE(
COUNTROWS(test_data),
test_data[Start] = BLANK(), test_data[End] = BLANK()
)
RETURN
IF(
ISBLANK(_Calculate) , 0, _Calculate
)
In progress =
VAR _Calculate = CALCULATE(
COUNTROWS(test_data),
test_data[Start] <> BLANK(), test_data[End] = BLANK()
)
RETURN
IF(
ISBLANK(_Calculate) , 0, _Calculate
)
Finished =
VAR _Calculate = CALCULATE(
COUNTROWS(test_data),
test_data[Start] <> BLANK(), test_data[End] <> BLANK()
)
RETURN
IF(
ISBLANK(_Calculate) , 0, _Calculate
)
No dijiste cómo calcular las horas.
Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)
Hola @FrankAT
¡Vaya, eso fue rápido! El pivote tiene mucho sentido aquí, ni siquiera se me cruzó por la cabeza.
Su solución funciona perfectamente, muchas gracias!
Acerca de las horas: Quiero calcular el total de horas que un jefe de proyecto necesitará para completar todos sus proyectos actuales (en curso). La cantidad de tiempo necesaria para cada tipo de proyecto se establece en project_type[hours_needed]. Usando su ejemplo para la medida podría crear otra medida:
In progress Hours planned =
VAR _Filter = FILTER(
v_Reporting_PowerBI_Workload, v_Reporting_PowerBI_Workload[Start] <> BLANK() && v_Reporting_PowerBI_Workload[End] = BLANK())
RETURN
SUMX(
ADDCOLUMNS(_Filter, "Hours", RELATED(time_factor[factor])),
[Hours]
)
Gracias de nuevo 🙂
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |