Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Anonymous
Not applicable

COUNTIF en 2 tablas en PowerBI

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

image.pngTabla de Excel

image.pngPowerBI - Tabla1

image.pngPowerBI - Tabla2

Apreciamos cualquier ayuda/recursos que se puedan proporcionar.

Atentamente

Mh

7 REPLIES 7

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

Anonymous
Not applicable

@amitchandak

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]))

Anonymous
Not applicable

@amitchandak

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.

Anonymous
Not applicable

@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:

image.png

¿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

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.