马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622 。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 wuguo1501 于 2009/4/24 11:13 编辑
在做项目当中遇到这样一个问题:
比如我做一个描述人的事实表,其中一个维度是外貌
那么在外貌这个维度上,有这样几个值
高个 01
胖子 02
...
那么在事实表中,可能很多人的外貌字段里都是01或者02,但也有人是又高又胖的,那么他这个字段的值就是0102
现在问题来了
在前端展现的时候,如果查询高个一共多少人或者胖子一共多少人,怎么办呢,就没法弄了,因为这个0102不属于高个或者胖子
更进一步,在bi做聚合统计的时候,甚至可能要把高个,胖子,又高又胖的人数分布做个比例图出来...
首先被否决的方案1:把0102也作为一个维度代码放入维表.
这样做就意味着这个人只能被作为又高又胖来查询,而且当维表的值很多的时候,这样一个组合排列绝对无法实现.
其次,被否决的方案2:把外貌字段拆开,分为外貌1,外貌2...把0102拆开分别放入外貌1,外貌2...
但这样做,先不说又高又胖的人数没法查询,就光说查询高个的人数,怎么能肯定01被放入了外貌1还是外貌2字段呢?
再次,比较可行的方案3:放弃次要描述,选择首要描述,就是说选择0102只选择01,02放弃掉,这样做相当无奈...
注:这只是举例说明,维度值绝不止高,胖...描述起来也绝不止又高又胖,可能同时用5,6个代码来描述
希望大家能给出更好的建议,也希望以后遇到这个问题的时候大家有个参考的东西. |