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










0















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?










share|improve this question



















  • 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















0















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?










share|improve this question



















  • 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













0












0








0








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?










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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












  • 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












1 Answer
1






active

oldest

votes


















1














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.






share|improve this answer

























  • That's just the answer I needed, and it all makes perfect sense. Thank you.

    – Chris Adragna
    yesterday










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
);



);













draft saved

draft discarded


















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









1














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.






share|improve this answer

























  • That's just the answer I needed, and it all makes perfect sense. Thank you.

    – Chris Adragna
    yesterday















1














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.






share|improve this answer

























  • That's just the answer I needed, and it all makes perfect sense. Thank you.

    – Chris Adragna
    yesterday













1












1








1







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.






share|improve this answer















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.







share|improve this answer














share|improve this answer



share|improve this answer








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

















  • 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



















draft saved

draft discarded
















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Save data to MySQL database using ExtJS and PHP [closed]2019 Community Moderator ElectionHow can I prevent SQL injection in PHP?Which MySQL data type to use for storing boolean valuesPHP: Delete an element from an arrayHow do I connect to a MySQL Database in Python?Should I use the datetime or timestamp data type in MySQL?How to get a list of MySQL user accountsHow Do You Parse and Process HTML/XML in PHP?Reference — What does this symbol mean in PHP?How does PHP 'foreach' actually work?Why shouldn't I use mysql_* functions in PHP?

Compiling GNU Global with universal-ctags support Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!Tags for Emacs: Relationship between etags, ebrowse, cscope, GNU Global and exuberant ctagsVim and Ctags tips and trickscscope or ctags why choose one over the other?scons and ctagsctags cannot open option file “.ctags”Adding tag scopes in universal-ctagsShould I use Universal-ctags?Universal ctags on WindowsHow do I install GNU Global with universal ctags support using Homebrew?Universal ctags with emacsHow to highlight ctags generated by Universal Ctags in Vim?

Add ONERROR event to image from jsp tldHow to add an image to a JPanel?Saving image from PHP URLHTML img scalingCheck if an image is loaded (no errors) with jQueryHow to force an <img> to take up width, even if the image is not loadedHow do I populate hidden form field with a value set in Spring ControllerStyling Raw elements Generated from JSP tagds with Jquery MobileLimit resizing of images with explicitly set width and height attributeserror TLD use in a jsp fileJsp tld files cannot be resolved