这与我提出的另一个问题类似(MDX - Running Sum over months limited to an interval),但我觉得我在那里偏离轨道。 让我重新开始吧。 我有一个计算的度量
MEMBER [Measures].[m_active] AS ([Measures].[CardCount], [Operation].[Code].[ACTIVATION])
我想在短暂的时间间隔内过滤(假设从2016年1月10日到2017年8月20日,这些是参数化的)
和我想要从日期维度开始(2010年1月1日)到最后一次过滤结束(在本例中为2017年8月20日)过滤的另一个计算度量,此度量是所有先例的总和
MEMBER [Measures].[tot_active] AS (
SUM({[Calendar.YMD].[2010].Children}.Item(0):[Calendar.YMD].CurrentMember, ([Measures].[CardCount], [Operation].[Code].[ACTIVATION]))
在列上我有这个计算的尺寸,在行上我有几个月(在小间隔范围内)和另一个尺寸交叉连接
SELECT
{[Measures].[m_active], [Measures].[tot_attive]} ON COLUMNS,
NonEmptyCrossJoin(
{Descendants([Calendar.YMD].[2016].[Gennaio]:[Calendar.YMD].[2017].[Agosto], [Calendar.YMD].[Month])},
{Descendants([CardStatus.Description].[All CardStatus.Descriptions], [CardStatus.Description].[Description])}
) on ROWS
如果我在WHERE子句中放置一个日期范围,第一个成员是完美的但是我破坏了第二个成员,我怎么能让第二个成员忽略WHERE子句?还是有另一种解决方案吗?
答案 0 :(得分:0)
如果不进行测试,我对此行为有点不确定,但您是否尝试将过滤器从WHERE
子句移到subselect
?
子选择形成如下:
...
FROM (
SELECT
<date range for filter> ON 0
FROM cubeName
)