Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola
Quiero agregar una nueva columna para la tabla siguiente y el valor de la columna que se basará en los criterios siguientes.
Para el código A1, A2,A3,...
Si en la columna Criterios MDR Fecha de finalización planificada < 28-Oct Y tiene un criterio de fecha de previsión de MDR y fecha de previsión > 28-oct, el valor de columna NUEVO será Vencido,
Si en la columna Criterios MDR Fecha de finalización planificada > 28-Oct Y tiene un criterio de fecha de previsión de MDR y fecha de previsión > 28-oct, el valor de columna NUEVO será No atrasado,
Si en la columna Criterios es Fecha de emisión de MDR, la columna ew que se va a "emitir.
Código | Descripción del MDR | Criterios | Fecha | Estado | Nueva columna |
A100 | A1 | Fecha de finalización planificada de MDR | 28-Oct-20 | Planificado por corte | |
A100 | A1 | Fecha de pronóstico de MDR | 05-Nov-20 | No emitido | Atrasado |
A200 | B1 | Fecha de finalización planificada de MDR | 10-Nov-20 | Planificado para el futuro | |
A200 | B1 | Fecha de pronóstico de MDR | 15-Nov-20 | No emitido | No atrasado |
A300 | C1 | Fecha de finalización planificada de MDR | 10-Nov-20 | Planificado para el futuro | |
A300 | C1 | Fecha emitida por MDR | 27-Oct-20 | Emitido | Emitido |
Solved! Go to Solution.
puedes probar esto. El DAX es un poco largo. Espero que la lógica sea correcta para sus datos reales.
Column = if(ISBLANK(maxx(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR issued Date"),'Table'[Criteria])),if(MAXX(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Planned Finish Date"),'Table'[Date])<=DATE(2020,10,28)&&MAXX(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Forecast Date"),'Table'[Date])>date(2020,10,28),"Overdue",if(MAXX(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Planned Finish Date"),'Table'[Date])>DATE(2020,10,28)&&MAXX(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Forecast Date"),'Table'[Date])>date(2020,10,28),"Not Overdue")),"issued")
Proud to be a Super User!
puede intentar esto para crear una columna.
por favor tenga en cuenta que cambié ligeramente su creteria.
Si en la columna Criterios MDR Fecha de finalización planificada <28-Oct Y, de lo contrario A1 estará en blanco en lugar de "atrasado".
Column = if('Table'[Criteria]="MDR Forecast Date"&& 'Table'[Date]>date(2020,10,28)&&maxx(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Planned Finish Date"),'Table'[Date])<=date(2020,10,28),"Overdue",if('Table'[Criteria]="MDR Forecast Date"&& 'Table'[Date]>date(2020,10,28)&&maxx(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Planned Finish Date"),'Table'[Date])>date(2020,10,28),"NotOverdue",if('Table'[Criteria]="MDR issued Date","Issued")))
Proud to be a Super User!
Hola Ryan,
Me estoy acercando mucho. Gracias por la respuesta.
Ahora, ¿cómo puedo obtener valores vencidos, no vencidos, emitidos repetidos para cada registro de A1, B1 C,... y no tener líneas en blanco en la nueva columna.
Gracias
Amir
puedes probar esto. El DAX es un poco largo. Espero que la lógica sea correcta para sus datos reales.
Column = if(ISBLANK(maxx(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR issued Date"),'Table'[Criteria])),if(MAXX(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Planned Finish Date"),'Table'[Date])<=DATE(2020,10,28)&&MAXX(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Forecast Date"),'Table'[Date])>date(2020,10,28),"Overdue",if(MAXX(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Planned Finish Date"),'Table'[Date])>DATE(2020,10,28)&&MAXX(FILTER('Table','Table'[MDR Description]=EARLIER('Table'[MDR Description])&&'Table'[Criteria]="MDR Forecast Date"),'Table'[Date])>date(2020,10,28),"Not Overdue")),"issued")
Proud to be a Super User!
Gracias por su ayuda, Funcionó como se esperaba.
@amirghaderi , Tryuna nueva columna como
Nueva columna ?
var _Planned á maxx(filter(Table, [Code] ?earlier([Code]) && [Criteria] á "MDR Planned Finish Date"),[Date])
var _Forecast á maxx(filter(Table, [Code] ?earlier([Code]) && [Criteria] á "MDR Forecast Date"),[Date])
var _issued á maxx(filter(Table, [Code] ?earlier([Code]) && [Criteria] á "MDR issued Date"),[Date])
devolución
if(Status in " Not Issued","Issued"
Switch( True(),
_Planned< today() && _Forecast>today(), "Overdue",
_Planned> today() && _Forecast>today() , "Not Overdue",
not(isblank(_issued )) , "Issued"
)
, blank())