Showing posts with label dimension. Show all posts
Showing posts with label dimension. Show all posts

Wednesday, March 21, 2012

Incorrect parent child aggregate values in SSAS browser

I've created an "Account" dimension using parent child relationships and added a unary operator to the dimension e.g. "+" and "-" to aggregate things like gross margin = sales - cost of sales.

The dimension hierarchy shows correct operators and levels (it is a ragged dimension) in the dimension browser, however when I go to the cube browser and place the hirearchy in the rows some of the members which have children cannot be "expanded" to see the children while others can. Some members when expanded show children which do not belong to them (i.e. different than what is shown in the dimension browser) and some of the values in the grid return #VALUE.

Also as diferent members are expanded it seems to effect the value of the fact data in the grid for other members i.e. expanding members lower in the dimension list will suddenly populate values in the grid which were #VALUE for members that were higher up in the dimesion list.

The odd thing is that while I can't tell for sure (since I can't see down to the leaf level on many of the members) the aggregates do seem to be applying the unary operator correctly.

It seems that the problem has taken care of itself. In each of the dimensions I had an attribute with the same name as the dimension. By renaming and in some instances deleting the atributes with the same name as the dimension it now appears that the hierarchy works properly in the SSAS browser and returns the results I want.|||

Just to let you know that I am using the Account Dimension with success with 115m source records. I am using the unary operator + and ~ and custom members in certain cases.

Attribute names and dimension names caught me out earlier on as well.

Let me know if you need any info.

|||

Thank you very much for your comment. I'm really glad to see that it is working with such a large data set.

May I ask how deep do the levels go in your account dimension and what storage mechanisim do you use? ROLAP, HOLAP, MOLAP

I am finding that I when I do an MDX query in SQL Management Studio that I'm only able to return leaf level values not aggregates. I'm using the default (I believe MOLAP) storage mechanisim. Is this the way it is supposed to work? I've worked with other OLAP tools for almost 20 years where Excel is used as the front end and have never had to worry about differenciating between leaf or non leaf data nor worry about preaggregating data in the cube. I'm a bit new to the MSAS world though so forgive me if I'm asking novice questions.

Thank you again for your insight.

|||MOLAP is used as the storage mechanism. I have not optimized the aggregates and get reasonable performance on a quad processor with 8gb. The cube is 6.16gb. I have never tried other forms of storage as MOLAP is efficient. The db is 120gb. With aggregation, the cube size will increase.
Your account dimension needs to be set-up correctly. It can have a ragged hierarchy. Ensure that the sort order is correct. eg.
Key ParentKey Account Descr
1000 Null Gross Sales
2000 Null Advertising
2100 2000 TV Advertising
2200 2100 Magazine Adv.
etc.
When u drag the account hierarchy on Mgt Studio, you should see the top levels, 1000 and 2000. Then u can drill down into children of 2000.
Just to let u know there is a bug in backing up a cube db with one of the db files > 4gb. I have to partition the cube and try again. I have logged it on the forum here.

|||

Again, thanks a million for the info. You were right, I was able to drag the account hierarchy on to Mgt Studio and drill down. I was also able to do the MDX query and return the fact data for the non leaf level (parent) members of the dimension.

I really appreciate your input.

Friday, March 9, 2012

Incompatible Data Types question

Hi,

I've got a dimension table with an Int32 primary key. I have a few fact tables that have an Int16 field, which is acting as a foreign key to the dimension table. I can't actually change the data types of these tables in the SQL database, but I'd still like to create a cube that uses those 32 bit dimension tables with the 16 bit field entries. Unfortunately, the cube designer won't let me specify a relationshop between the two tables because the fields are different data-types.
What I did is create Calculated Member fields which cast the 16 bit value to a 32 bit value, and then create the relationship. I was wondering if anyone else had a different solution?

Thanks,
KobiWe had to create temporary tables and cast the fields into matching data types.

Wednesday, March 7, 2012

including fields that are not measurement in the fact table

Hi,

I built a cube from a flat file. All of my dimension key fields and measurements fields are from that flat file. The problem that the flat file still have othe fields that were not used as dimension key or measurement and the cube user want to see these other fields as part of the cube. If these other fields are not dimension or measurement how I should bring them to the cube to be seen by the cube user?

Please help!

Aref

Unfortunately No.

In order to return the information to the client application, you will have to include a column as part of the measure group or dimension. Take a look at the dimensions of type Fact, they are intended for the cases like yours.

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no rights.

|||

Maybe what your looking for is a junk dimension.

Look at:

http://rkimball.com/html/designtipsPDF/DesignTips2003/KimballDT48DeClutter.pdf

I think gives you a more clean solution for your problem.

Friday, February 24, 2012

Include sales information about sales manager

I need to extract sale informations about every employee in a parentchild dimension, regardless of hierarchy.

The problem is, when an employee is a manager, his sales amount includes aggregated information associated with him (that is his own Sales + sales of the employees reporting to him).
According to BOL, his personal sales amount is stored in DataMember (system-generated member).

Using MDX, how can I extract the "own" sale amount of every employee, whether he is a manager or not.

After a long fight with MDX, I am able to filter out "non-leaf-items", but I am not able to extract the "DataMember" part of nonleaf members.

Any clue is welcome.

To illustrate my problem, below are the numbers shown by "Adventure Works" and the numbers I need to extract.

Browsing Adventure Works cube

Filter: Date.[Calendar Year] = {CY 2004}

Detail Fields: [Measures].[Reseller Sales Amount]

Row Fields: [Employee].[Employees]

Amy E. Alberts (under Ken J. Sanchez and Brian S. Welcker) shows a total sales amount of $4,110,734.65, distributed as follow

Jae B. Pak $1,808,043.26

Rachel B. Valdez $829,512.64

Ranjit R. Varkey Chudukatil $1,374,855.78

total incl. Amy E. Alberts) $4,110,734.65

Amy E. Alberts $98,322.97 (this is not shown in the browser)

I need to extract:

Jae B. Pak $1,808,043.26

Rachel B. Valdez $829,512.64

Ranjit R. Varkey Chudukatil $1,374,855.78

Amy E. Alberts $98,322.97

Thanks.

Ren


Hi

Just a guess, not tested, but how about subtracting the descendant employee's sales if any descendants exist?

Regards

Chris

|||

I looked at many solutions but I am not able to find out the most efficient.

It seems to be an obvious problem and solution is not easy to find.

Sunday, February 19, 2012

In Version 2005 : Dimension 'Time 1' : The source is not specified.

Hello,

I have the message 'Dimension 'Time 1' : The source is not specified.' when I processed or deploy my dimension 'Time 1'. This dimension has been create with the Assistant of the dimension.

I have the same problem with a cube !

What do I have to make?

Thanks

Looks like you missed something while designing your dimension. The error you are getting comes at validation stage. BI Dev Studio is trying to validate that all the objects in your database are defined correctly.

Try to run Dimension Wizard again and re-create the dimension.

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no rights.