dbTalk Databases Forums  

MemberKeysUnique gone in SSAS2005 - how to enforce it in SSAS2005

microsoft.public.sqlserver.olap microsoft.public.sqlserver.olap


Discuss MemberKeysUnique gone in SSAS2005 - how to enforce it in SSAS2005 in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Steve G
 
Posts: n/a

Default MemberKeysUnique gone in SSAS2005 - how to enforce it in SSAS2005 - 04-18-2006 , 07:52 AM






I've been migrating an SSAS 2000 database to SSAS 2005, and try to explain an
issue below:


1. In AS2000 I have a number of dimensions whose levels are marked as
MemberKeysUnique=True. If, when the dimension is built, the member keys in
the incoming dimension data are not unique SSAS 2000 thows an error. That
suites me fine since I then know that the data is wrong. I fix it, then
rebuild.

2. In AS2005 the 'MemberKeysUnique' property is gone. I can't see anywhere
that I can make the dimension build fail if the member keys of any attribute
are not unique. The real problem comes when creating the attribute
relationships between the various 'levels' of any particular hierarchy. I can
define a 'strong' attribute relationship between level attributes in a
hierarchy where in fact there is no strong relationship due to member keys
not being unique, and SSAS2005 doesn't complain. However, when viewing the
dimension the members will be displayed in the wrong position (note that if I
do not define strong releationships the dimension members appear in the
correct place but of course I lose the aggregation benefits of a strong AR
setup). The danger is that I can build a strong attribute relationship
between levels in SSAS 2005 which is correct when the cube is initially
designed and built, but which gets broken later on if the data imported
through a view/query in the Data Source View includes duplicate keys where
they were not expected. SSAS2005 does not generate an error, but SSAS2000
does. It is potentially very difficult to enforce the MemberKeysUnique within
the DSV layer or lower.

So my question: Did I miss something, and is it possible to simply enforce
the 'MemberKeysUnique=True' property from SSAS 2000 in SSAS 2005 ? If not,
has SSAS 2005 lost a valuable control mechanism ?




Reply With Quote
  #2  
Old   
Akshai Mirchandani [MS]
 
Posts: n/a

Default Re: MemberKeysUnique gone in SSAS2005 - how to enforce it in SSAS2005 - 04-18-2006 , 11:06 AM






Look at the ErrorConfiguration section on the Dimension object -- you can
validate for "duplicates" which isn't quite equivalent but is close enough
for this purpose...

It applies to the entire dimension -- but since the relational queries will
do a SELECT DISTINCT for each property, all the attributes really should be
unique.

HTH,
Akshai
--
Try out the MSDN Forums for Analysis Services at:
http://forums.microsoft.com/MSDN/Sho...ID=83&SiteID=1

This posting is provided "AS IS" with no warranties, and confers no rights
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.

"Steve G" <SteveG (AT) discussions (DOT) microsoft.com> wrote

Quote:
I've been migrating an SSAS 2000 database to SSAS 2005, and try to explain
an
issue below:


1. In AS2000 I have a number of dimensions whose levels are marked as
MemberKeysUnique=True. If, when the dimension is built, the member keys in
the incoming dimension data are not unique SSAS 2000 thows an error. That
suites me fine since I then know that the data is wrong. I fix it, then
rebuild.

2. In AS2005 the 'MemberKeysUnique' property is gone. I can't see anywhere
that I can make the dimension build fail if the member keys of any
attribute
are not unique. The real problem comes when creating the attribute
relationships between the various 'levels' of any particular hierarchy. I
can
define a 'strong' attribute relationship between level attributes in a
hierarchy where in fact there is no strong relationship due to member keys
not being unique, and SSAS2005 doesn't complain. However, when viewing the
dimension the members will be displayed in the wrong position (note that
if I
do not define strong releationships the dimension members appear in the
correct place but of course I lose the aggregation benefits of a strong AR
setup). The danger is that I can build a strong attribute relationship
between levels in SSAS 2005 which is correct when the cube is initially
designed and built, but which gets broken later on if the data imported
through a view/query in the Data Source View includes duplicate keys where
they were not expected. SSAS2005 does not generate an error, but SSAS2000
does. It is potentially very difficult to enforce the MemberKeysUnique
within
the DSV layer or lower.

So my question: Did I miss something, and is it possible to simply enforce
the 'MemberKeysUnique=True' property from SSAS 2000 in SSAS 2005 ? If not,
has SSAS 2005 lost a valuable control mechanism ?






Reply With Quote
  #3  
Old   
Steve G
 
Posts: n/a

Default Re: MemberKeysUnique gone in SSAS2005 - how to enforce it in SSAS2 - 04-26-2006 , 04:53 AM



Yep, adjusting the error configuration worked for me in this situation. Thanks.

Steve


"Akshai Mirchandani [MS]" wrote:

Quote:
Look at the ErrorConfiguration section on the Dimension object -- you can
validate for "duplicates" which isn't quite equivalent but is close enough
for this purpose...

It applies to the entire dimension -- but since the relational queries will
do a SELECT DISTINCT for each property, all the attributes really should be
unique.

HTH,
Akshai
--
Try out the MSDN Forums for Analysis Services at:
http://forums.microsoft.com/MSDN/Sho...ID=83&SiteID=1

This posting is provided "AS IS" with no warranties, and confers no rights
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.

"Steve G" <SteveG (AT) discussions (DOT) microsoft.com> wrote in message
news:E883DABC-0882-4817-B821-5A707324AE5E (AT) microsoft (DOT) com...
I've been migrating an SSAS 2000 database to SSAS 2005, and try to explain
an
issue below:


1. In AS2000 I have a number of dimensions whose levels are marked as
MemberKeysUnique=True. If, when the dimension is built, the member keys in
the incoming dimension data are not unique SSAS 2000 thows an error. That
suites me fine since I then know that the data is wrong. I fix it, then
rebuild.

2. In AS2005 the 'MemberKeysUnique' property is gone. I can't see anywhere
that I can make the dimension build fail if the member keys of any
attribute
are not unique. The real problem comes when creating the attribute
relationships between the various 'levels' of any particular hierarchy. I
can
define a 'strong' attribute relationship between level attributes in a
hierarchy where in fact there is no strong relationship due to member keys
not being unique, and SSAS2005 doesn't complain. However, when viewing the
dimension the members will be displayed in the wrong position (note that
if I
do not define strong releationships the dimension members appear in the
correct place but of course I lose the aggregation benefits of a strong AR
setup). The danger is that I can build a strong attribute relationship
between levels in SSAS 2005 which is correct when the cube is initially
designed and built, but which gets broken later on if the data imported
through a view/query in the Data Source View includes duplicate keys where
they were not expected. SSAS2005 does not generate an error, but SSAS2000
does. It is potentially very difficult to enforce the MemberKeysUnique
within
the DSV layer or lower.

So my question: Did I miss something, and is it possible to simply enforce
the 'MemberKeysUnique=True' property from SSAS 2000 in SSAS 2005 ? If not,
has SSAS 2005 lost a valuable control mechanism ?







Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.