![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
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 ? |
#3
| |||
| |||
|
|
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 ? |
![]() |
| Thread Tools | |
| Display Modes | |
| |