2016-02-19 84 views
0

我遇到过这样的问题: 我有一个维度[Project_sales],其中一个层级为[Default],在我的多维数据集[Sales_planning_RP]中。MDX属性值键

我已经为此维度创建了一个自定义属性并将其命名为“对象”。 当我创造了它,我问:

1)房产主要
2)房产价值

现在我有源表的这个维度与2个额外的字段:

1)Object_code ] EX :('O01')< - 这是我所需要的(参见下面的问题)

2)[对象]例如:( '对象#3213,可编辑')< - 这是我得到什么

但我看到在OLAP只有一个属性:

[Project_sales].[Default].CurrentMember.Properties("Object")

这使我只是OBJECT_NAME。
所以我的问题是如何获得我的财产“对象”的关键与MDX

我的尺寸属性: http://i.stack.imgur.com/N2Aej.png

我的尺寸具有以下 “parent_child” 层次结构:
项目 - >对象 - > Element_of_area

此层次结构的每一个元素都有作为属性 “对象”,这可以被称为以这样的方式:

[Project_sales].[Default].CurrentMember.Properties("Object")

在属性窗口(ⅰ我的图片)的属性“对象”有2个属性: 1)keyColumns 2)NameColumns

我重复一遍:“对象”这里不是维度的成员,它是一个属性! 它有自己的钥匙和名字。

我可以得到它的名字,但无法理解如何得到它的密钥,它也被加载到多维数据集中。

看看我member_properties名单: image_2

这里是我的维度的XMLA代码的一部分使事情变得清楚: <Attribute> <Annotations> <Annotation> <Name>TypeOfInformation</Name> <Value>1</Value> </Annotation> <Annotation> <Name>TypeOfNameInformation</Name> <Value>1</Value> </Annotation> <Annotation> <Name>P4SSAMOVersion</Name> <Value>2</Value> </Annotation> </Annotations> <ID>Object</ID> <Name>Object</Name> <KeyColumns> <KeyColumn> <DataType>WChar</DataType> <DataSize>40</DataSize> <Source xsi:type="ColumnBinding"> <TableID>_x0036_Project_sales</TableID> <ColumnID>Object_code</ColumnID> </Source> </KeyColumn> </KeyColumns> <NameColumn> <DataType>WChar</DataType> <DataSize>255</DataSize> <Source xsi:type="ColumnBinding"> <TableID>_x0036_Project_sales</TableID> <ColumnID>Object_name</ColumnID> </Source> </NameColumn> <OrderBy>Key</OrderBy> <MembersWithData>NonLeafDataHidden</MembersWithData> <AttributeHierarchyVisible>false</AttributeHierarchyVisible> </Attribute>

+0

在我看来就像“对象”是一个属性,不是属性。 –

+0

好吧,我的意思是,它返回.Properties()函数。 –

+0

如果Object是一个属性层次结构,那么只需使用该属性层次结构来获得密钥 – whytheq

回答