常用BI报表数据集参数--超细致

BI报表开发–自学笔记

1、数据集参数——下拉复选框控件

1、数据集和模版的 区别

数据集在写SQL时加上where条件,代替模版参数的过滤条件

2、流程

  1. 使用自带的数据集(车型销售数据)
    常用BI报表数据集参数--超细致_第1张图片
    2、全部添加
    常用BI报表数据集参数--超细致_第2张图片

问题

常用BI报表数据集参数--超细致_第3张图片
常用BI报表数据集参数--超细致_第4张图片

理解常用BI报表数据集参数--超细致_第5张图片

2、日期控件

常用BI报表数据集参数--超细致_第6张图片

这里有两个遗忘的点

常用BI报表数据集参数--超细致_第7张图片

还有一个是判断语句,不筛选也能展示全部数据
这个是不点击查询显示报表内容

N、下拉框空值查询显示全部数据

这个是使用模版参数:

if(len($area)==0,nofilter,$area)

这个是使用数据集参数:

where 1=1 ${if(len(area) == 0,"","and 货主地区 =' " + area +" ' ")}

还有有点小难理解的
常用BI报表数据集参数--超细致_第8张图片

在我实操的时候还有一个坑

`where 1=1` 表示条件永真,防止没有参数条件时,where 后面没有有效内容导致出错。
`len(area)==0` 表示参数「area」为空。
`"and 货主地区='"+area+"'"` 中间的「area」表示取参数值,'+' 为字符串拼接符号。
`${if(len(area) == 0,"","and 货主地区 = '" +area + "'")}` 表示:
当参数「area」为空时,查询语句相当于:`SELECT * FROM 订单`
当参数「area」不为空时,查询语句相当于:`SELECT * FROM 订单 WHERE 1=1 and 货主地区='${area}'`

单引号必须得在外面,不然你出来的时候找不到参数组件

N下拉复选框_未筛选显示全部信息

我自己尝试去写,然后错了,因为确认之后没有弹出来让我选择

SELECT * FROM 订单 where 1=1 ${if(len(area)==0,"","and 货主地址 in (area)")}

正确的是这样的

SELECT * FROM 订单 where 1=1  ${if(len(area) == 0,"","and 货主地区 in ('" + area + "')")}

错误的地方在于

('  " + area + "  ')

你可能感兴趣的:(服务器,linux,运维)