报表日期过滤条件写法

8846
12

emilyxly 小试身手Lv3

发表于2018-12-3 10:24

悬赏1

已解决

楼主
bi的日期过滤条件写<=,有时候会日期加1天,变成<,有时候不会加1天,变成<;请问日期的标准写法是<和>=么,其他都会自动转换么

最近看过此主题的会员

naqinga

chestnut

esen_4ZDJB154PP

esen_513E25YO2T

15521158376

daix

esen_4Z13AHW4Y9

esen_4UZ4INQ7PD

sdhausfhsa

pxl1006

mkhang

GABRIELLE

路口234ee

827301670

mske_js

pt7623661

最佳答案
BI46上确实有此问题 是产品bug,可以升级至BI47解决
12个回答

只看楼主

wut 数据老手Lv5

发表于2018-12-3 10:26

只看该作者

取消 关注该作者的回复

沙发

其实无论是<,或者<=,他自动生成过滤条件,都是正确的sql。<的话一般是+1,<=的话一般不加1

韦韬然 数据老手Lv5

发表于2018-12-3 10:28

只看该作者

取消 关注该作者的回复

板凳

<d+1和<=d只要不是粒度到时分秒的话没区别吧

emilyxly 小试身手Lv3

发表于2018-12-3 10:29

只看该作者

取消 关注该作者的回复

地板

并不都是正确的,以下的写法日期没有加1天,但是<=变成<了
HR_STUFF_STRUCTURE_MANY_RPT.EFFDT_ST<=if(ASINT(DAY(today()))<=25,od(today(),'m-1;d=26'),if(ASINT(DAY(today()))>25,od(today(),'d=25')))
and HR_STUFF_STRUCTURE_MANY_RPT.EFFDT_END>=if(ASINT(DAY(today()))<=25,od(today(),'m-1;d=25'),if(ASINT(DAY(today()))>25,od(today(),'d=25')))

emilyxly 小试身手Lv3

发表于2018-12-3 10:32

只看该作者

取消 关注该作者的回复

5#


逻辑上是没有,但是sql本身就支持<=的写法,直接转换应该更合适一些吧,做这种转换了却不能保证所有情况都能转换准确,这样反而会出错呀

wut 数据老手Lv5

发表于2018-12-3 10:32

只看该作者

取消 关注该作者的回复

6#

emilyxly 发表于 2018-12-3 10:29
并不都是正确的,以下的写法日期没有加1天,但是

你的if判断语句差一个吧,确定写的是对的?

韦韬然 数据老手Lv5

发表于2018-12-3 10:35

只看该作者

取消 关注该作者的回复

7#

wut 发表于 2018-12-3 10:32
你的if判断语句差一个吧,确定写的是对的?

厉害,刚看出来内层少写了个条件

emilyxly 小试身手Lv3

发表于2018-12-3 10:54

只看该作者

取消 关注该作者的回复

8#

韦韬然 发表于 2018-12-3 10:35
厉害,刚看出来内层少写了个条件

HR_STUFF_STRUCTURE_MANY_RPT.EFFDT_ST<=if(ASINT(DAY(today()))<=25,od(today(),'m-1;d=25'),od(today(),'d=25')) and datetostr(HR_STUFF_STRUCTURE_MANY_RPT.EFFDT_END,'yyyymmdd')>=if(ASINT(DAY(today()))<=25,od(today(),'m-1;d=25'),od(today(),'d=25'))
这个没报错,这个转换和这个没关系,请看下改成这个表达式,日期的转换见下图


emilyxly 小试身手Lv3

发表于2018-12-3 10:58

只看该作者

取消 关注该作者的回复

9#

韦韬然 发表于 2018-12-3 10:35
厉害,刚看出来内层少写了个条件

另外,报表这两个字段限定条件的值是同一个表达式,EFFDT_ST带出的是不带时分秒的,EFFDT_END后的>=日期却带了系统时间对应的时分秒,这样才加了datetostr转换

缱绻 数据领袖Lv6

发表于2018-12-3 11:09

只看该作者

取消 关注该作者的回复

10#

emilyxly 发表于 2018-12-3 10:58
另外,报表这两个字段限定条件的值是同一个表达式,EFFDT_ST带出的是不带时分秒的,EFFDT_END后的>=日期 ...

那你的这个需求是需要时分秒还是不需要呢?

emilyxly 小试身手Lv3

发表于2018-12-3 11:15

只看该作者

取消 关注该作者的回复

11#

本帖最后由 emilyxly 于 2018-12-3 11:17 编辑

缱绻 发表于 2018-12-3 11:09
那你的这个需求是需要时分秒还是不需要呢?
1、现在问题主要是前面的,BI这边的标准写法是只支持<和>=这种写法的么?<=转换为<的标准好像也不一致呢;
2、第二个问题,是不需要的,或者加了也是00:00:00的格式,不影响我的计算结果也行,不过这个问题还是同一个表达式一个是00:00:00,一个到了系统时分秒。

上一页12下一页共2页

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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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