更改OLAP多维数据集的粒度

时间:2016-09-29 21:29:43

标签: sql sql-server ssas mdx olap

是否有可能更改多维数据集中的粒度级别?我在MDX中寻找GROUP BY等价物。

现在我有基于SQL的报告,我需要移动到多维数据集。它的结构是这样的:

SELECT
   rank() over (partition by x order by y z) group_column
   ,a
   ,b
FROM abc
INNER JOIN def
...
INNER JOIN tuy
WHERE filter_statement
GROUP BY y, z

所以,我对表(维度)进行了一些连接,并根据这个过滤表(abc),我使用rank()函数来计算x列的出现。之后,我按group_column对整个查询进行分组并计算新度量:

SELECT
   group_column
   ,measure1
   ,measure2
FROM previous_table
GROUP BY group_column

之后,根据条件的不同,我会得到几行。

是否可以将其移动到立方体?我不能只创建维度和事实表并加入它,因为我必须在加入其他表后聚合事实表(在本例中为abc)。之后我丢失了我的密钥(我有这个分组列的粒度,根据连接的表而不同),所以我不能在表之间创建关系。

我的想法是为每个度量创建MDX成员,哪个GROUP BY(MDX等效)事实表基于预先计算的(在仓库中)列(group_column)。换句话说 - 我想将第二个SQL查询移动到多维数据集。

我使用SQL Server 2016.最大的表有< 1M行。

0 个答案:

没有答案