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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply

Columna calculada con última fecha de otra tabla filtrada

Hola a todos

Tengo dos tablas:

Voluntarios:

ID ? ... | Fecha de la última acción

Acciones de Voluntariado:

ID ? Identificación de Voluntarios (Volunteer ID) Tipo de acción ? Fecha de acción

Quiero poner la última fecha de acción de las acciones de los voluntarios en la tabla de voluntarios, pero sólo para el tipo de acción específico

He intentado:

Last Vetting - CALCULATE(LASTDATE('Volunteer Actions'[Action Date]),FILTER('Volunteer Actions', 'Volunteer Actions'[Type_ID] á 8343)) pero me da la misma fecha para todos los registros. Asumo que me falta el contexto de fila, pero no tengo idea de cómo abordar esto. ¿Debo crear una variable?
Cualquier ayuda apreciada
Salud
Tom
1 ACCEPTED SOLUTION
AllisonKennedy
Super User
Super User

@tom_malkiewicz Tan pronto como se coloca CALCULATE en una columna calculada, esencialmente lo convierte en un contexto de medida.

¿Asumo que la relación entre estas dos tablas es de 1 a muchas con una sola dirección de filtro cruzado? Debido a eso, no puede obtener las columnas de la tabla Acciones de Voluntarios en la tabla Voluntarios sin cambiar la dirección del filtro cruzado a ambos con no necesariamente recomiendo.

¿Hay alguna razón por la que necesite que esto se cree como una columna calculada y no puede crear simplemente la matriz o el objeto visual de tabla mediante la agregación LATEST en la fecha de acción?

¿Cuándo desea filtrar por el tipo de acción? Asumo que desea extraer la fecha más reciente para ese tipo de acción, en lugar de la fecha más reciente para todas las acciones.

Puede utilizar SUMMARIZECOLUMNS para obtener esa agregación en el modelo de datos si es necesario, pruebe lo siguiente:

Como TABLA CALCULADA

Fecha más reciente para 8343 Tabla de acción - SUMMARIZECOLUMNS('Acciones de voluntario'[ID de voluntario], FILTRO('Acciones de voluntario','Acciones de voluntarios'[Type_ID]<"8343"),"Última acción", MAX('Acciones de voluntario'[Fecha]))
Relacione el ID de voluntario en la tabla de acción más reciente con la identificación de voluntarios en la tabla de voluntarios.
A continuación, agregue una nueva COLUMNA CALCULADA en la tabla Voluntarios;
Last 8343 Action Date ( RELATED('Fecha más reciente para la tabla de acción 8343'[Última acción])


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

View solution in original post

6 REPLIES 6
AllisonKennedy
Super User
Super User

@tom_malkiewicz Tan pronto como se coloca CALCULATE en una columna calculada, esencialmente lo convierte en un contexto de medida.

¿Asumo que la relación entre estas dos tablas es de 1 a muchas con una sola dirección de filtro cruzado? Debido a eso, no puede obtener las columnas de la tabla Acciones de Voluntarios en la tabla Voluntarios sin cambiar la dirección del filtro cruzado a ambos con no necesariamente recomiendo.

¿Hay alguna razón por la que necesite que esto se cree como una columna calculada y no puede crear simplemente la matriz o el objeto visual de tabla mediante la agregación LATEST en la fecha de acción?

¿Cuándo desea filtrar por el tipo de acción? Asumo que desea extraer la fecha más reciente para ese tipo de acción, en lugar de la fecha más reciente para todas las acciones.

Puede utilizar SUMMARIZECOLUMNS para obtener esa agregación en el modelo de datos si es necesario, pruebe lo siguiente:

Como TABLA CALCULADA

Fecha más reciente para 8343 Tabla de acción - SUMMARIZECOLUMNS('Acciones de voluntario'[ID de voluntario], FILTRO('Acciones de voluntario','Acciones de voluntarios'[Type_ID]<"8343"),"Última acción", MAX('Acciones de voluntario'[Fecha]))
Relacione el ID de voluntario en la tabla de acción más reciente con la identificación de voluntarios en la tabla de voluntarios.
A continuación, agregue una nueva COLUMNA CALCULADA en la tabla Voluntarios;
Last 8343 Action Date ( RELATED('Fecha más reciente para la tabla de acción 8343'[Última acción])


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Hola @AllisonKennedy

Tabla calculada trabajada. Gracias

He creado dos - 1 para la fecha máxima y uno para la fecha mínima. ¿Hay alguna manera de tener ambas columnas en una tabla calculada? Me refiero a la identificación de voluntario y la fecha más temprana y la fecha más reciente?

Todo lo mejor

Tom

Prueba esto, y lo siento, mi fórmula anterior debería haber tenido 8343 no <8343 así que he actualizado que también:
Fecha más reciente para 8343 Action Table ? SUMMARIZECOLUMNS('Volunteer Actions'[Volunteer ID], FILTER('Volunteer Actions','Volunteer Actions'[Type_ID]-"8343"),"Latest Action", MAX('Volunteer Actions'[Date]), "Earliest Action", MIN('Volunteer Actions'[Date]))

Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

@AllisonKennedy Brillante. Gracias.

amitchandak
Super User
Super User

@tom_malkiewicz ,

El que creas es una medida o columna ?

puede mover datos de una tabla a otra como estos ejemplos

Todas son columnas nuevas

Nombre del artículo : RELATED('item'[Brand])

Nombre de la ciudad: maxx(FILTER(geography,geography[City Id]-Sales[City Id]),geography[City]) // error para el tipo de datos

Nombre del mes: LOOKUPVALUE('date'[Month Year],'date'[Date],Sales[Sales Date])

@amitchandak

Quiero crear una columna calculada con una fecha máxima de otra tabla, pero solo la fecha máxima de un subconjunto específico de fechas (Filtrado por tipo de acción)

Espero tener sentido

Editar

Así que intenté después de su adivse para usar MAXX

Last Vetting á MAXX(FILTER('Volunteer Actions','Volunteer Actions'[Type_ID] in-11409,11405,8338,8343,8349-),'Acciones de voluntario'[Fecha de acción])
Pero de nuevo estoy obteniendo la misma fecha en todas las filas de 30k

Helpful resources

Announcements
PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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