1

我的多维数据集有一个事实表,其中包含对任何实体所做的每次修改的一行。我需要的是一种基于所选维度返回实体计数的度量。因此,如果用户从日期维度中选择一个月,则度量应返回该月修改的实体数(而不是修改数)。

在 SQL 中,这将类似于:

SELECT EntityID, COUNT(*)
FROM FactTable
WHERE Date BETWEEN X AND Y
GROUP BY EntityID

你怎么能在 MDX 中做到这一点?当然,对于多维数据集,这将是一个极其常见的场景。

4

1 回答 1

3

您的 t-sql 查询相当于 mdx 查询:

select 
    [Measures].[<Fact rows count measure>] on columns, 
    <Entity dimension members> on rows 
from [<Cube Name>] 
where (<month member>)

在上面的查询中 [Fact rows count measure] 将是一个带有聚合公式 Count - count of rows 但是,如果您需要在按另一个维度切片时返回实体成员的不同计数,您基本上有几个选择:

  1. 在 entityID 键上创建不同的计数度量
  2. 使用表达式创建计算度量:count(exists(existing [Entity].[Entity].[Entity].MEMBERS,,'Measure Group Name'))

HTH,赫尔沃耶·皮亚谢沃利

于 2011-04-02T19:13:50.243 回答