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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric 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
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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