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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Medida Dax para seleccionar un valor en una columna específica basada en fechas

Hola

Estoy teniendo problemas para escribir una medida en dax. Tengo una tabla de datos "EmployeeMD" que tiene todos los empleados y los puestos de trabajo que ahora tienen o tenían en el pasado. Cada puesto tiene una fecha de inicio y finalización y la primera fecha de inicio y la última fecha de finalización también se agrupan para hacer la fecha "desde - hasta" que el empleado está activo. Si el empleado sigue trabajando, la fecha de finalización = 31/12/9999. Cada posición tiene un valor FTE que puede o no cambiar.
Por ejemplo, el empleado X tiene 5 posiciones diferentes (filas) en la tabla. El "desde-hasta" es el mismo para cada línea. El valor FTE cambia con el tiempo. La fecha de inicio y finalización de la posición da el período en que la persona estuvo activa en esa posición.
From to.pngPositions.pngFTE.png
También tengo una tabla de fechas con fechas que van desde el 01/01/2020 hasta el 31/12/2023.
Los datos son visibles en la siguiente matriz:
Matrix.png

Esta es la medida que tengo actualmente:

FTECount =
Dónde FTEstartdate = MIN(EmpleadoMD[PosiciónFecha de inicio])
Dónde FTEenddate = ..MAX(EmpleadoMD[PositionEnddate])
Dónde MaxDate = ..MAX(Fechas[Fecha])
Dónde DateFilter = FILTRO(EmpleadoMD, FTEstartdate < MaxDate && EOMES(FTEenddate, 0) >= MaxDate)
Dónde FTEbyposition = CALCULAR(SUMA(EmpleadoMD[EJC]), DateFilter)
devolución
FTEbyposition

Esta medida funciona en el nivel más bajo y mira en qué período de una posición es el mes y el año y toma la suma de los valores FTE que corresponde. Pero cuando colapso la matriz, se hace la suma de todos los 5 valores FTE, lo que resulta en:
matrix 2.png
Pensé que esto se debe a que las fechas en este nivel que se utilizan en el cálculo son las fechas "desde" y cada línea de la tabla está en este rango, lo que resulta en la suma de todos los valores FTE.
¿Cómo puedo reescribir la medida para que tenga el recuento de un solo valor FTE que corresponda con el mes y el año en que se contrae la matriz?
¡Gracias de antemano!







2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola

Esto ayudó mucho, ¡gracias!

Syndicate_Admin
Administrator
Administrator

, @AnonymousUser

De acuerdo con su descripción, desea tener el recuento de un solo valor FTE que corresponda con el mes y el año en que se contrae la matriz.

Pruebo en mi lado, aquí están los pasos a los que puede referirse:

(1) Estos son mis datos de prueba:

vyueyunzhmsft_0-1681711717679.png

(2) Creo una medida igual que la tuya, el resultado es el siguiente:

vyueyunzhmsft_1-1681711745639.png

(3) Para su necesidad, podemos crear otra medida basada en la medida original que creó:

Measure = SUMX( ADDCOLUMNS( CROSSJOIN( VALUES('EmployeeMD'[PositionStartdate]) ,VALUES('EmployeeMD'[PositionEnddate])) ,"V" , [FTECount]) , [V])

Entonces podemos satisfacer su necesidad, el resultado es el siguiente:

vyueyunzhmsft_2-1681711805580.png

Gracias por su tiempo y uso compartido, y gracias por su apoyo y comprensión de PowerBI.

Saludos

Dijo Zhang

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.