1/23

Remove Maps with Null or Empty Names

Easy

Given a list of maps, where each map contains id (Number) and name (Text), remove all maps where the name is either null or an empty string (""). Return the remaining maps.


Example

Input:


{
a!map(id: 1, name: "John"),
a!map(id: 2, name: null),
a!map(id: 3, name: ""),
a!map(id: 4, name: "Priya")
}

Output:

{
a!map(id: 1, name: "John"),
a!map(id: 4, name: "Priya")
}


ri! Rule Inputs

ri!dataList of Map
{
  a!map(id: 1, name: "Ram"),
  a!map(id: 2, name: null()),
  a!map(id: 3, name: "Sita"),
  a!map(id: 4, name: null()),
  a!map(id: 5, name: "Hanuman")
}

Example 1 — Case 1

Input: ri!data
{
  a!map(id: 1, name: "Ram"),
  a!map(id: 2, name: null()),
  a!map(id: 3, name: "Sita"),
  a!map(id: 4, name: null()),
  a!map(id: 5, name: "Hanuman")
}
Output:
{
  a!map(id: 1, name: "Ram"),
  a!map(id: 3, name: "Sita"),
  a!map(id: 5, name: "Hanuman")
}

Example 2 — Case 2

Input: ri!data
{
  a!map(id:1,name:""),
  a!map(id:2,name:"AppianVerse"),
  a!map(id:3,name:"Sail"),
  a!map(id:4,name:""),
  a!map(id:7,name:"Records"),
  a!map(id:9,name:"Java"),
  a!map(id:11,name:"")
}
Output:
{
  a!map(id: 2, name: "AppianVerse"),
  a!map(id: 3, name: "Sail"),
  a!map(id: 7, name: "Records"),
  a!map(id: 9, name: "Java")
}

Example 3 — Case 3

Input: ri!data
{
  a!map(id:1,name:"1232"),
  a!map(id:2,name:null()),
  a!map(id:3,name:"Sail"),
  a!map(id:4,name:""),
  a!map(id:7,name:null())
}
Output:
{
  a!map(id: 1, name: "1232"),
  a!map(id: 3, name: "Sail")
}

Appian Expression Tips

  • • Use ri!variableName for 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