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
Tengo una tabla que contiene Trabajos y una tabla con las Tareas que se deben realizar durante períodos específicos para estos trabajos:
JobId | Nombre |
101 | Trabajo A |
102 | Trabajo B |
103 | Trabajo C |
104 | Trabajo C |
Taskid | StartDate | Enddate | JobId |
1 | 12/15/2019 | 1/31/2020 | 101 |
2 | 2/1/2020 | 3/15/2020 | 102 |
3 | 3/1/2020 | 3/31/2020 | 103 |
4 | 4/15/2020 | 4/30/2020 | 102 |
5 | 6/1/2020 | 7/15/2020 | 104 |
Columnas StartDate y EndDate están vinculados a una tabla Calendar.
Necesito una medida para contar el número de puestos de trabajo que se inician y terminan dentro de un período determinado (por ejemplo, 1/1/2020 – 6/30/2020).
En SQL esto sería bastante sencillo:
SELECT COUNT(JobId) FROM
(
SELECT JobId, MIN(StartDate), MAX(EndDate)
FROM Jobs
GROUP BY JobId
HAVING MIN(StartDate) > '20200101' Y MAX(EndDate) <- '20200630'
)
Como soy nuevo en PowerBI, no puedo encontrar una manera de crear esta fórmula I DAX. ¿Cómo puedo aplicar el filtro de fecha en la tabla de calendario vinculada (en 2 campos de fecha diferentes)? Cualquier ayuda muy apreciada!
Pascal
Solved! Go to Solution.
@PascalM ,
Si tienes un problema de relaciones entre esas dos mesas, eso no te dará ningún problema. Y como usted ha dado el valor codificado de forma rígida no es necesario utilizar MIN o MAX.
Si desea cambiar los valores de fecha dinámicamente al aplicar filtros, cree variables con SELCTEDVALUE y utilice en la medida en la que la fecha.
saludos
Manikumar
Proud to be a Super User!
@PascalM ,
En DAX también es directo. Algo así como abajo
Calculate(COUNT(JobId) ,FILTER( table,MIN(table[StartDate]) >' '20200101' Y MAX(table[EndDate) <- '20200630')
asumiendo el mismo formato para las fechas que usted ha dado.
saludos
Manikumar
Proud to be a Super User!
Además, no creo que en la fórmula que usted sugiere, el MIN y MAX funcionan como se esperaba. MIN y MAX solo se deben aplicar en filas para el mismo JobId. Creo que en tu fórmula mira a todos los JobIds. Así que primero necesito transformar mi tabla de tareas original con solo 1 fila por JobId, y las fechas MIN y MAX correspondientes. Entonces necesito contar cuál de estas tareas está dentro del intervalo de fechas especificado.
@PascalM ,
Si tienes un problema de relaciones entre esas dos mesas, eso no te dará ningún problema. Y como usted ha dado el valor codificado de forma rígida no es necesario utilizar MIN o MAX.
Si desea cambiar los valores de fecha dinámicamente al aplicar filtros, cree variables con SELCTEDVALUE y utilice en la medida en la que la fecha.
saludos
Manikumar
Proud to be a Super User!
Hola Manikumar,
Gracias por la respuesta rápida. Sin embargo, como mi filtro de fecha debe aplicarse a través de la tabla Calendar donde el período se determina mediante una columna CurWeekOffset que se está determinando con datos procedentes de otra tabla, no puedo codificar de forma rígida las fechas de la fórmula. ¿Cómo debería ser la fórmula cuando el filtro necesita aplicarse a través de la tabla Calendario?
Gracias
Pascal
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 | |
2 | |
2 | |
2 | |
1 |