2014-10-27 73 views
0

这是脚本:更改日期为数字

SELECT 
    {[Measures].[Internet Order Count]} ON COLUMNS 
,Descendants 
    (
    [Date].[Calendar].[Month].[August 2006] 
    ,[Date].[Calendar].[Date] 
    ,self 
) ON ROWS 
FROM [Adventure Works]; 

它返回:

enter image description here

我可以更改脚本,而不是日期的它返回一个整数开始在0或1即第一将是1第二将是2等

这增加了一个计数器,但我想摆脱日期列:

WITH 
    MEMBER [Measures].[r] AS 
    Rank 
    (
     [Date].[Calendar].CurrentMember 
    ,[Date].[Calendar].[Month].[August 2006].Children 
    ) 
SELECT 
    { 
    [Measures].[r] 
    ,[Measures].[Internet Order Count] 
    } ON COLUMNS 
,[Date].[Calendar].[Month].[August 2006].Children ON ROWS 
FROM [Adventure Works]; 
+0

@FlorianF我不是! – whytheq 2014-10-27 22:46:31

+0

哎呀...的确如此。愚蠢的问题删除。 – 2014-10-27 22:52:55

+0

@FlorianF尽管初看起来'MDX'确实看起来像一个sql方言......但它的乐趣更多。 – whytheq 2014-10-27 23:03:41

回答

1

这将是困难的,因为你在行和列上有成员的元组集合,无论是物理的还是计算的。

你可以做的过程是这样的:

WITH Member [Date].[Calendar].[1] AS [Date].[Calendar].[Date].&[20060801] 
    Member [Date].[Calendar].[2] AS [Date].[Calendar].[Date].&[20060802] 
    ... 
    Member [Date].[Calendar].[31] AS [Date].[Calendar].[Date].&[20060831] 
SELECT 
    { 
    [Measures].[Internet Order Count] 
    } ON COLUMNS 
, 
{ 
[Date].[Calendar].[1], 
[Date].[Calendar].[2], 
... 
[Date].[Calendar].[31] 
} 
ON ROWS 
FROM [Adventure Works] 

这可能是可行的情况下,您生成一个工具查询。

但是,在这种情况下,我通常会像第二个查询一样保留查询,并忽略客户端工具中的行标题。