Filter aggregate by current print composer map_extent

Hi,

I have an aggregate and I would like it to be filtered depending on the current print composer map extent. Without the filter, the aggregate works well. But all the features are listed. And with the filter the array aggregate is empty. I don’t understand why as the filter looks fine to me (both layer and the map extent have the same CRS).

[%array_to_string( 
	aggregate(
		layer:='MY_LAYER',
		aggregate:='array_agg',
		expression:="ID",
		filter:=intersects(  
			@geometry, 
			map_get( item_variables('Carte 1'), 'map_extent')
		)
	)
)%]

Do you know what I should to to filter the aggregate depending on the current map extent ?

Thanks for your help

I have finally found the problem. In the expression I must refer to the feature using attribute( @feature, 'ID') and not only the attribute name !