.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

Dimension Design Help

Posted By:      Posted Date: May 22, 2011    Points: 0   Category :

Hi All,

Need some help here...I have two dimension tables

1. DimWorkType

2. DimWorkTypeCategory

The DimWorkType is at lowest level and has the WorkTypeCategoryKey as foreign key.

We have a WorkType category defined in the WorkTypeCategoryTable.

There are two kind of busineess usres who have categorized the WorTypeCategory in the different way.

For example for one set of users we have the mapping like this

WorkTypeCode WorkTypeName  WorkTYpeCategoryKey

AMC                consultant            1

B110               Manager              2

The DimWorkTypeCategory is like this

ID  CategoryName 

1      Business

2      Internal

For another set of users the AMC comes under the category "Internal" and B110 comes under the "Business". Please let me know how we can handle this situation?

Do we need the separate dimension for the another set of users or we can manage in one DimWorkTypeCategory dimension?


View Complete Post

More Related Resource Links

Dimension design: Key column of non-key Dimension Attribute

Assume I have a product dimension where key dimension attribute is product code - this is a very large dimension with more than 1 million members, the key column for this attribute is productID (integer). There will be other attributes in this dimension related to key attribute.   My question is about the key columns to be defined for these other attributes. As it is related to key attribute, it has to include ProductID as part of key and hence forming a composite key - e.g. Product inception date - the key column for this has to be ProductID + date as many products can have same date. This design will violate the best practice recommendation from MS to have only numeric key columns for very large dimension attributes. But I can't find a way around this and assume this will be case for all non-key attributes in very large dimension. Is my understanding right? I assume this will be an issue for everyone? Any standard way to get around this? Or best to leave it as such? Thanks in advance.

Dimension Design Question


Hello All,

a quick question on dimension design...
We have a project detail page a asp.net based web page where admins enter the project details
There is a section in this page for Project Team where we can assign users to different role (like Project manager, Partner etc..)
There can me more than one user for the same role.

Right now we have total of 10 roles defined in the system.

Now the design question is while doing the dimension design do we need to create ten different dimensions? like DimPM, DimPart etc...
or there is any other way to do this by just creating one single dimension.

Basically from the cube we should be able to see who are the PM's, PART's etc for a project

I have two approaches right now in my mind...
First Approach
a) Need ten dimensions for ten roles ex DimPM(PMKey, PMUserID, PMUserName). DimPart etc...
b) Create a Factless table with columns (FctLesskey, ProjectKey, PMKey, PRATKEY etc...)
c) Fact table - ProjectKey, FctLessKey, Amount etc...

Second approach -

a) Create a Role dimension (fill all the roles) and will have columns RoleKey, RoleName
b) Assuming there is a User dimension (Userkey, UserName etc...)
c) FactLess table - FactLessKey, UserKey, RoleKey
d) Fact Table - ProjectKey, FactLessKey, Amount etc...

Please let me which

Design question for large fact dimension/many to many dimension


I have a pretty typical orders fact table that is aggregated to 1 line per order.

Each order may have between 0-x errors

I implemented this as a many to many dimension with one field in my intermediate fact table being the error number and the other field being the order id

this requires that i have a fact dimension on the orderid(int32) column.

Right now there are about 10m orders per month, putting my annual count around 120m which doesn't leave a lot of room for growth to stay under the ~150m key member (4GB) size limit for a dimension in SSAS.

I wanted to see if anyone had any thoughts on this. I have found 2 different strategies that might work, including using ROLAP For the order dimension or breaking the order dimension into 3 or 4 separate dimensions discussed here



Abstract Factory Design in C# , Vb.NET

Provide an interface for creating families of related or dependent objects without specifying their concrete classes

Prototype Design Pattern in C#. Vb.NET

Specify the kind of objects to create using a prototypical instance, and create new objects by copying this prototype

Adapter Design Pattern in C#, VB.NET

Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.

Singleton Design Pattern in C#, Vb.NET

Ensure a class has only one instance and provide a global point of access to it.

Solidify Your C# Application Architecture with Design Patterns

design pattern can solve many problems by providing a framework for building an application. Design patterns, which make the design process cleaner and more efficient, are especially well-suited for use in C# development because it is an object-oriented language. Existing design patterns make good templates for your objects, allowing you to build software faster. This article describes several popular design patterns you can use in your own applications, including the singleton, the decorator, the composite, and the state classes, which can improve the extensibility of your applications and the reuse of your objects.

What Are Design Patterns and Do I Need Them?

Software professionals may be familiar with the term "Design Patterns," but many have no idea of where they come from and what they truly are. Consequently, some do not see the value and benefits design patterns bring to the software development process, especially in the areas of maintenance and code reuse.

Design Patterns for .NET

It is not the intent of the Design Pattern Series to focus on providing a theoretical knowledge dump of all there is to know about design patterns. There are many books that do that already. Instead, this series will focus on providing lots of practical examples. However, there will be some theory to help address important points concerning design patterns. I use the theory of design patterns mostly as a guide and instead make references to good design pattern books for more detail explanation.

Singleton Design Pattern in Asp.net using C#

When we want to make a only one instance of a class and also making sure that there is a global access point to that object then the design pattern we user is called Singleton. The pattern ensures that the class is instantiated only once and that all requests are directed to that one and only object.

The Factory Design Pattern

Software architects generally think in terms of high-level abstractions rather than low-level programming details. Representing a system in terms of high-level abstractions promotes understanding of the system and reduces its perceived complexity. One such set of abstractions is software design patterns. They have been successfully applied in the past to simplify and solve recurring problems in software design.

Abstract Factory Design Pattern (Sample in C# and VB .NET)

An abstract factory provides an interface for creating families of related objects without specifying their concrete classes. Sometimes one wants to construct an instance of one of a suite of classes, deciding between the classes at the time of instantiation. In order to avoid duplicating the decision making everywhere an instance is created, we need a mechanism for creating instances of related classes without necessarily knowing which will be instantiated.

GOF Creational Design Patterns with C#

The GOF design patterns help address the following challenges :

design ready to accommodate change & growth

design flexible systems which come ready to handle reconfiguration and run time tailoring

code in manner to facilitate reuse during the development and extension phases ... ie. both external and internal reuse, so that we are rewarded by efficiencies as the project progresses, coming from investments made earlier in the project.

implement change in a way that doesn't overly shorten the system's useful lifespan

Design Patterns - Using the State Pattern in C#

What is the State Pattern?

The State Pattern is a behavioral pattern that can be used to alter the behavior of an object at run time. As the state of an object changes, the functionality of the object can change drastically. This change of behavior is hidden from the Client and the Client interfaces with a wrapper object known as the Context. The State Pattern is a dynamic version of the Strategy Pattern.

Design Patterns

gives Total Idea About Design Patterns

Need help for Architecture design


I need help to make decision for making framework for new project.
Project is financing (banking) project. It'll b using .net 3.5 sp1 with sql server 2005.
I want to know what should be best approach for framework? Mean to use LINQ or go with Stored procedure way with 3 tier architecture?
or anything else?

For current financing project the framework is done by one of MVP. He used LINQ to all things.
But we facing problem of w3wp process hang. We cant go for web gardening or farming bcz LINQ objects cnt be serialized to store in Session etc.
Difficult to use Transactions in LINQ. Have to use TransactionScope lead to MSDTC problems etc.

Please give your opinion.

ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend