BG_UpperThreshold
Applies to
Platform: Microsoft SQL Server · Snowflake · Databricks · Fabric Lakehouse · Fabric Warehouse · Oracle
BG_UpperThreshold is the upper limit of a range that you set for an incremental load with Increment Management Type User. The load reads the source rows whose BG_IncrementalFilter value is at or below this limit.
Objects that carry it
The increment table of a model object that loads incrementally and has Increment Management Type User. Stage, the satellite types except the Record Tracking satellites, PIT, Business PIT, Fact and Mart Fact have the Default Term. With Auto the increment table has no such column. Snowflake dbt and Databricks dbt have no increment table. Available since Generator 2.2.
Data type
The data type of BG_IncrementalFilter of the same model object, on every platform. The column is nullable.
Value
- The limit is inclusive: a source row whose value equals the limit is read.
- NULL means no upper limit.
- A source row whose value is NULL is read only by a range whose two limits are both NULL.
- A row that reaches the source after its range was loaded is not read by a later range that starts at or above its value.
The deployment inserts no rows. You insert one row per range, with a load timestamp, the names of the dataflow and the dataflow set, and the lower limit in BG_LowerThreshold. On Fabric Warehouse, also set BG_ID.
It is an internal Default Term: you do not map it and cannot edit it in the model. You write its values only into the increment table.
Example
A Stage load_incremental_user on Microsoft SQL Server reads TRANSACTION_TIME. The source holds four rows, at 10:00 UTC on 2026-01-01, 2026-01-02, 2026-01-03 and 2026-01-04. Before the first load you insert two ranges:
INSERT INTO stage.STG_ST_load_incremental_user_Increment (BG_LoadTimestamp, BG_DataflowName, BG_DataflowSetName, BG_LowerThreshold, BG_UpperThreshold) VALUES (SYSDATETIMEOFFSET(), 'Dataflow1', 'Set1', '2026-01-01 10:00:00 +00:00', '2026-01-03 10:00:00 +00:00'), (SYSDATETIMEOFFSET(), 'Dataflow1', 'Set1', '2026-01-03 10:00:00 +00:00', NULL);
The first load reads the rows of 2026-01-02 and 2026-01-03. The row of 2026-01-03 equals the upper limit of the first range, so the first load reads it and the second load does not. The second load reads the row of 2026-01-04, because the second range has no upper limit. Afterwards the increment table holds, with times in UTC:
BG_ID BG_LowerThreshold BG_UpperThreshold BG_IncrementLoadStatus 1 2026-01-01 10:00 2026-01-03 10:00 done 2 2026-01-03 10:00 NULL done
Related articles
- Reference: BG_LowerThreshold, BG_IncrementLoadStatus, Increment Management Type (Model Object), BG_IncrementalFilter
- See also: Configure an incremental load