0

我对 MDX 很陌生,所以可能我错过了一些非常简单的东西。

在我的多维数据集中,我有一个维度[Asset]和一个度量[Visits],计算(在这种情况下)资产已被消耗了多少次访问。需要注意的重要一点是,并非每次访问都与资产相关联。

我需要找出的是有多少次访问至少消耗了一项资产。我写了以下查询:

SELECT
  [Asset].[All] ON COLUMNS,
  [Measures].[Visits] ON ROWS
FROM
  [Analytics]

但是这个查询只返回多维数据集中的访问总数。我尝试将NON EMPTY修改器应用于两个轴,但这没有帮助。

4

2 回答 2

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]}如果未排除 All 成员,您可能需要将其作为“除外”的第二个参数。

在查询中,我创建了一个[Asset].[Asset Name].[all assets]应该代表所有现有资产的计算成员。我假设您现有的资产是该级别的所有成员,[Asset].[Asset Name]All成员。

您可以在此处找到有关聚合函数的更多信息。

于 2012-08-15T14:15:03.650 回答
0

这也有效:

SELECT
  [Measures].[Visits] ON 0
FROM
  [Analytics]
WHERE
  DRILLDOWNLEVEL([Asset].[All])

更新:以及这个:

SELECT
  [Measures].[Visits] ON 0
FROM
  [Analytics]
WHERE
  [Asset].[All].CHILDREN
于 2012-08-16T10:48:44.250 回答