2012-02-06 95 views
1
SELECT 
NON EMPTY {[Measures].[Page Views]} ON COLUMNS, 
NON EMPTY { 
    Crossjoin({[Date Dim.Weekday Hierarchy].[Weekday].Members}, 
       {[Time Dimension.Time Hierarchy].[Hour].Members}) 
      } ON ROWS 
FROM [All Facts] 

是每周工作日获取页面查看的代码。目前,它返回的数据是这样的:从MDX中的Crossjoin连接字符串

周日
...... 0 - 198273
...... 1 - 123987
...... 2 - 128372
。 ..... 3 - 1283712

每个小时,每天。 我如何得到这个串联来自交叉连接字符串,使其返回:

周日0 - 198273
周日1 - 123987
周日2 - 128372
周日3 - 1283712

,或者必须将此作为一个完全新措施产生的呢?

回答

0

找到了解决办法:

> WITH MEMBER [Measures].[pretty hour] AS [Date Dim.Weekday Hierarchy].[Weekday].CurrentMember.name || " " || [Time Dimension.Time Hierarchy].[Hour].CurrentMember.name 
> SELECT  
> NON EMPTY {[Measures].[pretty hour], [Measures].[Page Views]} ON COLUMNS, 
> NON EMPTY {  
>  Crossjoin({[Date Dim.Weekday Hierarchy].[Weekday].Members},  
>     {[Time Dimension.Time Hierarchy].[Hour].Members}) 
>    } ON ROWS 
>FROM [All Facts] 

你必须忽略行标题,但它会产生我想要的结果! :) @icCube有正确的想法,只需要Mondrian需要||而不是+和“CurrentMember.name”而不是“名称”

+1

不错我是有一定的帮助,小了则赞赏百达:-) – ic3 2012-02-07 20:44:28

+1

失踪currentmember是我的错误... – ic3 2012-02-07 20:45:12

2

对不起,我有点联合国着急,但你可以使用mdx calculated members生成字符串:

With 
    Member MyOutput AS [Date Dim.Weekday Hierarchy].[Weekday].name + " " + [Time Dimension.Time Hierarchy].[Hour] + " " + STR(([Measures].[Page Views])) 
SELECT 
    NON EMPTY {[Measures].[MyOutput]} ON COLUMNS, 
    NON EMPTY { 
    Crossjoin({[Date Dim.Weekday Hierarchy].[Weekday].Members}, 
      {[Time Dimension.Time Hierarchy].[Hour].Members}) 
     } ON ROWS 
    FROM [All Facts] 
+0

感谢您的回复,但这不起作用:( – LittleBobbyTables 2012-02-07 15:18:42

+0

我试着改变成员MyOutput成员[度量]。[MyOutput],但仍然。没有运气 – LittleBobbyTables 2012-02-07 15:21:33

+1

更多的信息.​​.比不工作就会得心应手 – ic3 2012-02-07 16:02:46