1、控件筛选添加参数
在数据库查询的代码里添加
where 字段名=${参数名}
若要在是选条件为空时,报表显示全部内容,则需将上述代码修改为
where 1=1 ${if(len(参数名) == 0,"","and 字段名 in ('" + 参数名 + "')")}
--单个筛选条件
where 1=1 ${if(len(参数名1) == 0,"","and 字段名1 in ('" + 参数名1 + "')")}
and 1=1 ${if(len(参数名2) == 0,"","and 字段名2 in ('" + 参数名2 + "')")}
--多个筛选条件
where 1=1 ${if(len(参数名1) == 0,"","and 字段名1 like ('%" + 参数名1 + "%')")}
and 1=1 ${if(len(参数名2) == 0,"","and 字段名2 like ('%" + 参数名2 + "%')")}
需要筛选一个时间段的内容时
AND (字段名 BETWEEN '${时间1}' AND '${时间2}')
2、当值为零时,不显示数据
可以给单元格设置条件,选中需要的单元格,右键点击,点击条件属性
添加条件,当单元格内容为0时,行高为0
3、将显示值根据内容改为特定的值
SWITCH($$$,'实际值1','修改值1','实际值2','修改值2','实际值3','修改值3','实际值4','修改值4',$$$,$$$)
4、获取年月日的固定第几天
DATEINYEAR('日期',a) //a:一年中的第几天
-- 在本日期的年份里的第a天
DATEINMONTH('日期',b) //b:一月中的第几天
-- 在本日期的月份里的第b天
DATEINWEEK('日期',C) //C:一星期中的第几天
-- 在本日期的星期里的第c天
5、根据某一天取某个时间段的日期
MID(IF(DATEDIF(DATEINWEEK($时间,1),$时间,"D") >= 2,DATEINWEEK($时间,3),DATEINWEEK($时间,-4)),6,2) + '月' + MID(IF(DATEDIF(DATEINWEEK($时间,1),$时间,"D") >= 2,DATEINWEEK($时间,3),DATEINWEEK($时间,-4)),9,2) + '日'
//以本周三到下周二为一个周期
//计算当前时间($时间)和当前时间的周一(DATEINWEEK($时间,1))相差几天,如果相差的天数大于等于2则以本周三为开始,反之则以上周三为开始(DATEINWEEK($时间,-4))
--
DATEDIF(DATEINWEEK($时间,1),$时间,"D")//计算DATEINWEEK($时间,1)和$时间之间差几天
DATEDIF(DATEINWEEK($时间,1),$时间,"M")//计算DATEINWEEK($时间,1)和$时间之间月数差
DATEDIF(DATEINWEEK($时间,1),$时间,"Y")//计算DATEINWEEK($时间,1)和$时间之间年数差