Single Record Dimensions in SQL Data Warehouse, seems improper, how else can I provide for these needs?2019 Community Moderator ElectionCross reference Facts and Dimensions in Data warehouseData Warehouse - Slowly Changing Dimensions with Many to Many Relationshipsmodelling hierarchical data warehouse dimensionData Warehouse - Dimension with free text fieldsFact table with information that is regularly updatable in source systemTime Dimension in Data WarehouseData warehouse split dimensionHow to best handle historical data changes in a Slowly Changing Dimension (SCD2)lookup codes in data warehouse dimensiondata-warehouse design the Organization dimension
Best approach to update all entries in a list that is paginated?
How much attack damage does the AC boost from a shield prevent on average?
How do I express some one as a black person?
Grey hair or white hair
Am I not good enough for you?
What are some noteworthy "mic-drop" moments in math?
MTG: Can I kill an opponent in response to lethal activated abilities, and not take the damage?
What Happens when Passenger Refuses to Fly Boeing 737 Max?
What is the likely impact of grounding an entire aircraft series?
What is the chance of making a successful appeal to dismissal decision from a PhD program after failing the qualifying exam in the 2nd attempt?
infinitive telling the purpose
Why does Deadpool say "You're welcome, Canada," after shooting Ryan Reynolds in the end credits?
BitNot does not flip bits in the way I expected
Do items de-spawn in Diablo?
Do f-stop and exposure time perfectly cancel?
Time travel short story where dinosaur doesn't taste like chicken
Good allowance savings plan?
Force user to remove USB token
Solving "Resistance between two nodes on a grid" problem in Mathematica
Are the terms "stab" and "staccato" synonyms?
Does "variables should live in the smallest scope as possible" include the case "variables should not exist if possible"?
Good for you! in Russian
How could our ancestors have domesticated a solitary predator?
Do Bugbears' arms literally get longer when it's their turn?
Single Record Dimensions in SQL Data Warehouse, seems improper, how else can I provide for these needs?
2019 Community Moderator ElectionCross reference Facts and Dimensions in Data warehouseData Warehouse - Slowly Changing Dimensions with Many to Many Relationshipsmodelling hierarchical data warehouse dimensionData Warehouse - Dimension with free text fieldsFact table with information that is regularly updatable in source systemTime Dimension in Data WarehouseData warehouse split dimensionHow to best handle historical data changes in a Slowly Changing Dimension (SCD2)lookup codes in data warehouse dimensiondata-warehouse design the Organization dimension
The business has a need for some single value dimensions:
DIM_BuildDate - store datetime of the DW build, with latest inventory date
DIM_CurrentAccountingPeriod - what is the accounting period now (at build date)
DIM_CurrentExchangeRate - what is the currency exchange rate now
Perhaps they could all roll into a single dimension with attributes for each value, but that is not my concern.
This seems wrong. The values change daily or periodically, making them slowly changing dimensions, at best. However, there is some genuine usefulness in storing those values with the DW.
- If a transactional job had failed, the DW build might have inventory
data that is two days old, and that's important. So I store it in
DIM_BuildDate. - Often, the calendar date does not match up with the accounting
period, especially near the beginnings and endings of months. So I
store that as DIM_CurrentAccountingPeriod. - There is a FACT_ExchangeRate which stores exchange rate values over
time, but the business people want an easy way to access "Current
Exchange Rate."
I want to be practical, and offer useful objects such as these, but I suspect these dimensions do not conform to a proper Kimball implementation.
What is another way to provide for these requirements in the DW?
data-warehouse ssas-tabular dimensional-modeling sql-data-warehouse
add a comment |
The business has a need for some single value dimensions:
DIM_BuildDate - store datetime of the DW build, with latest inventory date
DIM_CurrentAccountingPeriod - what is the accounting period now (at build date)
DIM_CurrentExchangeRate - what is the currency exchange rate now
Perhaps they could all roll into a single dimension with attributes for each value, but that is not my concern.
This seems wrong. The values change daily or periodically, making them slowly changing dimensions, at best. However, there is some genuine usefulness in storing those values with the DW.
- If a transactional job had failed, the DW build might have inventory
data that is two days old, and that's important. So I store it in
DIM_BuildDate. - Often, the calendar date does not match up with the accounting
period, especially near the beginnings and endings of months. So I
store that as DIM_CurrentAccountingPeriod. - There is a FACT_ExchangeRate which stores exchange rate values over
time, but the business people want an easy way to access "Current
Exchange Rate."
I want to be practical, and offer useful objects such as these, but I suspect these dimensions do not conform to a proper Kimball implementation.
What is another way to provide for these requirements in the DW?
data-warehouse ssas-tabular dimensional-modeling sql-data-warehouse
1
Have you looked at junk dimensions?
– JoeDBA_HAHAHA
Mar 6 at 16:33
Looks like a case for junk dimensions. for more info kimballgroup.com/2009/06/…
– mdem7
Mar 6 at 23:23
add a comment |
The business has a need for some single value dimensions:
DIM_BuildDate - store datetime of the DW build, with latest inventory date
DIM_CurrentAccountingPeriod - what is the accounting period now (at build date)
DIM_CurrentExchangeRate - what is the currency exchange rate now
Perhaps they could all roll into a single dimension with attributes for each value, but that is not my concern.
This seems wrong. The values change daily or periodically, making them slowly changing dimensions, at best. However, there is some genuine usefulness in storing those values with the DW.
- If a transactional job had failed, the DW build might have inventory
data that is two days old, and that's important. So I store it in
DIM_BuildDate. - Often, the calendar date does not match up with the accounting
period, especially near the beginnings and endings of months. So I
store that as DIM_CurrentAccountingPeriod. - There is a FACT_ExchangeRate which stores exchange rate values over
time, but the business people want an easy way to access "Current
Exchange Rate."
I want to be practical, and offer useful objects such as these, but I suspect these dimensions do not conform to a proper Kimball implementation.
What is another way to provide for these requirements in the DW?
data-warehouse ssas-tabular dimensional-modeling sql-data-warehouse
The business has a need for some single value dimensions:
DIM_BuildDate - store datetime of the DW build, with latest inventory date
DIM_CurrentAccountingPeriod - what is the accounting period now (at build date)
DIM_CurrentExchangeRate - what is the currency exchange rate now
Perhaps they could all roll into a single dimension with attributes for each value, but that is not my concern.
This seems wrong. The values change daily or periodically, making them slowly changing dimensions, at best. However, there is some genuine usefulness in storing those values with the DW.
- If a transactional job had failed, the DW build might have inventory
data that is two days old, and that's important. So I store it in
DIM_BuildDate. - Often, the calendar date does not match up with the accounting
period, especially near the beginnings and endings of months. So I
store that as DIM_CurrentAccountingPeriod. - There is a FACT_ExchangeRate which stores exchange rate values over
time, but the business people want an easy way to access "Current
Exchange Rate."
I want to be practical, and offer useful objects such as these, but I suspect these dimensions do not conform to a proper Kimball implementation.
What is another way to provide for these requirements in the DW?
data-warehouse ssas-tabular dimensional-modeling sql-data-warehouse
data-warehouse ssas-tabular dimensional-modeling sql-data-warehouse
edited 2 days ago
RADO
3,2132721
3,2132721
asked Mar 6 at 16:27
Chris AdragnaChris Adragna
438315
438315
1
Have you looked at junk dimensions?
– JoeDBA_HAHAHA
Mar 6 at 16:33
Looks like a case for junk dimensions. for more info kimballgroup.com/2009/06/…
– mdem7
Mar 6 at 23:23
add a comment |
1
Have you looked at junk dimensions?
– JoeDBA_HAHAHA
Mar 6 at 16:33
Looks like a case for junk dimensions. for more info kimballgroup.com/2009/06/…
– mdem7
Mar 6 at 23:23
1
1
Have you looked at junk dimensions?
– JoeDBA_HAHAHA
Mar 6 at 16:33
Have you looked at junk dimensions?
– JoeDBA_HAHAHA
Mar 6 at 16:33
Looks like a case for junk dimensions. for more info kimballgroup.com/2009/06/…
– mdem7
Mar 6 at 23:23
Looks like a case for junk dimensions. for more info kimballgroup.com/2009/06/…
– mdem7
Mar 6 at 23:23
add a comment |
1 Answer
1
active
oldest
votes
It's certainly wrong to create a dimension with single records per each metric - your star schema will bloat.
Build Date needs to be added, there is no way around it (it's a unique piece of data that you don't otherwise have in your star schema).
Current Exchange Rate can be easily added to your Tabular model as a calculated DAX measure (just select rate where date = build date). No need to store it in a separate dimension. As a measure, it'd be much easier to use in calculations.
Fiscal dates can be modeled either as a separate (Fiscal) calendar table, or you can simply add fiscal dates as attributes to your calendar table (i.e, "Fiscal Date", "Fiscal Year", etc).
Similarly, you can flag "current" period in the calendar table (i.e., add a field "Period Type", with values "Current Period", "Past Period" ("Future Period" if you need)). It can be used as a slicer, or as DAX filter. The same applies for "current" fiscal period - it's just another attribute in a calendar table.
That's just the answer I needed, and it all makes perfect sense. Thank you.
– Chris Adragna
yesterday
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55027866%2fsingle-record-dimensions-in-sql-data-warehouse-seems-improper-how-else-can-i-p%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It's certainly wrong to create a dimension with single records per each metric - your star schema will bloat.
Build Date needs to be added, there is no way around it (it's a unique piece of data that you don't otherwise have in your star schema).
Current Exchange Rate can be easily added to your Tabular model as a calculated DAX measure (just select rate where date = build date). No need to store it in a separate dimension. As a measure, it'd be much easier to use in calculations.
Fiscal dates can be modeled either as a separate (Fiscal) calendar table, or you can simply add fiscal dates as attributes to your calendar table (i.e, "Fiscal Date", "Fiscal Year", etc).
Similarly, you can flag "current" period in the calendar table (i.e., add a field "Period Type", with values "Current Period", "Past Period" ("Future Period" if you need)). It can be used as a slicer, or as DAX filter. The same applies for "current" fiscal period - it's just another attribute in a calendar table.
That's just the answer I needed, and it all makes perfect sense. Thank you.
– Chris Adragna
yesterday
add a comment |
It's certainly wrong to create a dimension with single records per each metric - your star schema will bloat.
Build Date needs to be added, there is no way around it (it's a unique piece of data that you don't otherwise have in your star schema).
Current Exchange Rate can be easily added to your Tabular model as a calculated DAX measure (just select rate where date = build date). No need to store it in a separate dimension. As a measure, it'd be much easier to use in calculations.
Fiscal dates can be modeled either as a separate (Fiscal) calendar table, or you can simply add fiscal dates as attributes to your calendar table (i.e, "Fiscal Date", "Fiscal Year", etc).
Similarly, you can flag "current" period in the calendar table (i.e., add a field "Period Type", with values "Current Period", "Past Period" ("Future Period" if you need)). It can be used as a slicer, or as DAX filter. The same applies for "current" fiscal period - it's just another attribute in a calendar table.
That's just the answer I needed, and it all makes perfect sense. Thank you.
– Chris Adragna
yesterday
add a comment |
It's certainly wrong to create a dimension with single records per each metric - your star schema will bloat.
Build Date needs to be added, there is no way around it (it's a unique piece of data that you don't otherwise have in your star schema).
Current Exchange Rate can be easily added to your Tabular model as a calculated DAX measure (just select rate where date = build date). No need to store it in a separate dimension. As a measure, it'd be much easier to use in calculations.
Fiscal dates can be modeled either as a separate (Fiscal) calendar table, or you can simply add fiscal dates as attributes to your calendar table (i.e, "Fiscal Date", "Fiscal Year", etc).
Similarly, you can flag "current" period in the calendar table (i.e., add a field "Period Type", with values "Current Period", "Past Period" ("Future Period" if you need)). It can be used as a slicer, or as DAX filter. The same applies for "current" fiscal period - it's just another attribute in a calendar table.
It's certainly wrong to create a dimension with single records per each metric - your star schema will bloat.
Build Date needs to be added, there is no way around it (it's a unique piece of data that you don't otherwise have in your star schema).
Current Exchange Rate can be easily added to your Tabular model as a calculated DAX measure (just select rate where date = build date). No need to store it in a separate dimension. As a measure, it'd be much easier to use in calculations.
Fiscal dates can be modeled either as a separate (Fiscal) calendar table, or you can simply add fiscal dates as attributes to your calendar table (i.e, "Fiscal Date", "Fiscal Year", etc).
Similarly, you can flag "current" period in the calendar table (i.e., add a field "Period Type", with values "Current Period", "Past Period" ("Future Period" if you need)). It can be used as a slicer, or as DAX filter. The same applies for "current" fiscal period - it's just another attribute in a calendar table.
edited 13 hours ago
answered 2 days ago
RADORADO
3,2132721
3,2132721
That's just the answer I needed, and it all makes perfect sense. Thank you.
– Chris Adragna
yesterday
add a comment |
That's just the answer I needed, and it all makes perfect sense. Thank you.
– Chris Adragna
yesterday
That's just the answer I needed, and it all makes perfect sense. Thank you.
– Chris Adragna
yesterday
That's just the answer I needed, and it all makes perfect sense. Thank you.
– Chris Adragna
yesterday
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55027866%2fsingle-record-dimensions-in-sql-data-warehouse-seems-improper-how-else-can-i-p%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Have you looked at junk dimensions?
– JoeDBA_HAHAHA
Mar 6 at 16:33
Looks like a case for junk dimensions. for more info kimballgroup.com/2009/06/…
– mdem7
Mar 6 at 23:23