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
Syndicate_Admin
Administrator
Administrator

Calcular actualizado cuando el valor está presente

Estoy luchando para reunir una medida para calcular el número de días laborables para un agente de ventas que responde a la segmentación de fechas que tengo en mis informes
Actualmente tengo las siguientes dos medidas que alimentan la tercera medida
Suma de días laborables = CALCULATE(COUNTROWS(Agents),'Agents'[End Date]=BLANK())
Días laborables = CALCULATE(COUNTROWS(Date),'Date'[Tipo de día]="Día laborable")
Wds = [Días laborables]*[Suma de días laborables]
lo que estoy queriendo hacer, sin embargo, es tenerlo para que calcuates el número de días laborables (que lo hace) pero cuando alguien se va y una fecha se agrega al campo de fecha de finalización calcula los días laborables hasta (e incluyendo) a esa fecha y no más.
cammc_0-1627051158261.png

esto debe reflejarse en la matriz que tengo en la visualización

Así que lo que tengo actualmente es lo siguiente

cammc_2-1627051560478.png

lo que me gustaría (con la segmentación de datos establecida en julio es)

cammc_1-1627051498724.png

Im bastante nuevo en el uso de DAX por lo que cualquier ayuda sería apreciada

1 ACCEPTED SOLUTION

parece que lo he resuelto

mediante el uso de la medida de agentes actuales y hacer una suma en las fechas parece haberme dado lo que necesito

Creo que tomarse el tiempo para escribir exactamente lo que estaba haciendo para explicarlo a usted @lbendlin me dio un momento aha y fue la solución simple que era la correcta!

SUMX(DISTINCT('Date'[Date]), [Current Agents] )

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Tendrá que definir cómo desea que esto funcione durante semanas y resúmenes. ¿La fecha de finalización es siempre en el mismo día de la semana? ¿Cuánto dura tu semana?

Normalmente tiene una tabla de fechas que define claramente los días laborables y, a continuación, utilice GENERATESERIES o CALENDAR para crear una variable de tabla que, a continuación, INTERSECTE con la columna de fecha para averiguar el número neto de días laborables para cada empleado. Ese cálculo también se verá afectado por sus opciones de filtro.

Gracias por la respuesta.

Tengo una tabla de fechas que tiene los días laborables calculados en ella, tanto en un verdadero / falso y también como texto 'Día laborable' Día no laborable'

Este objeto visual está en realidad en dos pestañas separadas en el informe: en una está cortada por semana (de lunes a domingo) y la otra está cortada por el mes del calendario. Puedo conseguirlo para que tire a través del número de días correctamente por agente, lo que no puedo conseguir que haga, es dejar de contar los días laborables cuando una persona deja el buisness.

A continuación se muestran mis tablas desordenadas y uniones

cammc_0-1627243853078.png

He probado cuatro enfoques diferentes a este y mientras siento que estoy cerca no tengo el enfoque correcto todavía

cammc_0-1627244728568.png

La línea resaltada es el leaver - que en mi tabla de agentes tiene un estado de terminado y una fecha de finalización del 7 de julio - la vista anterior es el rollo para la semana. la vista de abajo es la misma matriz, pero simplemente se expandió hasta el siguiente nivel en el hieratismo. Tengo un slicer que impactos estos cuál está puesto a FW Semanas

cammc_1-1627244806176.png

El primer enfoque que he probado es la columna de días laborables (WDS)

Wds = [Días laborables]*[Agentes actuales]
Días laborables = CALCULATE(COUNTROWS(Date),'Date'[Tipo de día]="Día laborable")
Agentes actuales = CALCULATE(countx(FILTER(Agents,Agents[Start Date]<=max('Date'[Date]) && (ISBLANK(Agents[End Date])
|| Agentes[Fecha de finalización]>max('Fecha'[Fecha])),(Agentes[ID de destino])))

Esto funciona para cuando algunos han salido de la empresa y calcula correctamente los días laborables de las semanas anteriores y la semana siguiente, sin embargo, durante las semanas que lo dejaron identificó correctamente los días laborables que estaban empleados, sin embargo, en la vista de nivel superior se muestra en blanco en lugar de los dos días que trabajaron. Esto también afecta al filtro total que luego solo calcula a 15 en lugar de 17 para esa semana.

El segundo appraoch es Wds2

Wds = [Días laborables]*[Suma de días laborables]
Días laborables = CALCULATE(COUNTROWS(Date),'Date'[Tipo de día]="Día laborable")
Suma de días laborables = CALCULATE(COUNTROWS(Agents),'Agents'[End Date]=BLANK())

esto para ser honesto no funciona y será desechado

Los agentes actuales son de una columna calculada que he agregado usando lo siguiente

Empleados actuales = CALCULATE(COUNTx(FILTER(Agents,Agents[Start Date]<=max('Date'[Date]) && (ISBLANK(Agents[End Date])
|| Agentes[Fecha de finalización]>max('Fecha'[Fecha])),(Agentes[ID de destino])))
Esta columna calculada funciona correctamente en la tabla y me da el número total de agentes que se emplearon en una fecha determinada
cammc_2-1627245674690.png

pero cuando su cayó en una matriz da el número total de agente en una fecha y enrolla que arriba y no parece para recongnise la fila de agente

los agentes actuales es una medida con la siguiente fórmula
Agentes actuales = CALCULATE(countx(FILTER(Agents,Agents[Start Date]<=max('Date'[Date]) && (ISBLANK(Agents[End Date])
|| Agentes[Fecha de finalización]>max('Fecha'[Fecha])),(Agentes[ID de destino])))
esto es probaly el fomula siento es el más cercano a qué necesito aun así no calulate correctamente las figuras cuándo enrollado arriba. Im Yendo a asumir esto es porque está haciendo una cuenta, pero im en una pérdida en cuanto a cómo i conseguir esto a qué i necesidad. lo siguiente es lo que estoy tratando de achive
cammc_3-1627247227744.png

parece que lo he resuelto

mediante el uso de la medida de agentes actuales y hacer una suma en las fechas parece haberme dado lo que necesito

Creo que tomarse el tiempo para escribir exactamente lo que estaba haciendo para explicarlo a usted @lbendlin me dio un momento aha y fue la solución simple que era la correcta!

SUMX(DISTINCT('Date'[Date]), [Current Agents] )
Syndicate_Admin
Administrator
Administrator

A la derecha belive estoy a medio camino allí ahora

He ajustado

Wds = [Working Days]*[Working Days Sum] (la columna denominada Working Days on the Matrix)

para mostrar ahora

Wds = [Días laborables]*[Agentes actuales]

He calculado esto como una medida usando el siguiente

Agentes actuales = CALCULATE(COUNTx(FILTER(Agents,Agents[Start Date]<=max('Date'[Date]) && (ISBLANK(Agents[End Date])
|| Agentes[Fecha de finalización]>max('Fecha'[Fecha])),(Agentes[ID de destino])))

Esto me lleva a la parte del camino allí, pero no todo el camino

cammc_0-1627165064598.png

Ahora tengo los días de trabajo correctos basados en cuándo la persona dejó el negocio, sin embargo, si bien esto es correcto en el día (resaltado en amarillo), no parece calcular para la semana, ni enrollar en el total. (anillado en rojo)

Hopefully im no muy lejos - puede cualquiera sugiere cómo puedo conseguir la exhibición de campo enrollada arriba correctamente

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.

Top Solution Authors