-
-
初晴 数据达人Lv4
发表于2021-3-18 10:11
悬赏1
已解决
楼主
1、建维表时,ID字段和关联字段的关系是什么?我理解关联字段是设置该维表与其他事实表进行关联的字段。但是好像这个关联字段也可以不设置,这种情况下维表是如何与事实表关联的呢?
2、如下图①②设置了ID字段与关联字段后,建表,
这样写过滤条件能出数: diminf("D_DATE_QJ",F_F_TEST20210317_JD_2.期间,"D_YEAR_CODE")=LEFT(@DATE,4)
这样写过滤条件不能出数: dim(F_F_TEST20210317_JD_2.期间,"D_YEAR_CODE")=LEFT(@DATE,4)
(如图③)
经试验,如果把建维表时的关联字段清空(图②),则以上述两个过滤条件都能出数。
请问是为什么呢?相关报表及事实表、期间维表已作为附件上传,供参考。谢谢!




最佳答案
本帖最后由 xxxl 于 2021-3-19 18:23 编辑
问题二:应该是在不绑定关联字段的时候会正常根据过滤条件过滤年份数据,但是如果关联字段的话不论怎么样过滤都是直接过滤D_CODE
问题一:这里的关联字段 是与其它表关联的字段,主题表与维关联就是通过此字段实现的,可以不填 因为默认是id字段
初晴 发表于 2021-3-18 15:09
不好意思,您好像没理解我的意思,我现在想写的条件就是:年份=@DATE参数对应的年份。
@DATE参数格式本身 ...
问题二:应该是在不绑定关联字段的时候会正常根据过滤条件过滤年份数据,但是如果关联字段的话不论怎么样过滤都是直接过滤D_CODE
问题一:这里的关联字段 是与其它表关联的字段,主题表与维关联就是通过此字段实现的,可以不填 因为默认是id字段
7个回答
这里的关联字段 是与其它表关联的字段,主题表与维关联就是通过此字段实现的,可以不填 因为默认是id字段
xxxl 发表于 2021-3-18 10:22
您可以把关联前后的计算详情sql都拿出来看看,看看怎么做的关联怎么做的限制过滤就知道; ...
经查看SQL,发现为下图①中两处不一致。但在写未出数部分的过滤条件中,获取的是D_YEAR_CODE属性,而SQL中却显示为获取D_CODE。请问这是为什么呢?想确认一下其中的逻辑。


初晴 发表于 2021-3-18 14:13
经查看SQL,发现为下图①中两处不一致。但在写未出数部分的过滤条件中,获取的是D_YEAR_CODE属性,而SQL ...
条件换成dim(F_F_TEST20210317_JD_2.期间,"D_CODE")=LEFT(@DATE,4)
xxxl 发表于 2021-3-18 15:00
条件换成dim(F_F_TEST20210317_JD_2.期间,"D_CODE")=LEFT(@DATE,4)
不好意思,您好像没理解我的意思,我现在想写的条件就是:年份=@DATE参数对应的年份。
@DATE参数格式本身为202103这样的,LEFT(@DATE,4)就是要获取它对应的年份,即2021。而期间维表中,D_CODE_YEAR这个属性就是它的年份,所以我是dim(F_F_TEST20210317_JD_2.期间,"D_YEAR_CODE")这样写的。
您说把条件换成dim(F_F_TEST20210317_JD_2.期间,"D_CODE"),那获取的就是期间的ID了,也就是202103格式的,就不对了。
本帖最后由 xxxl 于 2021-3-19 18:23 编辑
初晴 发表于 2021-3-18 15:09
不好意思,您好像没理解我的意思,我现在想写的条件就是:年份=@DATE参数对应的年份。
@DATE参数格式本身 ...
问题二:应该是在不绑定关联字段的时候会正常根据过滤条件过滤年份数据,但是如果关联字段的话不论怎么样过滤都是直接过滤D_CODE
问题一:这里的关联字段 是与其它表关联的字段,主题表与维关联就是通过此字段实现的,可以不填 因为默认是id字段