ETL Actions: Edit Columns: Set Column Type

As stated in the knowledge base (https://knowledge.domo.com/Prepare/Magic_Transforms/ETL_DataFlows/02ETL_Actions%3A_Edit_Columns), the definition for the Data Type "Decimal (Fixed)" reads as follows: "Contains decimal numbers with a fixed number of digits after the decimal point".

 

The definition does little to clarify the data type. I am left with a large array of questions, and I can't find further documentation. Below is a short list of key items:

 

1. What is the precision of this data type? (Two decimal places? Three? Five? Perhaps the max precision of all decimals in the column?)

2. Is the decimal truncated or rounded?

2a. If rounded, what method of rounding is used?

 

Thank you.

Best Answer

  • tadashii
    tadashii Member
    Answer ✓

    Hiya,

    The first screenshot shows the data in raw form entered into a webform.

    Column 1 is deliberately set to have an insane amount of decimals. 

    Column 4 is set to show the rounding behavior based on the data type.

    Data Entry in Webform.png

     

    In magic ETL, I converted each column into Whole, Fixed, Decimal. 

    Then in Analyser, I set the column to a number and the max decimal places I can set is 6.

    You can observe the rounding behavior from the screenshot, or if you wish, perform the same exercise using different numbers to answer your questions ?

     

    Hope that helps ! 

     

    Result.png

    Data Entry in Webform.png

Answers

  • tadashii
    tadashii Member
    Answer ✓

    Hiya,

    The first screenshot shows the data in raw form entered into a webform.

    Column 1 is deliberately set to have an insane amount of decimals. 

    Column 4 is set to show the rounding behavior based on the data type.

    Data Entry in Webform.png

     

    In magic ETL, I converted each column into Whole, Fixed, Decimal. 

    Then in Analyser, I set the column to a number and the max decimal places I can set is 6.

    You can observe the rounding behavior from the screenshot, or if you wish, perform the same exercise using different numbers to answer your questions ?

     

    Hope that helps ! 

     

    Result.png

    Data Entry in Webform.png

  • So decimal fixed appears to go to 5 places and rounds up. Thank you for running this test. Is there a method to truncate or round to 2 decimal places in ETL?

  • I often use the SQL to do my ETL work as I get more flexibility ?

    Original data in Column 4 has 2decimal places. So rounding it to 2 decimal places has no effect.

    Column 5 has 3 dp. As you can see below. using a round() and truncate() changes the number.

     

    trunc.png