按照省份或国家分别统计信息
0
会员是有国籍和省份的,我要统计不同国家的会员列表,在其他地方也要统计某个国家的不同省份的会员列表。我表结构设计为国家表与省份表有关系(省份表有countrykey),会员表与国家表和省份表有关系(会员表有country和statekey),这样,会员可能具有countrykey和statekey,也可能没有,但如果有statekey就必然有countrykey,但如果有countrykey未必有statekey,这在业务上是允许的。
我尝试只在会员维度加入国家的信息,并期望显示不同国家的会员列表,但不知为什么,处理维度产生的sql总是有关于省份关联查询的信息,这导致一些会员即使有countrykey,但由于没有statekey而无法被查出来。我猜是否将省份与国家的表关联去掉就好了?但如果这样,统计某个国家下的所有省份的会员列表就无法做了吧?
我尝试只在会员维度加入国家的信息,并期望显示不同国家的会员列表,但不知为什么,处理维度产生的sql总是有关于省份关联查询的信息,这导致一些会员即使有countrykey,但由于没有statekey而无法被查出来。我猜是否将省份与国家的表关联去掉就好了?但如果这样,统计某个国家下的所有省份的会员列表就无法做了吧?
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
6 个回复
Charry 2014-03-12 回答
赞同来自: 梁勇 、anikor
省份表(StateKey(PK),CountryKey(FK),...)
国家表(CountryKey(PK))
由此可以得出结论:已知省份的情况可以获取该省份的国家
有疑问的是会员表,会员表要与省份和国家建立联系,由前面的结论可以得出会员只要建立与省份的关系便可以间接和国家建立联系,直接建立和国家的联系就显得有些冗余
所以会员表的设计暂定为
会员表(ProfileKey(PK),StateKey(FK)...)
三个表关系为
会员表------>省份表------>国家表
如何满足需求呢:会员是有国籍和省份的,要统计不同国家的会员列表,在其他地方也要统计某个国家的不同省份的会员列表。
通过表关系可以获取所有需要的信息,再通过创建Hierarchy来满足不同的需求
1.国家-会员
个人愚见,希望对你有所帮助
anikor 2014-03-12 回答
赞同来自:
zwmyxzs 2014-03-13 回答
赞同来自:
zwmyxzs 2014-03-13 回答
赞同来自:
但我希望能有更好的办法,能够保留国家与省份的关系。
Charry 2014-03-14 回答
赞同来自:
想要在数据库端保存省份表和国家表的联系的话,可以创建一个会员视图,然后基于视图来创建数据仓库的会员维度,再建Hierarchy,不知道你觉得是否可行
cs_sharp - 一句话介绍 2014-03-21 回答
赞同来自: