Hi All,
Hopefully you can help me with this one. We have a source table from our POS systems containing sales transactions. There are a few value columns we transfer that are stored as a money data type and we see some weird things happening with the values of the columns. Differences of 0.01 up to 0.0001 are appearing from nowhere in the transfer from ODX to DWH and i don't know how this i happening.
The columns that have money data type are called ‘Bedrag', ’Korting’ and ‘NettoBedrag’
Take transaction 52. In the source the values are like this:

After transfer with ODX, i looked in the parquet file using ParquetViewer and that looks like this:

Still the same, nothing wrong here.
I imported the table without any modifications in TimeXtender and it looks like this:

After a transfer the data looks like this:

If you look closely we lost 0.0001 on the first record ‘NettoBedrag’. Also wel lost 0.0001 on the Bedrag of the second record.
I've tried a few things to mitigate this. Different numeric like data types like a float do not solve it. However when stored as a varchar it does work:


Another workaround i found was making a QueryTable with all data type conversions on the source (to DECIMAL(18,4) and that also worked out:


We have 8 sources of this POS System we transfer every night, so before i make the big change to Query Tables i wanted to throw this on here to see if anyone has any idea how this can happen and how to resolve it.
We are using TX 6645.1. ODX in ADLS, DWH in Azure SQL DB.