Using Weighted Dimension in SSAS
hello everyone,
working standard-modeled olap cube of sales, consists of customer, time, shop dimensions , transactions fact, standard measures: amount (sum), # of transactions , distinct count of customers.
now, need weight measures using defined customers' weighting factors, means following:
appreciate ideas of how can implemented , whether possible implement using ssas @ all.
best regards,
vitalii vitko.
working standard-modeled olap cube of sales, consists of customer, time, shop dimensions , transactions fact, standard measures: amount (sum), # of transactions , distinct count of customers.
now, need weight measures using defined customers' weighting factors, means following:
- every customer in dimension has weighting factor (from 1 100);
- amount measure should summarize transactions' amounts multiplied appropriate customers' factors;
- # of transactions should take account customers' factors, e.g. transaction customer's factor 100, should output 100;
- distinct count of customers should weighted, e.g. should treat "factor 100" customer 100 customers , output result accordignly;
appreciate ideas of how can implemented , whether possible implement using ssas @ all.
best regards,
vitalii vitko.
for amount , # of transactions either multiplication in view or in dsv or load fact table. let insert "pre-wieghted" value give best performance.
another option use customer table both dimension , fact , create measure out of weight. use measure expression apply weighting (this technique used apply currency conversions in adventure works sample database). transaction count want change count sum measure , base off calculated column in dsv returns constant value of 1.
getting distinct count multiplied weight trickiest thing. think following calculated member might work, have not tested it
sum( existing [customer].[customer].[customer].members, cint([customer].[customer].currentmember.properties("weight")))
http://geekswithblogs.net/darrengosbell - please mark correct answers
another option use customer table both dimension , fact , create measure out of weight. use measure expression apply weighting (this technique used apply currency conversions in adventure works sample database). transaction count want change count sum measure , base off calculated column in dsv returns constant value of 1.
getting distinct count multiplied weight trickiest thing. think following calculated member might work, have not tested it
sum( existing [customer].[customer].[customer].members, cint([customer].[customer].currentmember.properties("weight")))
http://geekswithblogs.net/darrengosbell - please mark correct answers
SQL Server > SQL Server Analysis Services
Comments
Post a Comment