a!forEach(): combine two fields from each record
Easy
Each item is a map with a name and a city. Return one line per person in the form "Ann (Pune)".
Read a field out of a map with index(map, "field", default). The default is what comes back when the field is missing, and one record here is missing its city.
Input
ri!people: List of Map
ri! Rule Inputs
ri!peopleList of Map{
a!map(name: "Ann", city: "Pune"),
a!map(name: "Bo", city: "Delhi")
}Example 1: Two people
Input: ri!people
{
a!map(name: "Ann", city: "Pune"),
a!map(name: "Bo", city: "Delhi")
}Expected output:
{
"Ann (Pune)",
"Bo (Delhi)"
}Example 2: One person
Input: ri!people
{a!map(name: "Cy", city: "Mumbai")}Expected output:
{"Cy (Mumbai)"}Example 3: A missing city becomes empty, not an error
Input: ri!people
{a!map(name: "Dee")}Expected output:
{"Dee ()"}Example 4: Nobody
Input: ri!people
{}Expected output:
{}Appian Expression Tips
- • Use
ri!variableNamefor rule inputs - • Use
a!localVariables(local!x: …, body)for locals - • Use
a!forEach(items: …, expression: fv!item)to iterate - • Use
where()/reject(fn!isnull, list)to filter