The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
¡Hola a todos! Suelo trabajar con Power BI pero me considero en un nivel bastante principiante y necesito ayuda para desarrollar el dashboard que quiero hacer.
He creado una matriz que se asemeja a un cronograma de diagrama de Gantt, estableciendo qué maquinaria se está utilizando o se utilizará en los próximos días de un calendario. La maquinaria se divide en Tipo, Subtipo y Número de Serie. Una máquina con un número de serie determinado se puede utilizar en varios proyectos a lo largo del cronograma establecido.
Para determinar el estado de cada máquina, he pintado los días que representan las celdas del calendario según el estado de la máquina: Azul, si la máquina está prevista para ser utilizada; Amarillo, si la máquina se está utilizando; y Verde, si se completa el uso de la máquina para un proyecto determinado. Las celdas grises representan los días del fin de semana.
Para representar los días y colores en la matriz he utilizado las siguientes fórmulas:
Día de la semana = DÍA DE LA SEMANA(Horario[Fecha], 2)
WorkDay = IF(OR('TimeTable'[WeekDay]=6,'TimeTable'[WeekDay]=7), 0, 1)
- Para los valores de la matriz:
Gantt_Values =
CALCULAR(
SUMX(Tabla de valores,
IF(Y(
TODAY() >= MIN(TimeTable[Date]),
TODAY() <= MAX(TimeTable[Date])
), 1,
SI(
Y(
MIN(TimeTable[Date])>=ValuesTable[StartDate],
MAX(TimeTable[Date])<= ValuesTable[EndDate]
),
1,
""
))))
- Para el formato condicional de los valores de la matriz, he utilizado la siguiente fórmula:
Gantt_Colors =
VAR Cond_Today = CALCULATE( SUMX(ValuesTable, [Gantt_Values]), TODAY() = TimeTable[Date])
VAR Cond_WEnd = CALCULATE( SUMX(ValuesTable, [Gantt_Values]), TimeTable_Gantt[WorkDay]= 0)
VAR Cond_P = CALCULATE( SUMX(ValuesTable, [Gantt_Values]), ValuesTable[StateTypeCode]= 1, TimeTable[WorkDay]= 1)
VAR Cond_D = CALCULATE( SUMX(ValuesTable, [Gantt_Values]), ValuesTable[StateTypeCode]= 3, TimeTable[WorkDay]= 1)
VAR Cond_C = CALCULATE( SUMX(ValuesTable, [Gantt_Values]), ValuesTable[StateTypeCode]= 4, TimeTable[WorkDay]= 1)
devolución
INTERRUPTOR(Cond_Today, 1, "#c06500",
INTERRUPTOR(Cond_WEnd, 1, "#E6E6E6",
SWITCH(Cond_P, 1, "#305496",
INTERRUPTOR(Cond_D, 1, "#FFC000",
INTERRUPTOR(Cond_C, 1, "#92D050")))))
Lo que me gustaría poder mostrar es que si para una máquina con un determinado número de serie se planea utilizar a lo largo del tiempo para dos o más proyectos, pintar los días que están planificados (Azul) en Rojo, para representar el conflicto en la planificación del uso de dicha maquinaria.
He intentado hacer esto con una fórmula que me dice, a nivel de subnivel de fila del número de serie, el número de proyectos en los que se utiliza una máquina a lo largo del calendario, pero luego no sé cómo integrar esta fórmula en las anteriores para poder dar el formato de los días en rojo.
¿Alguna idea de cómo podría hacerlo?
Muchas gracias de antemano y saludos a todos.
Hola @Barsine,
¿Podría compartir un archivo de muestra para que pueda echarle un vistazo?