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

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.

Reply
Anonymous
Not applicable

Power BI : Campo calculado de búsqueda

Hola, necesito crear una columna calculada (no una medida) que primero filtra la tabla en función de pocas condiciones y luego me da el valor de columna correspondiente a la fila que ha sobrevivido a todos los filtros. A continuación se muestra mi declaración de problema.

Tengo dos tablas de entrada:

1. Carga de documentos: Una tabla de hechos que almacena registros de cualquier momento en que se carga un documento para un caso.

2. Historial de aplicaciones: También una tabla de hechos que almacena el historial de cuando un caso se mueve de una etapa a otra.

A continuación se muestra la muestra de ambas tablas.

DocInput.PNG

Lo que necesito es que, una columna calculada que se derive que me diga cuál fue la etapa/estado del caso cuando el documento se estaba cargando independientemente de su etapa actual. La salida esperada está por debajo:

DocOutput.PNG

Hasta ahora, con la ayuda de debajo de DAX, soy capaz de derivar el Max DateTime en la tabla historial de aplicaciones que es menor que el tiempo de carga del documento. Quiero el valor de la columna "Nueva etapa" correspondiente a esa fecha.

Fecha de fecha más cercana CALCULATE(MAX(AppID_History[Modified_On]), FILTER(AppID_History, AppID_History[AppIDId] á EARLIER(DocumentUpload[AppID])), FILTER(AppID_History, AppID_History[Fecha] <- DocumentUtility[Document Upload Date]))

Por favor, ayúdame con ese DAX. Si no se encuentra ninguna fecha menor que la fecha de carga del documento, quiero un valor predeterminado como "Etapa 1".
@amitchandak @GilbertQ

1 ACCEPTED SOLUTION
ryan_mayu
Super User
Super User

@sahildoshi

tal vez usted puede probar esto

Column = 
VAR _date=MINX(FILTER('table2',table2[Date]>=table1[Document upload Date]&&table1[APPID]=table2[APPID]),'table2'[Date])

return MAXX(FILTER('table2','table1'[APPID]='table2'[APPID]&&'table2'[Date]=_date),'table2'[Previous Stage])

1.png





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

Proud to be a Super User!




View solution in original post

4 REPLIES 4
ryan_mayu
Super User
Super User

@sahildoshi

tal vez usted puede probar esto

Column = 
VAR _date=MINX(FILTER('table2',table2[Date]>=table1[Document upload Date]&&table1[APPID]=table2[APPID]),'table2'[Date])

return MAXX(FILTER('table2','table1'[APPID]='table2'[APPID]&&'table2'[Date]=_date),'table2'[Previous Stage])

1.png





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

Proud to be a Super User!




Anonymous
Not applicable

Gracias @ryan_mayu sólo un pequeño retoque en su DAX me está dando los resultados deseados. En lugar de MINX, será MAXX derivar _date variable. Puesto que necesito la fecha máxima que es menor que la fecha de carga del documento. Gracias 🙂

amitchandak
Super User
Super User

@sahildoshi , Pruebe una nueva columna en la tabla1

maxx(filter(Table2, Table2[Date] >-Table1[date] && Table1[AppID] á Table2[AppID]), firstnonblankvalue(Table2[Date], Table2[Stage]))

Anonymous
Not applicable

Gracias @amitchandak por la respuesta rápida, pero de alguna manera su DAX me está dando el estado correspondiente a la 2a fecha más alta en lugar de la fecha MAX. No estoy seguro de por qué, pero su lógica también parecía correcta.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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.