Reports and analytics

Why do multi-user or lookup fields show JSON or "Not Supported" in reports?

These fields are stored as structured data, so add a text field with a formula that pulls out the names and use that field in the report.

Fix

Short answer: Multi-user and lookup values are stored as structured JSON, so the report shows the raw structure. Add a text field with a formula that turns the values into names, and report on that field.

Why it happens

  • A field that holds several users, or a user field reached through a lookup, stores each entry as an object, not as plain text.
  • Report export doesn't support lookup fields inside a table.

How to fix it

  1. Add a text field to the form, for example "Approver names".

  2. Give it a formula that reads each user and joins the names. For one or two users:

    if(lookupfield.users.length() = 1, concatenate(lookupfield.users.get(1).Name), if(lookupfield.users.length() = 2, concatenate(lookupfield.users.get(1).Name, ",", lookupfield.users.get(2).Name), ""))

    Replace lookupfield and users with your own field IDs. Use .Email instead of .Name to get emails.

  3. Add the new text field to your report instead of the original field.

See displaying names of multiple users in a text field.

In Analytics, parse the JSON in a dataview instead, for example AssignedTo.value:Name ::string. See the user workload report.

Important

The formula reads a fixed number of entries. Extend the nested if for more users. For lookups inside a table, there's no workaround in report export.

Related answers