[亿信BI4.2.2] 时间条件问题

15983
27

lebron 数据达人Lv4

发表于2019-8-20 10:49

悬赏1

已解决

楼主


3月条件:(V_MOBILITY_SUM_COPY.MAT_DATE> datetostr(od(@riqi,'m+2'),'yyyy-mm-dd') & V_MOBILITY_SUM_COPY.MAT_DATE<= datetostr(od(@riqi,'m+3'),'yyyy-mm-dd')) & V_MOBILITY_SUM_COPY.DATA_DATE=datetostr(@riqi,'yyyy-mm-dd')
4月条件:(V_MOBILITY_SUM_COPY.MAT_DATE> datetostr(od(@riqi,'m+3'),'yyyy-mm-dd') & V_MOBILITY_SUM_COPY.MAT_DATE<= datetostr(od(@riqi,'m+4'),'yyyy-mm-dd')) & V_MOBILITY_SUM_COPY.DATA_DATE=datetostr(@riqi,'yyyy-mm-dd')

为什么这两个条件相同,只是加的数不同,加上4月的条件后所有的数据都没了

最近看过此主题的会员

esen_53NRBDQS8T

esen_4Y1ILQIQLS

esen_55PD7EN4GG

ddb

esen_4ZJ8RP7VB1

esen_4Y97I7D5I3

18833889871

pandabuxizao

esen_4S16N8ACZA

紫川秀

hmm

827301670

liulei6511

jiangqiao

jrjrjr

liu20220622

秋水墨色染

27个回答

只看楼主

Edmund 数据达人Lv4

发表于2019-8-20 17:26

只看该作者

取消 关注该作者的回复

12#

lebron 发表于 2019-8-20 17:17
日期参数对应的是DATA_DATE,这是真实时间,MAT_DATE为以后的时间,对应的不同的数值,一个DATE_DATE对应 ...

我理解哈 不需要两个时间字段去算时间间隔的,参数中有个“起止日期”,里面就有你的这些时间差,过滤条件的话直接写xxb.bbq=@@bbq,
系统会自动去解析这个时间的,看下这个SQL



lebron 数据达人Lv4

发表于2019-8-20 17:44

只看该作者

取消 关注该作者的回复

13#

Edmund 发表于 2019-8-20 17:26
我理解哈 不需要两个时间字段去算时间间隔的,参数中有个“起止日期”,里面就有你的这些时间差,过滤条 ...


报表中的问题是,只要MAT_DATE在数据库中有数据时,就能正常显示,结果也正确,但一旦浮动为的里面单元格中有MAT_DATE在数据库中不存在的值时,报表就只显示1行0,连有数据的值也不显示了。


lebron 数据达人Lv4

发表于2019-8-20 17:46

只看该作者

取消 关注该作者的回复

14#

lebron 发表于 2019-8-20 17:44
报表中的问题是,只要MAT_DATE在数据库中有数据时,就能正常显示,结果也正确,但一旦浮动为的里面单元 ...

为什么在发图片时,在里面写了描述,但发出来之后就不见了

孤傲的旋律 数据达人Lv4

发表于2019-8-20 17:53

只看该作者

取消 关注该作者的回复

15#

lebron 发表于 2019-8-20 17:44
报表中的问题是,只要MAT_DATE在数据库中有数据时,就能正常显示,结果也正确,但一旦浮动为的里面单元 ...

这个这里看sql没用哦,,你就把有问题那一小部分拿出来,拷贝到另一张分析表中去,写同样的过滤条件 然后看他生成的sql  哪里的过滤条件不对。
过滤条件都会作用在where后面的

lebron 数据达人Lv4

发表于2019-8-20 17:59

只看该作者

取消 关注该作者的回复

16#

孤傲的旋律 发表于 2019-8-20 17:53
这个这里看sql没用哦,,你就把有问题那一小部分拿出来,拷贝到另一张分析表中去,写同样的过滤条件 然后 ...

V_MOBILITY_SUM_COPY.MAT_DATE='2019-11-05'
就是这个问题,因为当2019-11-05字段MAT_DATE在数据库中是没有的,所以这个条件是不是就相当于    空值=‘2019-11-05’,就是这个原因导致的报表显示错误

lebron 数据达人Lv4

发表于2019-8-20 18:03

只看该作者

取消 关注该作者的回复

17#

lebron 发表于 2019-8-20 17:59
V_MOBILITY_SUM_COPY.MAT_DATE='2019-11-05'
就是这个问题,因为当2019-11-05字段MAT_DATE在数据库中是 ...

就是MAT_DAYE下有显示的时间,该条件下的数据的显示都是正确的,但MAT_DATE里面没有的时间,加上这种条件后报表就不正确了

孤傲的旋律 数据达人Lv4

发表于2019-8-20 18:03

只看该作者

取消 关注该作者的回复

18#

lebron 发表于 2019-8-20 17:59
V_MOBILITY_SUM_COPY.MAT_DATE='2019-11-05'
就是这个问题,因为当2019-11-05字段MAT_DATE在数据库中是 ...

意思是数据库里面没有这个字段MAT_DATE???那咋还根据这个字段过滤?

lebron 数据达人Lv4

发表于2019-8-20 18:06

只看该作者

取消 关注该作者的回复

19#

孤傲的旋律 发表于 2019-8-20 18:03
意思是数据库里面没有这个字段MAT_DATE???那咋还根据这个字段过滤?

有这个字段,但这个字段下不是每个条件下的时间都有

lebron 数据达人Lv4

发表于2019-8-20 18:10

只看该作者

取消 关注该作者的回复

20#

lebron 发表于 2019-8-20 18:06
有这个字段,但这个字段下不是每个条件下的时间都有

只要报表条件里含有MAT_DATE不存在的值时,也就是这个字段在数据库中没有的时间,报表就只显示1行0

孤傲的旋律 数据达人Lv4

发表于2019-8-21 10:25

只看该作者

取消 关注该作者的回复

21#

lebron 发表于 2019-8-20 18:10
只要报表条件里含有MAT_DATE不存在的值时,也就是这个字段在数据库中没有的时间,报表就只显示1行0 ...

那你是想这个字段中的数据为空的时候过滤全部吗?

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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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