[ABI 5.2] 维表关联字段问题

12334
7

初晴 数据达人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)
(如图③)
经试验,如果把建维表时的关联字段清空(图②),则以上述两个过滤条件都能出数。
请问是为什么呢?相关报表及事实表、期间维表已作为附件上传,供参考。谢谢!



相关附件.zip (17.8 KB, 下载次数: )

最近看过此主题的会员

esen_5BVMYLRYOM

ncjindsif

chenzy

linuo

esen_5ECRL65J0A

hhh222

esen_562OEVOBL1

esen_5DDOLIK7VX

jrjrjr

esen_51JBYX12HL

最佳答案

xxxl

发表于2021-3-18 10:11

只看该作者

取消 关注该作者的回复

本帖最后由 xxxl 于 2021-3-19 18:23 编辑
初晴 发表于 2021-3-18 15:09
不好意思,您好像没理解我的意思,我现在想写的条件就是:年份=@DATE参数对应的年份。
@DATE参数格式本身 ...

问题二:应该是在不绑定关联字段的时候会正常根据过滤条件过滤年份数据,但是如果关联字段的话不论怎么样过滤都是直接过滤D_CODE




问题一:这里的关联字段 是与其它表关联的字段,主题表与维关联就是通过此字段实现的,可以不填 因为默认是id字段

7个回答

只看楼主

xxxl 数据领袖Lv6

发表于2021-3-18 10:17

只看该作者

取消 关注该作者的回复

沙发

这里的关联字段 是与其它表关联的字段,主题表与维关联就是通过此字段实现的,可以不填 因为默认是id字段

初晴 数据达人Lv4

发表于2021-3-18 10:19

只看该作者

取消 关注该作者的回复

板凳

xxxl 发表于 2021-3-18 10:17
这里的关联字段 是与其它表关联的字段,主题表与维关联就是通过此字段实现的,可以不填 因为默认是id字段 ...

哦哦,那请问第二个问题是为什么呢?

xxxl 数据领袖Lv6

发表于2021-3-18 10:22

只看该作者

取消 关注该作者的回复

地板

初晴 发表于 2021-3-18 10:19
哦哦,那请问第二个问题是为什么呢?

您可以把关联前后的计算详情sql都拿出来看看,看看怎么做的关联怎么做的限制过滤就知道;

初晴 数据达人Lv4

发表于2021-3-18 14:13

只看该作者

取消 关注该作者的回复

5#

xxxl 发表于 2021-3-18 10:22
您可以把关联前后的计算详情sql都拿出来看看,看看怎么做的关联怎么做的限制过滤就知道;  ...

经查看SQL,发现为下图①中两处不一致。但在写未出数部分的过滤条件中,获取的是D_YEAR_CODE属性,而SQL中却显示为获取D_CODE。请问这是为什么呢?想确认一下其中的逻辑。




xxxl 数据领袖Lv6

发表于2021-3-18 15:00

只看该作者

取消 关注该作者的回复

6#

初晴 发表于 2021-3-18 14:13
经查看SQL,发现为下图①中两处不一致。但在写未出数部分的过滤条件中,获取的是D_YEAR_CODE属性,而SQL ...

条件换成dim(F_F_TEST20210317_JD_2.期间,"D_CODE")=LEFT(@DATE,4)

初晴 数据达人Lv4

发表于2021-3-18 15:09

只看该作者

取消 关注该作者的回复

7#

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 数据领袖Lv6

发表于2021-3-18 10:11

只看该作者

取消 关注该作者的回复

8#

本帖最后由 xxxl 于 2021-3-19 18:23 编辑

初晴 发表于 2021-3-18 15:09
不好意思,您好像没理解我的意思,我现在想写的条件就是:年份=@DATE参数对应的年份。
@DATE参数格式本身 ...

问题二:应该是在不绑定关联字段的时候会正常根据过滤条件过滤年份数据,但是如果关联字段的话不论怎么样过滤都是直接过滤D_CODE




问题一:这里的关联字段 是与其它表关联的字段,主题表与维关联就是通过此字段实现的,可以不填 因为默认是id字段

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号