【发布时间】:2014-06-16 03:33:59
【问题描述】:
我为 SSRS 报告开发了一个 MDX 查询,该报告有一个名为 CurrentMonthAndAllOfLastYear 的计算度量,它应该将当月的净销售额与上一年的净销售额相加。不幸的是,计算出的衡量标准似乎一直在总结每笔净销售额。 MDX 是:
WITH
SET [CurrMonth] AS [Sales Period].[Sales Period].CurrentMember --Month
SET [CurrYear] AS ANCESTORS([CurrMonth](0), 2) --Year
SET [PriorYear] AS [CurrYear](0).LAG(1) -- Gets prior Year
MEMBER [Measures].[CurrentMonthAndAllOfLastYearAmt] AS SUM({[CurrMonth], [PriorYear]}, Measures].[Net Sales])
MEMBER [Measures].[Debtors Collection Days] AS ([Measures].[Total Owing Amount] * 90) / [Measures].[CurrentMonthAndAllOfLastYearAmt]
SELECT
{
[Measures].[CurrentMonthAndAllOfLastYearAmt],
[Measures].[Total Owing Amount],
[Measures].[Debtors Collection Days],
[Measures].[Net Sales] } ON COLUMNS,
{
[Sales Period].[Sales Month].[Sales Month].ALLMEMBERS } ON ROWS
FROM ( SELECT ( YTD(STRTOMEMBER('[Sales Period].[Sales Period].[Sales Month].&[2013-05-31T00:00:00]')) ) ON COLUMNS
FROM ( SELECT ( STRTOSET('[Sales Representative Mirror].[Sales Representative ID].&[261]') ) ON COLUMNS
FROM [Sales]))
MDX sn-p 生成以下内容:
Sales Month CurrentMonthAndAllOfLastYearAmt
31/01/2013 $320,429.60 ...
28/02/2013 $320,429.60 ...
31/03/2013 $320,429.60 ...
30/04/2013 $320,429.60 ...
31/05/2013 $320,429.60 ...
我需要以下输出(2012 年没有任何销售):
Sales Month CurrentMonthAndAllOfLastYearAmt
31/01/2013 $0.00 ...
28/02/2013 $0.00 ...
31/03/2013 $0.00 ...
30/04/2013 $18,931.10 ...
31/05/2013 $22,557.22 ...
任何帮助将不胜感激。
【问题讨论】:
标签: sql reporting-services mdx