In a transaction services document in Strategy Web 9.4.0, a grid can be configured so that the user can input values to an attribute column. In the image below, the first column from the left is the ID of the attribute in the second column. The second column has been enabled as a transaction input and a value of 500 has been manually entered to the first row. The third column from the left is a metric column, with a value of 700 manually entered as well. The values have not yet been submitted.

Note: The ID column shown above, has duplicated values, however it is not visible in the screenshot, as they are further down below.
If the transaction services enabled grid is long enough, like shown above, as the user scrolls down, they will notice that the last value typed in to the transaction-enabled attribute column will repeat across all cells for which the ID, i.e. the first column, repeats, like shown below:

Notice how after scrolling down, a second cell with ID = 1 exists and all cells for the second column show "500". On the contrary, the metric column that was also configured as a transaction services input did not have the same effect.
Follow these steps to reproduce in a Strategy Tutorial project:
This is working as designed in Strategy Web 9.4.0.
Consider the following grid:
1 | Desc1-1 | 10 |
1 | Desc1-2 | 20 |
2 | Desc2 | 15 |
When modifying "Desc1-1" to "Desc1-3", internally the following SQL statement is generated:
Sample Code/Error
Set "Att DESC" = Desc1-3 where "Att ID" = 1
Having duplicated IDs for any attribute is not recommended. To prevent this issue, modify the ID column of the attribute in question to have only unique IDs. Another option is to set the modifiable column to be a metric object instead of an attribute. Under this scenario, the SQL generated would be as follows:
Sample Code/Error
Set Metric = 25 where "Att ID" = 1 and "Att DESC" = Desc1-1