Change Tracking Flashcards

1
Q

What are the two possible types of change tracking in Caboodle?

A
  1. None (Type 1)
  2. Snapshot Change Tracking (Type 2)

(Aug. 2021, 4.4)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

In the Cogito dictionary, what indicates that a TABLE is using snapshot change tracking (Type 2)?

A

There will be a chip in the overview section of the table that states this.

(Aug. 2021, 4.4)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Does every table in Caboodle use change tracking?

A

No.

Aug. 2021, 4.5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does change tracking allow tables to do?

A

Change tracking allows snapshot tables/columns to store both current data and historical data.

(Aug. 2021, 4.6)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the granularity of a snapshot table?

A

One row per entity for a data range.

Aug. 2021, 4.6

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the granularity of a non-snapshot table?

A

One row per entity extracted to the table.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

When does Caboodle create a new row for a snapshot column?

A

When any data stored in snapshot column changes a new row is created with the updated data while the old value is retained in the old row.

(Aug. 2021, 4.6)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How would you ensure that only current data is returned when using snapshot tables?

A

By including the condition IsCurrent = 1 you will return only the most current data from your snapshot tables.

The condition IsCurrent = 1 is included when…

  1. In the join condition when joining on the DurableKey column.
  2. In the WHERE clause of the query.

(Aug. 2021, 4.10)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a convenient way the Caboodle dictionary allows you to identify snapshot COLUMNS?

A

For snapshot tables in the Columns section of the dictionary, you will be able to sort by the Snapshot column.

(Aug. 2021, 4.6)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Does snapshot data capture when a change occurred?

A

No. Snapshot data captures the date the value was loaded into Caboodle.

(Aug. 2021, 4.7)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Is it possible to determine the date that a change took place?

A

Yes. Check the data lineage to determine the Chronicles item and/or Clarity table and column that store this information.

(Aug. 2021, 4.7)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What additional columns do snapshot tables have to help make sense of the data?

A
  1. The Durable Key
  2. Start Date
  3. End Data
  4. IsCurrent

(Aug. 2021. 4.7-4.8)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does the DurableKey identify?

A

The DurableKey is used to identify unique entities in the table.

Every snapshot table in Caboodle has a column called DurableKey. While there may be multiple rows in a snapshot table for a given entity, each with a unique primary key value, the DurableKey column stores the same value for all rows in the table that refer to the same entity.

(Aug. 2021, 4.8)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What do the StartDate and the EndDate store for snapshot tables?

A

The date range for the snapshot data.

Aug. 2021, 4.8

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

In a snapshot table what column stores the value of 1 if the row holds the most current information and 0 otherwise?

A

The IsCurrent column.

Aug. 2021, 4.8

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Do fact tables use change tracking?

A

No. Change tracking is only used in dimension tables.

17
Q

What is the correct way to join to a snapshot table?

A
  1. Join on the DurableKey
  2. Filter the IsCurrent column for 1

When joining to a snapshot table, use the DurableKey lookup column in the “starting” table to join to the DurableKey of the target table.

(Aug. 2021, 4.10)

18
Q

What ways can you include only the most current data for snapshot tables?

A
  1. Include it in the join conditions
    Ex: BillingTransactionFact.EmployeeDurableKey = EmployeeDim.DurableKey AND EmployeeDim.IsCurrent = 1
  2. Include it in the WHERE clause of the query

(Aug. 2021, 4.10)

19
Q

Why wouldn’t you use the primary key when aggregating data?

A

The primary key values would return inaccurate results, since there may be multiple primary key values representing the same entity.

(Aug. 2021, 4.11)

20
Q

What key column should you use when aggregating data?

A

The DurableKey. Using the primary key values would return inaccurate results, since there may be multiple primary key values representing the same entity.

(Aug. 2021, 4.11)

21
Q

What happens if a change is made to a non-snapshot column?

A

The data is overwritten.

22
Q

What is a durable key?

A

Snapshot tables have a durable key column which stores the same value for all rows that correspond to the same entity. This allows for accurate grouping and summarizing.