需要MDX查询总计数

时间:2011-09-06 19:13:15

标签: sql sql-server sql-server-2005 sql-server-2008 mdx

上次我发布了一个有点困惑的问题。但是今天我从我的经理那里得到了同样的问题来获取MDX查询。

以下是该方案:

事实表

Ticket No / Ticket ID   
1           S   
2           S
3           S   
3           D   
4           D                           

尺寸表

Ticket ID / [Count]
S           1
D           1 

我的经理说他们没有使用维度表,他们并不只是为了理解他们已经提到过。这里没有考虑它。

因此请忽略Dimension表数据。

如果我们根据故障单ID进行分组,输出将是这样的:

Ticket ID / [Count]
S           3
D           2 

如果我们这样做,我们将获得总计数

5                               

但我需要总票数为4,基于票号。

需要帮助。

先谢谢。

1 个答案:

答案 0 :(得分:4)

我有根据的猜测是你从OLAP / MDX开始。值得花些时间在网上阅读有关MDX的内容,例如MDX Gentle Tutorial

如果没有维度,您可以拥有多维数据集。最低限度是您的事实中的一个维度和一个度量。

在你的情况下

 Ticket ID -> dimension with two possible values (S,D)
 Ticket No -> the measure, as Aaron pointed out. use unique count as aggregation type.

MDX看起来像:

Select
 {[Ticked ID].allmembers} on 0,
 {[Measures].members on 1
from [MyCube]

我们可以找到解决这个问题的其他方法,但它们肯定会更慢,更复杂。