Background
We make use of VDTs to display data which expresses a specific state of the customer process. The user can see the state in Apps. The user can also manipulate the state via edits to a front end table.
The queries became quite complicated over the time.
Underlying business problem
Now we want to show the user an aggregate over a set of values of this process state.
Technical background
To retrieve an aggregate over the specific dimension and keep the rest of the query clean, i introduced grouping sets to the VDT.
Example usage
SELECT
SUM(k.values) as value_sum,
GROUPING(k.second_group) as group_two,
MIN(k."__ROW_ID__") AS "__ROW_ID__",
k.thread as thread,
COALESCE(k.second_group, 'thread_sum') AS second_group,
MIN(k.values) as values,
MAX(k.timex) as timex,
MAX(k.valuesy2) as valuesy2
FROM
( SELECT
i.*,
CASE WHEN (i.values>0) THEN 'h' ELSE 'c' END as second_group
FROM inputTable i
) as k
GROUP BY
GROUPING SETS (
(k.thread, k.second_group), (k.thread)
)
Problem
Since i introduced the grouping sets functionality i can observe the following Error:
Error: Failed to expand the changed rows: Could not expand rows as there are no rows with the following row IDs in the original FRT:
The error is thrown when i want to edit two rows at the some same. If i edit the rows sequentially the Apps do not throw any error. The following screen displays the error:
The left shows the console with the error and the network tab with the request. Here i can see the row ids which are involved. Strangely enough the to-be-manipulated table does hold the rows, as indicated on the right.
Appendix
I was not able to reproduce the error in an example app with a small data set of data and a less complicated VDT.
Question
Does anyone experienced this problem? Does anyone have a solution to this problem?
Update
The Error is independent of the function
grouping sets
I i use the equivalent of an union over two group by’s:
[...]
group by x, y,z
union
[...]
group by x,y
the error persists.