具有两行项目的MDX查询
我想了解我所有客户的最大订单日期。具有两行项目的MDX查询,mdx,Mdx,我想了解我所有客户的最大订单日期。 1-如何将两行项目放入查询中。 2-如何获取最长日期。 3-我也不希望查询中包含金额,但看起来MDX需要一列来运行查询 下面是对此查询的尝试 Select [Measures].[Amount] On Columns, [Dim Customer].[Cust #],Max([Dim Inv Date].[Actual Date]).MEMBERS ON ROWS from [OperationsFinance] 可以有空列: Select {}
1-如何将两行项目放入查询中。
2-如何获取最长日期。
3-我也不希望查询中包含金额,但看起来MDX需要一列来运行查询 下面是对此查询的尝试
Select [Measures].[Amount] On Columns,
[Dim Customer].[Cust #],Max([Dim Inv Date].[Actual Date]).MEMBERS ON ROWS
from [OperationsFinance]
可以有空列:
Select
{} On Columns,
[Dim Customer].[Cust #].MEMBERS ON ROWS
FROM [OperationsFinance]
要放置两行,您需要使用交叉连接功能或星号运算符进行交叉连接。尝试以下示例-您可能需要取消注释非空
函数,以消除交叉联接创建的空值:
Select
[Measures].[Amount]
On Columns,
//NON EMPTY
[Dim Customer].[Cust #]
*
[Dim Inv Date].[Actual Date].MEMBERS
ON ROWS
from [OperationsFinance]
要执行Max
date,我可以针对Adv-Works多维数据集查看以下示例。这摘自Tomislav Piasevoli的MDX书籍:
WITH
MEMBER [Measures].[Max_Date2] AS
MAX (
EXISTING [Date].[Date].[Date].MEMBERS,
IIF([Measures].[Internet Sales Amount] = 0,
NULL,
[Date].[Date].CURRENTMEMBER.MEMBERVALUE
)
)
SELECT
{[Measures].[Internet Sales Amount],
[Measures].[Max_Date]} ON 0,
NON EMPTY
{
[Promotion].[Promotion].MEMBERS
*
[Date].[Calendar Year].MEMBERS
}
ON 1
FROM [Adventure Works]
适应你:
WITH
MEMBER [Measures].[Max_Date] AS
MAX (
EXISTING [Dim Inv Date].[Actual Date].MEMBERS,
IIF([Measures].[Amount] = 0,
NULL,
[Dim Inv Date].[Actual Date].CURRENTMEMBER.MEMBERVALUE
)
)
SELECT
{[Measures].[Amount],
[Measures].[Max_Date]} ON 0,
NON EMPTY
{
[Dim Customer].[Cust #].MEMBERS
*
[Dim Inv Date].[Actual Date].MEMBERS
}
ON 1
FROM [OperationsFinance]
为什么。。。非常感谢你。这非常有用@davidhall80-优秀:更重要的是,它回答了这个问题吗?