Skip to main content

New field in an incremental table doesn't populate


Thomas Lind
Community Manager
Forum|alt.badge.img+5

Symptoms

After adding a new field to an incremental table, that field remains entirely or partially NULL.

Error Message

None

Cause

Incremental tables update only new or changed records by design.  Without additional intervention, the new field will only be populated for records created or modified after the field was added.

Resolution

Use Keep field values up-to-date on the table you add the lookup field to.

If you do not want to use that, use the below methods.

  1. The easiest and safest way to address this is to do a full load of the incremental table with the new field. However, that can sometimes be time consuming if the table is very large. 
  2. In some cases, the field can be updated manually. If the new field is a custom field with a transformation, the transformation can be applied directly to the table manually with an UPDATE command.
  3. If the new field is a lookup, it's possible to copy out the section of the Data Cleansing Script that performs the lookup and run it manually as well. Since the script to applies the lookup to the raw table, you will need to make a minor modification to apply the update to the valid table instead.
Did this topic help you find an answer to your question?

7 replies

Forum|alt.badge.img+2

@Thomas Lind, good article. This always comes up as a question when I assist clients/coworkers taking the course. I have done step 2 and 3 many times when I have needed to add fields to large inc. load tables. This requires a bit of technical SQL knowledge on the TimeXtender user.
It seems to me that it would be possible to automate this and add it as a feature in TimeXtender for inc. load tables. Something like “Update incremental load field” as an advanced execution action.
Could this be added as an product idea suggestion?


Thomas Lind
Community Manager
Forum|alt.badge.img+5
  • Author
  • Community Manager
  • 1017 replies
  • January 30, 2025

Hi ​@pontus.berglund 

There is an idea for a force full load on table option, but this part is probably more what people actually want.

The keep field values up to date option also updates fields like this, but it does it automatically not by forcing it.

 


rory.smith
TimeXtender Xpert
Forum|alt.badge.img+7
  • TimeXtender Xpert
  • 649 replies
  • January 30, 2025

Hi,

doesn't the keep field values up to date only apply in the situation where a lookup/key is initially NULL and later gets a value? I.e. transformations are not all recalculated? 


Forum|alt.badge.img+2

@Thomas Lind the force full load is already in place in my opinion, albeit a bit hidden.
These steps do the trick: Deploy > Review tasks > Check full load valid table.
I have experimented a bit with “keep values up to date” and as you say it updates the fields automatically but it always takes a toll on performance, and makes loading very large incremental tables slow. Also, in my experience the need for updating fields are one-off events. It’s usually a new field being added, or a dimension table that has changed. Whenever this happens, I do what you describe in step 2 or 3.
@rory.smith yes I do believe it does not recalculate transformations.


rory.smith
TimeXtender Xpert
Forum|alt.badge.img+7
  • TimeXtender Xpert
  • 649 replies
  • January 30, 2025

Hi,

there's also the Execution Package route which is especially useful if you also need to full load other tables in one set.


Thomas Lind
Community Manager
Forum|alt.badge.img+5
  • Author
  • Community Manager
  • 1017 replies
  • January 30, 2025

Hi ​@rory.smith 

rory.smith wrote:

Hi,

doesn't the keep field values up to date only apply in the situation where a lookup/key is initially NULL and later gets a value? I.e. transformations are not all recalculated? 

It used to be only lookups, but it changed I believe. The field used to be called keep lookup values up to date.

The I icon tells this.

To me “If enabled, all fields in the valid table will be kept up-to-date”, will mean that if you added a new field from the source it would be updated back in time as well.

This feature is for when you never wants to do a full load again. So it needs to be able to handle all the changes you can make without having to do a full load.

There is a performance decrease with this, but you will have to compare that to doing full loads, or running custom queries as explained above.

 

@pontus.berglund 

It would seem like you need to add a feature request for that then. 

The only time it wouldn’t be fine with a force full load of specific field option, would be when it is affected by another table changing its content. You may not know it is incorrect before it has been like so for a while.


  • 1 reply
  • February 18, 2025

Nice to have found this thread! 


Applied a cleansing script and that solved my issue with field transformations not updating for the full valid table.

My particular fact table is less than 1 m rows, so I preferred applying a cleansing script action instead of manually updating or manually full loading.

Before encountering this issue - I had expected that having the checkbox checked would also keep the columns with field transformation up to date. It’s implicit enough.

Perhaps a new checkbox relevant for keeping field transformation also up-to-date would be a nice option to have. Or maybe a self-join for this is the way to go performance wise?

 

 

 





 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings