事实数据表是“销售情况表”,结构如:....,国家代码,商品价格,....
现有: 国家代码表: 国家代码,国家名称
国家分组表: 国家分组代码,国家分组名称
国家分组明细表: 国家分组代码,国家代码
分别有维度:国家维度和国家分组维度
由于国家分组与国家间是多对多关系,如:国家分组 国家
———————————
亚洲 中国
亚洲 新加坡
东亚 中国
上合组织 中国
因此,在构建立方体结构时,以“国家分组明细表”作为中间事实数据表,建立“国家分组”与“销售情况表”间的多对多关系。
我现在问题是:
我在组合国家分组和国家两个维度查询时,国家列表并不会受限于国家分组,如:选择亚洲分组,尽管查询结果正确,但结果仍然包含所有国家..怎么样可以通过国家分组查询出国家列表来?
SELECT ( [m国家分组].[国家分组名称].&[北美洲]) ON COLUMNS,
([m国别].[国别].[国别]) on rows
FROM [cube_Data]
以上显示:
北美洲
-----------------------------------------
阿尔巴尼亚 (null)
阿尔及利亚 (null)
阿富汗 (null)
阿根廷 (null)
阿拉伯酋长国 (null)
阿鲁巴岛 (null)
阿曼 (null)
百慕大 14,317
保加利亚 (null)
北美洲 (null)
北美洲其他 40,410
贝劳共和国 (null)
格陵兰 1,465
加拿大 465,946
毛里塔尼亚 (null)
梅利利亚 (null)
美国 2,166,250
蒙古 (null)
我想得到:
北美洲
-----------------------------------------
百慕大 14,317
北美洲其他 40,410
格陵兰 1,465
加拿大 465,946
美国 2,166,250
------解决方案--------------------
是SQL语句?贴记录及要求结果出来看看
------解决方案--------------------
2005下这个多对多的关系定义没有用过(感觉象雪花型).
类拟的问题在 AS2000 下我是用属性解决的.
关注一下.有空我测试一下MS提供的方法.