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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
amirghaderi
Helper IV
Helper IV

Nueva columna basada en criterios en dos filas diferentes para el mismo ID

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ódigoDescripción del MDRCriteriosFechaEstadoNueva columna
A100A1Fecha de finalización planificada de MDR28-Oct-20Planificado por corte
A100A1Fecha de pronóstico de MDR05-Nov-20No emitidoAtrasado
A200B1Fecha de finalización planificada de MDR10-Nov-20Planificado para el futuro
A200B1Fecha de pronóstico de MDR15-Nov-20No emitidoNo atrasado
A300C1Fecha de finalización planificada de MDR10-Nov-20Planificado para el futuro
A300C1Fecha emitida por MDR27-Oct-20EmitidoEmitido
1 ACCEPTED SOLUTION

@amirghaderi

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")

1.PNG





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

5 REPLIES 5
ryan_mayu
Super User
Super User

@amirghaderi

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")))

1.PNG





Did I answer your question? Mark my post as a solution!

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

@amirghaderi

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")

1.PNG





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Gracias por su ayuda, Funcionó como se esperaba.

amitchandak
Super User
Super User

@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())

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors