BookatlasTwo-Day MuleSoft → Salesforce Bootcamp
268 / 278 · Module 18 — Interview Coding Scenarios · filtered: code← prev⊞ allnext →

18.33Scenario 32 — A DataWeave challenge likely to appear

Input:

{
  "customers": [
    {
      "id": "C001",
      "name": " Acme ",
      "active": true,
      "revenue": "1200000"
    },
    {
      "id": "C002",
      "name": "Old Corp",
      "active": false,
      "revenue": "500000"
    }
  ]
}

Requirement:

Return only active customers; trim company name; convert revenue to number; classify Enterprise over $1M.

Answer:

%dw 2.0
output application/json
---
payload.customers
    filter (customer) -> customer.active == true
    map (customer) -> {
        customerId: customer.id,
        name: trim(customer.name),
        revenue: customer.revenue as Number,
        type:
            if ((customer.revenue as Number) > 1000000)
                "Enterprise"
            else
                "Standard"
    }

This is worth practicing manually a couple of times.