After you have created the flow and the datasets within the flow and before applying recipe steps to change the data, create a duplicate of the flow. This becomes a snapshot of your original dataset. Since the imported datasets are not affected, the storage overhead for creating backups is relatively low. See Flow View Page.
You can mark the original row numbers of your source data. In the first step in your recipe after initial parsing, add the following:
derive type:single value:SOURCEROWNUMBER() as:'sourceRowNumber
NOTE: Source row information can become invalid if you perform multi-dataset operations such as lookups, unions, and joins. For more precise tracking of source information, you should consider creating multi-column keys, including the source row number information. For more information, see Generate Primary Keys.
See SOURCEROWNUMBER Function.
To see all of the steps in your current recipe that reference a specific column, select Show related steps... from the column menu.
All steps are highlighted in the Recipe panel.
NOTE: If another column is dependent on the selected column, all steps pertaining to that column are highlighted as well.
For more information, see Column Menus.
enables you to easily move between steps in your transform recipe so that you can check the state of your dataset at any point during the transformation. In some cases, you may want to be able to track the changes made to an individual column side-by-side with the original column. This section provides a generalized approach for tracking column changes in this manner.
NOTE: Use this workflow only if it is important to monitor which values have changed in a column. For most use cases, the Transformer page provides sufficient visibility over your sample data to manage column values.
In the following sequence, the original column is called
String. For numeric columns, you can perform more detailed analysis between original and modified column values.
After you have completed your general setup steps of your transform, create a copy of the original column:
derive type:single value:String as:'String_orig'
Add any transforms to your recipe, including any that change the values of
String. In the example below, the following transform has been applied:
set col:String value:TRIM(String)
At the point in your recipe where you would like to test the column for changes, insert the following:
derive type:single value:(String <> String_orig) as:'String_changes'
String_changescolumn now contains
truevalues where the values in
Stringhave been changed from their original values (
To see just the values that are different, sort in descending order.
Tip: You can reposition this test anywhere in your recipe after you have created the
String_changesin our example).
Example tracking column changes
NOTE: This method may not work if your recipe includes joins or added or removed columns.
If the rows are exact duplicates, they are removed. The remaining rows contain data that has been changed.