Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hola a todos,
Estoy trabajando con un diagrama de Gantt en Power BI que muestra las tareas principales (como "principales") y las subtareas (como "tareas").
Mi objetivo es mostrar un indicador de estado junto a cada tarea principal en función del peor estado de sus subtareas:
Si alguna subtarea está atrasada, la tarea principal debe marcarse como Atrasada.
Si ninguna es Atrasada pero alguna subtarea se Inició tarde, la tarea principal debe ser Iniciada tarde.
Si todas las subtareas están a tiempo, entonces la tarea principal debe ser A tiempo.
Para ello, he creado la siguiente columna calculada:
DAX
Copiar
Editar
EstadoTareas Principales =
VAR ThisMainTasks = 'Tabla'[Tarea principal]
VAR Tareas Visibles =
FILTRO(
ALLSELECTED('Tabla'),
'Tabla'[Tarea principal] = ThisMainTasks
)
Estado del VAR =
INTERRUPTOR(
VERDADERO(),
COUNTROWS(FILTER(VisibleTasks, 'table'[status] = "Late")) > 0, "Late",
COUNTROWS(FILTER(VisibleTasks, 'table'[status] = "Iniciado tarde")) > 0, "Iniciado tarde",
"A tiempo"
)
DEVOLUCIÓN
Status & " " & ThisMainTasks
El problema es que, al tratarse de una columna calculada, no respeta los filtros de informe ni de nivel visual. Y no puedo usar una medida en el campo "Principal" o "Tareas de grupo" del diagrama de Gantt, solo se permiten columnas.
Así que ahora, por ejemplo:
Si se agrega una nueva subtarea a los datos de origen (por ejemplo, con el estado "Iniciado tarde"), puede afectar incorrectamente a la columna calculada de una tarea principal, incluso si esa subtarea no forma parte de la vista filtrada actual en el diagrama de Gantt.
En este caso, la tarea principal se muestra como "Iniciada tarde" en lugar de "A tiempo", lo que es incorrecto para el objeto visual actual.
Por lo tanto, el diagrama de Gantt muestra las tareas correctas, pero el estado es incorrecto, ya que la columna calculada incluye tareas que se filtran en el objeto visual.
He estado tratando de resolver esto durante mucho tiempo y no he encontrado una solución que funcione. Empiezo a pensar que esto podría no ser posible con las limitaciones actuales de Power BI.
¿Alguien ha encontrado una solución o una solución decente para esto? ¡Estaría agradecido por cualquier idea!
Por favor, avíseme si necesita alguna aclaración o información adicional, ¡gracias de antemano!
Gracias por ponerse en contacto con la comunidad de Microsoft Fabric.
¡Gracias @Rupak_bi para la pronta respuesta.
He replicado el escenario utilizando datos de muestra. Por favor, revise el archivo PBIX adjunto para su referencia.
Si esta publicación ayuda, entonces considere Aceptar como solución para ayudar a los otros miembros a encontrarlo más rápidamente, no olvide dar un "Felicitaciones", ¡realmente lo apreciaría!
Gracias.
Hola @v-pn
¡Y gracias por su respuesta!
Tienes el mismo problema que mencioné, ¿no?
Su MainTask2 debe estar a tiempo cuando todas las tareas EXCEPTO las Task4 están "a tiempo"
Por lo tanto, cambie su "Tarea 11" a "A tiempo" e intente obtener MainTask2 "A tiempo".
¿Lo entiendes? ¡Pregunte más información si es necesario!
Hola, claro.
Así que ahora mire esos Excel y PBI, y puede ver el problema:
MainTask4 ahora muestra "Iniciado tarde", pero DEBERÍA mostrarse como "A tiempo" (ya que existe el filtro "El filtro de MainTasks está construyendo" y Task4 NO está construyendo, es "Planning". Por lo tanto, NO existe la "Tarea 4" en Gantt (pertenece a MainTask4) y es correcta. Pero el problema es que MainTask4 está "Iniciado tarde" aunque todas las tareas debajo de él están "A tiempo".
Por lo tanto, el resultado esperado es: MainTask4 está a tiempo (porque el filtro de la visualización). ¿Lo entiendes?
No puedo compartir .pbix o Excel, porque no hay Insertar archivo... O al menos no lo encuentro.