交叉连接相同层次结构的列
Cross join same hierarchy columns
我有一个 SQL 具有以下层次结构的数据立方体
我想交叉加入Warehouse division 和Code warehouse Desc。我写了一个MDX如下
SELECT NON EMPTY
{ [Measures].[Total Value]}
DIMENSION PROPERTIES CHILDREN_CARDINALITY,
PARENT_UNIQUE_NAME ON COLUMNS,
NON EMPTY
{
[Combined].[Drill Down Path 4].[Warehouse Division].MEMBERS* [Combined].[Drill Down Path 4].[Code Warehouse Desc].MEMBERS
}
DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS FROM [InventoryAge]
WHERE ( [Calendar].[Report Days].[All Members].&[All].&[WantInReport].& [2].&[20141031] )
报错如下
Query (13, 8) The Drill Down Path 4 hierarchy is used more than once in the Crossjoin function.
任何人都可以提出更好的方法来做到这一点
请查找日历层次结构
您不需要交叉连接层次结构(这是不可能的)来执行您需要的操作。只查询它的最低层,你会得到所有 parents 也
SELECT NON EMPTY
{ [Measures].[Total Value]}
DIMENSION PROPERTIES CHILDREN_CARDINALITY,
PARENT_UNIQUE_NAME ON COLUMNS,
NON EMPTY
{
[Combined].[Drill Down Path 4].[Code Warehouse Desc].allMEMBERS
}
DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS FROM [InventoryAge]
WHERE ( [Calendar].[Report Days].[All Members].&[All].&[WantInReport].& [2].&[20141031] )
PS。您可能无法在 SSMS 查询结果查看器中看到它们,但如果您在多维数据集浏览器中使用查询或在 SSRS/other 工具
中作为数据集,它们将会出现
您可以使用 Tail(Existing [Calendar].[Report Days].[All Members].&[All].&[WantInReport].members, 1).item(0 )
或者您可以使用 Format(Now()),它会为您提供当前系统日期的字符串表示形式。但是,这取决于语言环境,因此您可能需要删除 dots/slashes。参见 here
我有一个 SQL 具有以下层次结构的数据立方体
我想交叉加入Warehouse division 和Code warehouse Desc。我写了一个MDX如下
SELECT NON EMPTY
{ [Measures].[Total Value]}
DIMENSION PROPERTIES CHILDREN_CARDINALITY,
PARENT_UNIQUE_NAME ON COLUMNS,
NON EMPTY
{
[Combined].[Drill Down Path 4].[Warehouse Division].MEMBERS* [Combined].[Drill Down Path 4].[Code Warehouse Desc].MEMBERS
}
DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS FROM [InventoryAge]
WHERE ( [Calendar].[Report Days].[All Members].&[All].&[WantInReport].& [2].&[20141031] )
报错如下
Query (13, 8) The Drill Down Path 4 hierarchy is used more than once in the Crossjoin function.
任何人都可以提出更好的方法来做到这一点
请查找日历层次结构
您不需要交叉连接层次结构(这是不可能的)来执行您需要的操作。只查询它的最低层,你会得到所有 parents 也
SELECT NON EMPTY
{ [Measures].[Total Value]}
DIMENSION PROPERTIES CHILDREN_CARDINALITY,
PARENT_UNIQUE_NAME ON COLUMNS,
NON EMPTY
{
[Combined].[Drill Down Path 4].[Code Warehouse Desc].allMEMBERS
}
DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS FROM [InventoryAge]
WHERE ( [Calendar].[Report Days].[All Members].&[All].&[WantInReport].& [2].&[20141031] )
PS。您可能无法在 SSMS 查询结果查看器中看到它们,但如果您在多维数据集浏览器中使用查询或在 SSRS/other 工具
中作为数据集,它们将会出现您可以使用 Tail(Existing [Calendar].[Report Days].[All Members].&[All].&[WantInReport].members, 1).item(0 )
或者您可以使用 Format(Now()),它会为您提供当前系统日期的字符串表示形式。但是,这取决于语言环境,因此您可能需要删除 dots/slashes。参见 here