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
Estoy tratando de recrear algunas tablas que originalmente había hecho en Excel. El objetivo es contar el número de veces que un elemento se completa después de una semana establecida. La fórmula para lograr esto en Excel fue:
•COUNTIFS(Table1[[Due_Date]:[Due_Date]],">"&D$2,Table1[Due_Date]:[Due_Date]],"<"&D$3,Table1[[Priority]:[Priority]],"low",Table1[Complete_Date]:[Complete_Date]],">"&E$2)
Mi problema con PowerBI es que mis semanas establecidas se rellenan en una tabla (Tabla1- adjunta a continuación)
Mientras que los elementos con los que los comparo se encuentran en una tabla mucho más grande (>7.000 filas) (Tabla2 - adjunta a continuación)
Básicamente estoy tratando de etiquetar el "DueDate" de un elemento (segunda tabla PowerBI) a un conjunto "ProdWeekNum" (primera tabla PowerBI) y, a continuación, determinar si el elemento (segunda tabla PowerBI) tenía una "fecha completa" después de esa semana establecida (que se usará para medir el cumplimiento de la programación).
Fórmula de Excel deconstruida aproximadamente:
•COUNTIFS(Table1[[Due_Date]:[Due_Date]],">"&D$2,Table1[Due_Date]:[Due_Date]],"<-"&D$3,
- Asegura que un elemento tiene una fecha de vencimiento dentro de una semana establecida especificada
Tabla1[[Prioridad]:[Prioridad]],"baja",
- Encuentra sólo los elementos con una prioridad establecida en bajo (esta parte se maneja fácilmente en PowerBI (cortador, filtro, etc.), sin necesidad de agregar esto en la codificación DAX)
Tabla1[[Complete_Date]:[Complete_Date]],">"&E$2)
- Cuenta el elemento si la fecha de finalización fue después de la semana establecida especificada en la que se produjo la fecha de vencimiento
Apreciamos cualquier ayuda/recursos que se puedan proporcionar.
Atentamente
Mh
@mhicklin, no está muy claro. Puede compartir datos de ejemplo y salida de muestra.
Vea si esto puede ayudar
Hey @amitchandak
Pido disculpas porque mi petición no ha sido muy clara. Espero que lo siguiente ayude.
Tengo una tabla con un conjunto de datos de "tarea". Incluye información para más de 7000 tareas, como id. de tarea, descripción, fecha de vencimiento, fecha de finalización.
Tengo una segunda tabla que tiene a nuestras empresas establecidas semanas de producción (de miércoles a martes).
Esto se utilizará para determinar el cumplimiento de la programación, lo que significa que cualquiera que sea la semana de producción establecida en la que se encuentre la fecha de vencimiento, la fecha de finalización también debe producirse dentro de esa semana de producción establecida.
Quiero crear una expresión DAX que compare la fecha de vencimiento de una tarea con una semana de producción establecida y, a continuación, determine si la fecha de finalización estaba dentro de esa semana de producción establecida o si fue después de la semana de producción establecida.
Un ejemplo para ilustrar lo que estoy tratando de resolver:
Semana de producción 1:
Del 1 de enero de 2020 al 7 de enero de 2020 (miércoles a martes)
Tarea 1:
Fecha de vencimiento: 3 de enero de 2020
Fecha de finalización: 4 de enero de 2020
Tarea 2:
Fecha de vencimiento: 4 de enero de 2020
Fecha de finalización: 10 de enero de 2020
En el ejemplo anterior, la expresión que deseo crear no contaría la tarea 1, ya que su fecha de finalización se encuentra dentro de la semana de producción establecida. Sin embargo, contaría la tarea 2, ya que su fecha de finalización se produjo después de la semana de producción establecida.
Por favor, hágamelo saber si esto está haciendo sentido.
Atentamente
Mh
Creo que una expresión similar a la siguiente es lo que estoy buscando, sin embargo está lanzando un error que indica que el recuento mínimo de argumentos es 2:
CompleteTasks = calculate(COUNTX(filter(Tasks, Tasks[Due Date] <= Max(PoCCalendar[Date]) && Tasks[Due Date] >= Min(PoCCalendar[Date]) && Tasks[Complete Date] >= Max(PoCCalendar[Date]))))
Atentamente
Mh
Te perdiste el parámetro para countx como Tasks[ID]
CompleteTasks á calculate(COUNTX(filter(Tasks, Tasks[Due Date] <-Max(PoCCalendar[Date])
&& Tareas[Fecha de vencimiento] >- Min(PoCCalendar[Fecha]) && Tareas[Fecha completa] > Max(PoCCalendar[Fecha])),Tareas[ID]))
Esencialmente copié esta expresión de su tutorial:
Empleados actuales : CALCULATE(COUNTx(FILTER(Employee(Employee,Employee[Start Date]<-max('Date'[Date]) && (ISBLANK(Employee[End Date]) Empleado[Fecha de finalización]>max('Fecha'[Fecha]))),(Empleado[Identificador de empleado ])),CROSSFILTER(Empleado[Fecha de inicio],'Fecha'[Fecha],Ninguno))
¿Qué hace la función CROSSFILTER en este caso específico?
Aún no he comprobado si esta solución funciona. Ir a comparar algunos datos para asegurarse de que esta es la solución adecuada.
@amitchandak Agradezco la ayuda que ha dado hasta ahora. He logrado determinar el número de tareas completadas a finales de cada semana, así como el número de tareas con estados no configurados para completarse cada semana.
TasksCompletedLate á calculate(COUNTX(filter(Tasks, Tasks[Due Date] <-Max(PoCCalendar[Date])
&& Tareas[Fecha de vencimiento] >- Min(PoCCalendar[Fecha]) && Tareas[Fecha completa] > Max(PoCCalendar[Fecha]) && Tareas[Estado] - "Completado"),Tareas[OFNumber]))
TasksNotCompleted á calculate(COUNTX(filter(Tasks, Tasks[Due Date] <-Max(PoCCalendar[Date])
&& Tareas[Fecha de vencimiento] >- Min(PoCCalendar[Fecha]) && Tareas[Estado] <> "Completado"),Tareas[OFNumber]))
Sin embargo, las tareas completadas en la tabla tardía no se suman por alguna razón:
¿Alguna sugerencia?
@mhicklin , pruebe esta medida y compruebe
TasksCompletedLate new
sumX(summarize(Tasks,Tasks[OFNumber],"_1",[TasksCompletedLate]),[_1])
Si funciona, parece que el problema de contexto de fila
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 |