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 a todos
Necesito ayuda para tratar de rellenar los valores en función de la fecha que tengo para cada personal.
Vea el ejemplo a continuación con la columna que se espera que se cree junto con el enlace a los datos de muestra:
Datos de muestra para rellenar datos
Gracias de antemano.
Solved! Go to Solution.
Por favor, pruebe
Employment Status New =
VAR CurrentDate = TableName[Date]
VAR CurrentStatus = TableName[Employment Status]
VAR CurrentIdTable =
CALCULATETABLE ( TableName, ALLEXCEPT ( TableName, TableName[ID] ) )
VAR NoBlanksTable =
FILTER ( CurrentIdTable, TableName[Employment Status] <> BLANK () )
VAR NoBlanksTableBefore =
FILTER ( NoBlanksTable, TableName[Date] < CurrentDate )
VAR LastDateWithData =
MAXX ( NoBlanksTableBefore, TableName[Date] )
VAR LastStatus =
MAXX (
FILTER ( NoBlanksTableBefore, TableName[Date] = LastDateWithData ),
TableName[Employment Status]
)
RETURN
IF ( ISBLANK ( CurrentStatus ), LastStatus, CurrentStatus )
Solo quería agregar que mi código recupera el último valor disponible antes del espacio en blanco en caso de que tenga varios valores disponibles por Id con espacios en blanco entre los valores.
@tamerj1 Gracias, pero olvidé mencionar que el personal puede tener múltiples estados de empleo que deben completarse hasta el siguiente, si lo hay. Actualmente, no lo hace.
@rush Pruebe esta columna
Hola @rush ,
Aquí, pruebe esto:
New Value =
VAR LastNonBlankID =
CALCULATE (
LASTNONBLANK ( FillDown[ID], 1 ),
FILTER (
ALL ( FillDown),
FillDown[ID] <= EARLIER ( FillDown[ID])
&& NOT ( ISBLANK ( FillDown[Employment Status] ) )
)
)
RETURN
CALCULATE (
Max ( FillDown[Employment Status] ),
FILTER ( ALL ( FillDown ), FillDown[ID] = LastNonBlankID )
)
Resultado:
@PC2790 Gracias, pero olvidé mencionar que el personal puede tener múltiples estados de empleo que deben completarse hasta el siguiente, si lo hay. Actualmente, no lo hace.
puede utilizar
Employment Status New =
VAR CurrentStatus = TableName[Employment Status]
VAR CurrentIdTable =
CALCULATETABLE ( TableName, ALLEXCEPT ( TableName, TableName[ID] ) )
VAR NoBlanksTable =
FILTER ( CurrentIdTable, TableName[Employment Status] <> BLANK () )
VAR LastDateWithData =
MAXX ( NoBlanksTable, TableName[Date] )
VAR LastStatus =
MAXX (
FILTER ( NoBlanksTable, TableName[Date] = LastDateWithData ),
TableName[Employment Status]
)
RETURN
IF ( ISBLANK ( CurrentStatus ), LastStatus, CurrentStatus )
@tamerj1 Gracias, pero olvidé mencionar que el personal puede tener múltiples estados de empleo que deben completarse hasta el siguiente, si lo hay. Actualmente, no lo hace.
Por favor, pruebe
Employment Status New =
VAR CurrentDate = TableName[Date]
VAR CurrentStatus = TableName[Employment Status]
VAR CurrentIdTable =
CALCULATETABLE ( TableName, ALLEXCEPT ( TableName, TableName[ID] ) )
VAR NoBlanksTable =
FILTER ( CurrentIdTable, TableName[Employment Status] <> BLANK () )
VAR NoBlanksTableBefore =
FILTER ( NoBlanksTable, TableName[Date] < CurrentDate )
VAR LastDateWithData =
MAXX ( NoBlanksTableBefore, TableName[Date] )
VAR LastStatus =
MAXX (
FILTER ( NoBlanksTableBefore, TableName[Date] = LastDateWithData ),
TableName[Employment Status]
)
RETURN
IF ( ISBLANK ( CurrentStatus ), LastStatus, CurrentStatus )
Hi Tamerj,
Probé su solución y estaba funcionando bien en toda la mesa, pero por alguna razón cuando el estado antes y después 'is_available' es CERO, la columna calculada no funciona
Lo miré detenidamente y todavía no estoy seguro de si el problema es el resultado de la confusión del motor entre 0 y en blanco. Me parece que es necesario agregar las columnas [MAX] y [MIN] a los argumentos ALLEXCEPT. Por favor, haga eso y hágamelo saber si funciona.
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 |