Hi,
You can use the "<#List>" tag to do this. I'll quote the docs just in case:
List
Syntax:
<#List(dataset name and column)>
or
<#List(dataset name; list separator; agg expression; filter)>
Parameters:
dataset name (and column): Name of the dataset in which we want to get the values as a list. Note that this dataset doesn't need to be inside any named range, since we will use all of its records anyway. If "agg expression" is present, you don't need to include the column name, as the columns to aggregate will be taken from the expression. If not present, you need to include the column in which you want to aggregate.
list separator: This parameter is optional. If not present it will default to a single space. This is the character that will separate the elements in the list. Note that if you want to us a semicolon here (;) you will have to write it in quotes (";") so it is not considered a parameter separator
agg expression: This parameter is optional. An expression that will be applied to every record in the dataset.(any excel function is valid here, and you can use any combination of Excel functions) Null values will be ignored and not added to the list. If not present, the values of the column specified in "dataset name and column" will be used
filter: This parameter is optional. If present, it should be an expression that returns true or false. Again, any excel formula is valid here. Only those records where the filter value is true will be used in the aggregate.
Description:
Returns a string with all the values of a table one after the other, and separated by a delimiter. If the table has only one record, you can use <#List(table.field)> to get the value of the only record without having to define any "__table__ named range.
Examples:
<#List(Employees.Lastname)> will return a string like "Smith Brown Perez". As we didn't specify a separator, a single space will be used. If you know Employees has only one record, you could have used this to avoid defining a "__employees__" named range.
<#list(employees.lastname;, )> will return a string like "Smith, Brown, Perez".
<#list(employees;"; "; <#employees.firstname> & " " & <#employees.lastname>)> will return a string like "John Smith; Carl Brown; Jorge Perez". Note that as we wanted to use ";" as list separator, we had to write it inside quotes.
In your case, you should write something like: <#list(MonumentList;, ;<#MonumentList.Name>)>
And remember that if you use a <#List>, you don't need to put the tags inside a __MonumentList__ range. As List will use all the record in the database and concatenate them, it doesn't need a named range to fill different records in different cells. In fact, you should remove the __MonumentList__ Named range, because if you don't, you will get:
Country: Portugual(Master)
District: Lisbon(Detail1)
City: Lisbon(Detail2)
Monument: Torre de belem, Castelo de S?o Jorge, Mosteiro dos Jeronimos (Detail3)
Monument: Torre de belem, Castelo de S?o Jorge, Mosteiro dos Jeronimos (Detail3)
Monument: Torre de belem, Castelo de S?o Jorge, Mosteiro dos Jeronimos (Detail3)
(repeated for every record in __MonumentList__)
District: Porto(Detail1)
A last hint about <#List>: You can use the fact that it doesn't need a named range to output databases that you know have exactly one record without needing to define a named range for them.