如何在MDX中显示级别的总和作为其最后一个子级的值

时间:2008-09-23 12:21:11

标签: olap mdx

我有一个MDX查询,其中列出了OLAP数据库中所有“周”和“日”级别的度量。例如

SELECT 
{
    HIERARCHIZE( {[Business Time].[Week].members, [Business Time].[Date].members} )
} 
ON ROWS,
{
    [Measures].[Quantity]
} 
ON COLUMNS 
FROM [Sales]

如果度量显示为一周,而不是显示所有日值的总和,我想显示一周内最后一天的值。例如

第1周:12周 9月15日:10 9月16日:20 9月17日:12 9月18日:15 9月19日:8 9月20日:9 9月21日:12 第2周:15周 9月22日:12 9月23日:15日

如何在MDX中实现这一目标?

1 个答案:

答案 0 :(得分:1)

在MDX的开头添加一个新的计算度量,只有当它显示在一周级别时才显示最后一天的值,否则保持不变:

WITH MEMBER [Measures].[Blah] AS 
'IIF(
   [Business Time].currentMember.level.name = "Week",
   ([Business Time].currentMember.lastChild, [Measures].[Quantity]),
   ([Business Time].currentMember, [Measures].[Quantity])
)'

我希望客户要求这个奇怪的请求,我预测你会在一个月内接到同一个办公室的某个人的电话,说这个报告上的每周“总数”是错误的!