Inconsistent Syntax for column-references in DAXMD for Non-Aggregateable attributes - by Gerhard Brueckl

Status : 

  By Design<br /><br />
		The product team believes this item works according to its intended design.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.


3
0
Sign in
to vote
ID 775587 Comments
Status Closed Workarounds
Type Bug Repros 0
Opened 1/2/2013 6:54:21 AM
Access Restriction Public

Description

when referencing non-aggregateable attributes of a multidimensional model in DAXMD the syntax is different to attributes that have IsAggregateable=True

for IsAggregateable=True columns can be referenced using 'MyTable'[MyColumn.Key0]
EVALUATE 
	SUMMARIZE(
		'Date',
		'Date'[Calendar Year.Key0],
		"Amt", 'Financial Reporting'[Amount])


for IsAggregateable=False columns can be referenced using 'MyTable'[MyColumn.UniqueName]
EVALUATE
	SUMMARIZE(
		All('Scenario'),
		'Scenario'[Scenario.UniqueName],
		"Amt", 'Financial Reporting'[Amount])

if i change the IsAggregateable-property of the scenario attribute to True, it works with .Key0
Sign in to post a comment.
Posted by Microsoft on 1/20/2013 at 11:58 PM
Hello,

The metadata for tabular view of multidimensional models is exposed via CSDL-BI. In this CTP, calculated members are supported for non-aggregatable attributes. In order to make the key column unique we need to expose the UniqueName. hence this is the by design.

Regards
Siva
Posted by GregGalloway on 1/7/2013 at 8:02 AM
I think the underlying issue is that the Scenario dimension has a calculated member defined in the MDX script. Remove that and you can use the Key0 property again, I believe.

That said, I agree. Every attribute should have a .UniqueName property and every attribute should have a Key0 property (if the key is different than the name). I filed this as a DCR here:
https://connect.microsoft.com/SQLServer/feedback/details/775973/daxmd-dcr-every-attribute-should-have-uniquename-property