能实现这样雷人的需求么。。
场景是这样,有一个字段answeredby id用来标识这个帖子是被什么类型的用户回答过。
用户有Community,MSFTGCR,MSFTOther,MVP这么几种,而answeredby id的值就是这些类型的组合
如下:
1Community
2MSFTGCR
3MSFTGCR+Community
4MSFTOther
5MSFTOther+Community
6MSFTGCR+MSFTOther
7MSFTGCR+MSFTOther+Community
8MVP
9Mvp + Community
10Mvp +MSFTGCR
11Mvp +MSFTGCR+Community
12Mvp+MSFTOther
13Mvp+Other+Community
14Mvp+Other+MSFTGCR
15Mvp+Other+MSFTGCR+Community
BI里面要统计不同回答类型的用户。
现在有一个维度 dim answered by包括以上所有成员, 然后regular关系到fact表对应的字段fact.answeredby id
问题是领导觉得这样看维度成员太多了,希望维度只有
1Community
2MSFTGCR
4MSFTOther
8MVP
然后选择的时候能实现相同的效果。
比如:
如果选 1, 找id为1的, 选2,找id为2的
如果选择1 ,2 ,则找id为3的。
麻烦各位提供点解决思路哈。
我的设想是:
现有的cube结构不变, 即fact表的answeredby id还是与后的1到15, dim answered by也不变。
增加一个维度 answered person:
1Community
2MSFTGCR
4MSFTOther
8MVP
然后选择answered person的时候能根据算法对应到dim answered by上。
不知道SAAS能不能实现这种需求啊?
[解决办法]
应该不太难,这种情况很多,可以处理成多级分类的结构。
如行业代码类型,按国标有1000多种,但1级行业代码就只有10多种,每个1级代码下,可以有许多的子代码。
你这个问题中,1、2、4、8之间并不是能任意组合的,组合的结果是有限的、预先设定的值,可把1、2、4、8做为1级代码,下级代码根据实际预设,从需求看,最多4级代码可解决问题。
上面朋友的问题值得认真考虑,MVP+Community是否等于Community+MVP? 这涉及到二级代码的设置。
总的来说,多级代码完全可解决问题,并且具有很大的扩充性和灵活性
[解决办法]
楼主,你的设想是可行的,多增加一个Dimension可以更简单的理解,而且万一以后有变还可以处理。
其实困难在于当你把数据导入Cube时要把记录拆成1、2、4、8这4个item。