Mdx 调整TOPCOUNT以了解时间
得到了下面的脚本,但它似乎通过他们一直以来创造的NumDeals(而不是过去7天)将前15名客户拉回 如何调整集合以反映此要求Mdx 调整TOPCOUNT以了解时间,mdx,Mdx,得到了下面的脚本,但它似乎通过他们一直以来创造的NumDeals(而不是过去7天)将前15名客户拉回 如何调整集合以反映此要求 WITH SET [Set_7Days] as TAIL ([Date].[Date - Calendar Month].[Calendar Day], 7) SET [Set_Top15Customers] as { TOPCOUNT ( [CustomerDim].[Cus
WITH
SET [Set_7Days] as
TAIL ([Date].[Date - Calendar Month].[Calendar Day], 7)
SET [Set_Top15Customers] as
{
TOPCOUNT (
[CustomerDim].[CustomerDim].[CustomerLevel].members,
15,
(
[Date].[Date - Calendar Month].currentmember,
[Measures].[NumDeals]
)
)
}
SELECT
NON EMPTY
[Set_7Days]
ON COLUMNS,
NON EMPTY
[Set_Top15Customers]
ON ROWS
FROM [ourCube]
WHERE (
[Measures].[NumDeals]
)
编辑 使用mmarie帮助,我得到了以下信息:希望将内容保留在自定义集中,以便我可以将其添加到连接到
EXCEL
中的CUBE
的PIVOT
:
WITH
SET as
TAIL ([Date].[Date - Calendar Month].[Calendar Day], 7)
SET [Set_Top15Customers] as
{
TOPCOUNT (
[CustomerDim].[CustomerDim].[CustomerLevel].members,
15,
Sum(
[Set_7Days], //TAIL([Date].[Date - Calendar Month].[Calendar Day], 7),
[Measures].[NumDeals]
)
)
}
SELECT
NON EMPTY
[Set_7Days]
ON COLUMNS,
NON EMPTY
[Set_Top15Customers]
ON ROWS
FROM [ourCube]
WHERE (
[Measures].[NumDeals]
)
您需要将日期筛选器添加到您的top count中。可能有几种方法可以做到这一点。这一个可以工作,但是您可能需要检查性能,看看它是否可以接受 试试这个:
with
member [measures].[Num Deals last 7 days] as
Sum(Head([Date].[Date - Calendar Month].[Calendar Day], 7), [Measures].[NumDeals])
select
NON Empty {TAIL ([Date].[Date - Calendar Month].[Calendar Day], 7)[measures].[Num Deals Last 7 days]} on 0,
NON Empty {topcount( {[CustomerDim].[CustomerDim].[CustomerLevel].members}, 5, measures.[Num Deals last 7 days])} on 1
FROM [ourCube]
WHERE ( [Measures].[NumDeals] )
+1个MDX女士-ace-工作正常。我所做的唯一更改是将您的数值表达式移动到我的集合中(我将修改OP,以便您能够理解我的意思)。我希望将所有这些都包含在集合中的原因是,OLAP到Excel PIVOT中似乎只允许自定义集合……不确定如何在该环境中创建自定义成员……实际上,当我这样做时,我似乎可以重用我创建的7天集合,只是为了将代码缩短一点……让我们看看xl现在是否会抱怨。