Raffaella Gozzini
05/30/2025, 4:20 PMMichael Ullock
05/30/2025, 8:14 PMRaffaella Gozzini
06/01/2025, 8:40 PMJulius Kos
06/02/2025, 3:30 PMJulius Kos
06/03/2025, 11:22 AMCustom fields
table is structured. Right now it uses an EAV (Entity–Attribute–Value) format, where each row stores a field name (like “Division”) and a value (like “HR”). That works fine on its own, but once you join it with task data, the report starts to duplicate rows per user-task combination — because each custom field generates another row.
Unfortunately, this isn’t something we can fully solve just by tweaking the report or LDM. The data shape itself causes the row “explosion” — and GoodData doesn’t support dynamic pivoting of field names into columns in the UI out of the box.
One possible workaround might be using an SQL dataset directly in GoodData Cloud to reshape the custom fields before using them in reports.
Here’s some idea which should work:
SELECT
user_id,
MAX(CASE WHEN custom_field_name = 'Division' THEN value END) AS Division,
MAX(CASE WHEN custom_field_name = 'Grouping' THEN value END) AS Grouping,
MAX(CASE WHEN custom_field_name = 'Staff Grouping' THEN value END) AS Staff_Grouping
FROM custom_fields
GROUP BY user_id
(it might some adjustment depending on your use-case and source data).
In case you wouldn’t use SQL datasets or don’t want to modify the model, the only workaround would be to pre-flatten the custom fields during ingestion (i.e. outside GoodData), and load them as a proper user attribute table.Julius Kos
06/03/2025, 11:23 AMRaffaella Gozzini
06/03/2025, 1:53 PMJulius Kos
06/03/2025, 2:20 PMJulius Kos
06/03/2025, 2:44 PMProductboard
06/03/2025, 2:49 PMRaffaella Gozzini
06/03/2025, 3:13 PMJoseph Heun
06/03/2025, 7:11 PMRaffaella Gozzini
06/03/2025, 7:14 PMJoseph Heun
06/04/2025, 12:28 PMRaffaella Gozzini
06/04/2025, 1:38 PMJoseph Heun
06/04/2025, 3:27 PMJoseph Heun
06/05/2025, 12:45 PMRaffaella Gozzini
06/05/2025, 12:46 PMProductboard
06/05/2025, 12:49 PM