In practice, you will almost always have to deal with different source systems.
In our airline data example, our main data source is the flightdata file / staging table.
But on closer examination of this table, we find out that in the table we have the codes of the origin and destination airports (for example CDG) and the corresponding cities (for example Paris), but we do not have the name of each airport. For instance, Paris has three different airports (see below).
If our users want to see or select data based on airport names, we need another data source to set up our Airports dimension, which contains airport names. After some investigation, I discovered a file on the Internet which contains just this information. You can download it here . I have created a simple Workflow to load this file into a Staging table in our Postgres database.
Once we have this in place, we can use this table to create our SCD_airports dimension. You can download this workflow here
Below you see an extract of our new Slowly Changing Dimension which will now allow us to query on Airport names.
But remember, as we saw before, we will have to modify the loading of our Facts table before we can use this new Dimension.
We will see this on the next page