|
最佳回答 |
0
|
qhlLv6中级互助发布于2019-12-4 14:34
|
如果数据量较大,建议在SQL里处理,可以用left join的方式,把上年同一天的数据查出来,如果是oracle,大体可以按照这样写: select 今年日期字段,其他字段, 去年日期字段,其他字段 from 表名 a left join 表名(可以是同张表) b on a.今年日期字段=ADD_MONTHS(b.日期字段,12)
|
|
|
|
最佳回答 |
0
|
LSQ000Lv5中级互助发布于2019-12-4 14:02
|
|
-
18504762929(提问者)
- 直接在模板上添加的时间单日查询控件,数据集没操作
-
18504762929(提问者)
- 比如说我选择的时间是2019-10-01,这个查询2019年的数据是正常显示的,但是2018-10-01也绑定了同一个日期控件,所以2018-10-1是没有数据显示的,有没有解决的方法?
-
LSQ000 回复 18504762929(提问者)
- 你是说你的表格用的是2个数据集,然后使用的都是time这个参数查询,前部分直接用参数的值,后部分要用参数值减去一年?
-
18504762929(提问者) 回复 LSQ000
- 是这样的
-
LSQ000 回复 18504762929(提问者)
- Mysql数据库
第一个数据集条件:where 时间 = \'${time}\'
第二个数据集条件:where 时间 = DATE_SUB(\'${time}\',INTERVAL 1 year),此时数据库的时间格式是yyyy-MM-dd
假如你的数据库事件格式是yyyyMMdd,那么查询语句的日期要先格式化,即where 时间 = DATE_FORMAT(DATE_SUB(\'${time}\',INTERVAL 1 year),\'%Y%m%dd\')
|
|
|
最佳回答 |
0
|
凌建Lv7高级互助发布于2019-12-4 14:08
|
去年的日期单独一个过滤,然后数据集参数使用公式YEARDELTA($控件名,-1),这样查询的时候就可以传的去年的日期值
|
-
18504762929(提问者)
- 这个方法我用了,是在2018年日期单元格设置的,但是不起作用啊?您是指在数据集查询中用sql语句来写吗?
-
凌建 回复 18504762929(提问者)
- 是的,我原先实在数据集里直接过滤的。然后数据集里参数公式里再套用就可以了
-
18504762929(提问者) 回复 凌建
- 我用的是两个数据集,一个是2019年的,一个是2018年的,这个在数据集过滤我还真不会写
|
|
|
最佳回答 |
0
|
孤陌Lv6资深互助发布于2019-12-4 14:22
|
你这样就要用2个数据集了 另外个数据集 YEARDELTA($控件名,-1), 日期参数里要这样写
|
|
|