SYMPTOM:
Transaction Services grids using data blending will change datatype for a metric to integer if all of its source data is integer regardless of actual datatype. For example a decimal metric only returning integer values 1, 2, 3, 4 will not allow a text field transaction to write in 5.3 if the grid uses data blending. This works fine if the grid does not use data blending.
STEPS TO REPRODUCE:
Follow the steps below to reproduce this issue in tutorial:
- Create a table in the warehouse with the following data
West Wed Jul 19 00:00:00 BST 2017 5
South Mon Jul 17 00:00:00 BST 2017 3
North Sun Jul 16 00:00:00 BST 2017 2
East Tue Jul 18 00:00:00 BST 2017 4
- Make sure the third column has the datatype decimal/double
- Create a FFSQL report which is select * from the table above
- Create a regular report with region and revenue
- Create a transaction services report with a single metric input of datatype double/decimal
- Create a document with a grid using the FFSQL report and set the formatting to fixed 2 decimal places for the metric.
- Setup a transaction on the grid using the transaction services report with the metric input mapped to the FFSQL report metric with an input type of text field
- Run the document in web and notice you can type a decimal value into the grid (such as 3.55)
- Edit the document and add the regular report
- Edit the grid and add revenue and region to the grid
- Run the document in web and see that you can no longer type in a decimal value to the grid (as soon as you hit enter the value rounds to an integer)
CAUSE:
This is a defect with data blending. The datatypes are modified by data blending automatically instead of being preserved from the source dataset.
ACTION:
This is fixed in Strategy 10.7. Upgrade to take advantage of the fix.
WORKAROUND:
Add a decimal value to the base report. Then use a view filter on the document to filter out the fake decimal value from the document grid.
KB438450