我对MDX很新,所以我可能会错过很简单的事情。
在我的多维数据集中,我有一个维度[Asset]
和一个度量[Visits]
,计算(在这种情况下)资产已被消耗的访问次数。需要注意的一点是,并非每次访问都与资产相关联。
我需要知道的是,至少有一项资产消耗了多少次访问。我写了以下查询:
SELECT
[Asset].[All] ON COLUMNS,
[Measures].[Visits] ON ROWS
FROM
[Analytics]
但是此查询只返回多维数据集中的总访问次数。我尝试将NON EMPTY
修饰符应用于两个轴,但这并没有帮助。
答案 0 :(得分:1)
此查询应该能满足您的期望:
WITH MEMBER [Asset].[Asset Name].[All Assets] AS
AGGREGATE( EXCEPT( [Asset].[Asset Name].MEMBERS, { [Asset].[All] } ) )
SELECT
{ [Asset].[Asset Name].[All Assets] } ON COLUMNS,
[Measures].[Visits] ON ROWS
FROM
[Analytics]
如果未排除所有成员,您可能需要将{[Asset].[Asset Name].[All]}
作为Except的第二个参数。
在查询中,我创建了一个应该代表所有现有资产的计算成员[Asset].[Asset Name].[all assets]
。我认为您现有的资产都是[Asset].[Asset Name]
级别的所有成员,但是All
成员。
您可以找到有关聚合函数here的更多信息。
答案 1 :(得分:0)
这也有效:
SELECT
[Measures].[Visits] ON 0
FROM
[Analytics]
WHERE
DRILLDOWNLEVEL([Asset].[All])
更新以及:
SELECT
[Measures].[Visits] ON 0
FROM
[Analytics]
WHERE
[Asset].[All].CHILDREN