?
Solved

Analysis Services: Understanding "Dimension Usage"

Posted on 2009-07-05
3
Medium Priority
?
465 Views
Last Modified: 2013-11-26
I'm running the "SQL Server Analysis Services Tutorial" (see http://msdn.microsoft.com/en-us/library/ms170208.aspx), using Visual Studio 2008 against the AdventureWorks database in SQL Server 2008.  I'm finding the "Attribute Relation" tab within the cube design to be extremely baffling and frustrating.  I would appreciate a salient description of the connection between creating a hierarchy and setting Attribute Relationships.  Specifically, I am getting warning messages that I do not understand: "Attribute relationships do not exist between one or more levels of this hierarchy.  This may result in decreased query performance."; "Avoid visible attribute hierarchies for attributes used as levels in user-defined hierarchies."; and "Set at least one of the attribute types to match the 'Time' dimension type."  I've attempted to change the Attribute Relationships so they match the levels hierarchy (Year/Semester/Quarter/Month/Date), which results in errors and an application that won't deploy.  

Since an application that deploys with warnings is a far lesser evil  than one that won't deploy, I've chosen not to perform those procedures that have me resetting Attribute Relationships.  I've tried resolving the question using help screens, but I get definitions for people who already know what they're doing: without concrete examples, these descriptions are worthless.  I would really appreciate a plain-English description of "Dimension Usage", perhaps including a link to a simple example of an Analysis service that deploys with no warning messages.  Im just learning about Analysis Services, and the "Attribute Relationships" feature is proving to be insurmountable stumbling block.

Many thanks, ~Peter Ferber
0
Comment
Question by:PeterFrb
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 15

Accepted Solution

by:
rob_farley earned 1500 total points
ID: 24782938
Right...

If you have cities and countries, such as:

Country      City
US    New York, NY
UK    London, GB
CA    London, OT

"London, GB" can only be in one country, so it makes sense to have an attribute relationship set up between them. It means that the system never has to wonder how many sales there were for "London, GB" in the US. This is where the performance gain comes in.

However, if you just had "London" as your city, then you can't set up a relationship between city and country, because London could be the UK one or the CA one.

So a lot of the ideas behind attribute relationships are affected by the data that's in your warehouse. They're worth having, but if your data doesn't suit, then just put up with the warnings.

Hope this helps...

Rob
0
 

Author Closing Comment

by:PeterFrb
ID: 31600020
I went on to study Attribute Relationships, and the key information that you don't mention here is the way to set up Key Columns and the Name column.  Conceptually you're correct, but without that information you've given, although correct, is not of much practical use.  It's still good information, though, and thank you.
~Peter
0
 
LVL 15

Expert Comment

by:rob_farley
ID: 24883933
Ah - I was assuming that you had a very denormalized environment, at which point the attribute has its own key and name. And then, if your city is just called "London", and you make no differentiation between one London and another, you can't really do attribute relationships in the same way.

In a Snowflake arrangement, where you actually have a CityID, then you will almost certainly want to use a different Key and Name column, and are fully able to leverage attribute relationships too.

Rob

0

Featured Post

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
How to leverage one TLS certificate to encrypt Microsoft SQL traffic and Remote Desktop Services, versus creating multiple tickets for the same server.
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question