是否有可能更改多维数据集中的粒度级别?我在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行。