数据筛选
更新时间:2024-05-30
Javascript
1filters: { // 数据筛选器
2 connect: "AND", // 筛选条件连接方式 AND/且、OR/或
3 exprs: [ // 包含的过滤条件,可以是条件或者组合
4 {
5 filter: { // 条件
6 type: "d", // 筛选字段类型 d/维度、m/度量
7 id: "SG013D40CAE7C5C32C", // 筛选字段id
8 searchParams: { // 筛选内容
9 textMatch: { // 文本/数据筛选条件,支持字段类型为string类型的字段筛选
10 operator: "AND", // 连接方式,AND/且、OR/或
11 value: [ // 筛选字段取值
12 {
13 type: "start", // 文本筛选方式,include/包含、start/开头是、end/结尾是、notIncluded/不包含、equal/等于、ineq/不等于、null/等于空、notNull/不等于空
14 // 数据筛选方式,gt/大于、gte/大于等于、equal/等于、lt/小于、lte/小于等于、ineq/不等于、null/等于空、notNull/不等于空
15 value: "Acc" // 文本筛选取值
16 }
17 ]
18 },
19 listMatch: { // 列表筛选,支持字段类型为string和筛选字段为维度字段且字段类型为int、float类型的字段
20 mode: "list", // 列表筛选筛选方式,list/列表、manual/手动(两种方式只能选一个)
21 exclude: false, // 是否设置为不包含列表中的值
22 list: ['中国'], // 列表筛选取值
23 mode: "manual", // 列表筛选方式,手动方式-manual
24 manual: ['中国'] // 手动筛选取值
25 },
26 date: { // 日期类型筛选,支持字段类型为date日期、timestamp时间戳、datetime日期时间形式
27 detail: { // 日期类型筛选数据详情
28 maxDate: "", // 日期范围最大值,value为'cus'时有效
29 minDate: "" // 日期范围最小值,value为'cus'时有效
30 },
31 value: "threeMonth" // 日期范围取值,week/近一周、halfMonth/近半月、month/近一月、threeMonth/近三月、halfYear/近半年、year/近一年、cus/自定义日期范围;
32 //自定义日期范围可输入正负数,如: -1 表示昨天,+1 表示明天,0表示当天;如果想定义绝对日期,请填写 $绝对日期,例如:$20180101;如果是本周一请写$MONDAY,本周二请写$MONDAY+1,上周日$MONDAY-1;本月第一天请写$MONTHFIRSTDAY,本月第二天请写$MONTHFIRSTDAY+1;上月第一天请写$LASTMONTHFIRSTDAY,上月最后一天请写$MONTHFIRSTDAY-1;本季度第一天请写$QUARTERFIRSTDAY,本季度第二天请写$QUARTERFIRSTDAY+1;本年第一天请写$YEARFIRSTDAY,本年第二天请写$YEARFIRSTDAY+1;去年第一天请写$LASTYEARFIRSTDAY,去年最后一天请写$YEARFIRSTDAY-1;可以使用+、-进行年(Y)、月(M)、周(W)、日(D)的计算,比如两年半前的月末请写$MONTHFIRSTDAY-2Y-5M-1D,三个月前的1号请写$MONTHFIRSTDAY-3M,D可省略不写;
33 },
34 type: "string" // 筛选字段类型, string字符、int整数、float小数、date日期、timestamp时间戳、datetime日期时间
35 }
36 }
37 },
38 {
39 connect: "OR",
40 exprs: [
41 {
42 filter: {
43 type: "d",
44 id: "SG547226F4EEBA744B",
45 searchParams: {
46 textMatch: {
47 operator: "AND",
48 value: [
49 {
50 type: "equal",
51 value: "中国"
52 }
53 ]
54 },
55 listMatch: {
56 mode: "list"
57 },
58 type: "string"
59 }
60 }
61 }
62 ]
63 }
64 ]
65}
filters 配置
参数名 | 类型 | 必填 | 描述 | 默认值 | 参考值 |
---|---|---|---|---|---|
connect | String | 是 | 筛选条件连接方式 AND/且、OR/或 | AND | AND/OR |
exprs | Array | 是 | 包含的过滤条件,可以是条件或者组合,条件即为 filter 相关、组合即为 filters 相关 | [] | [] |
filter 配置
参数名 | 类型 | 必填 | 描述 | 默认值 | 参考值 |
---|---|---|---|---|---|
type | String | 是 | 筛选字段类型 d/维度、m/度量 | - | d/m |
id | String | 是 | 筛选字段 id | - | - |
searchParams | Object | 是 | 筛选内容 | {} | {} |
filter 中 searchParams 配置
参数名 | 类型 | 必填 | 描述 | 默认值 | 参考值 |
---|---|---|---|---|---|
type | String | 是 | 筛选字段类型, string 字符、int 整数、float 小数、date 日期、timestamp 时间戳、datetime 日期时间 | - | - |
textMatch | Object | 是 | 文本/数据筛选条件,支持字段类型为 string 字符、int 整数、float 小数 类型的字段筛选(详细描述见下方) | {} | {} |
listMatch | Object | 是 | 列表筛选,支持字段类型为 string 和筛选字段为维度字段且字段类型为 int、float 类型的字段(详细描述见下方) | {} | {} |
date | Object | 是 | 日期筛选条件,支持字段类型为 date 日期、timestamp 时间戳、datetime 日期时间 类型的字段筛选(详细描述见下方) | {} | {} |
textMatch 配置
参数名 | 类型 | 必填 | 描述 | 默认值 | 参考值 |
---|---|---|---|---|---|
operator | String | 是 | 连接方式,AND/且、OR/或 | - | AND/OR |
value | Array | 是 | 筛选字段取值(详细描述见下方) | [] | [] |
textMatch 中 value 筛选字段取值配置
参数名 | 类型 | 必填 | 描述 | 默认值 | 参考值 |
---|---|---|---|---|---|
type | String | 是 | 文本筛选方: include/包含、start/开头是、end/结尾是、notIncluded/不包含、equal/等于、ineq/不等于、null/等于空、notNull/不等于空 数据筛选方式: gt/大于、gte/大于等于、equal/等于、lt/小于、lte/小于等于、ineq/不等于、null/等于空、notNull/不等于空 |
- | AND/OR |
value | String/Number | 是 | 文本筛选时为 String 类型取值,数据筛选时为 Number 类型取值 | - | - |
listMatch 配置
参数名 | 类型 | 必填 | 描述 | 默认值 | 参考值 |
---|---|---|---|---|---|
mode | String | 是 | 列表筛选筛选方式,list/列表、manual/手动(两种方式只能选一个) | - | - |
exclude | Boolean | 否 | 是否设置为不包含 | - | - |
list | Array | 否 | 列表筛选取值(mode === 'list') | [] | [] |
manual | Array | 否 | 手动筛选取值(mode === '列表、manual') | [] | [] |
date 配置
参数名 | 类型 | 必填 | 描述 | 默认值 | 参考值 |
---|---|---|---|---|---|
value | String | 是 | 日期范围取值,week/近一周、halfMonth/近半月、month/近一月、threeMonth/近三月、halfYear/近半年、year/近一年、cus/自定义日期范围; | - | - |
detail | Object | 是 | 日期类型筛选数据详情() | [] | [] |
date 中 detail 配置
参数名 | 类型 | 必填 | 描述 | 默认值 | 参考值 |
---|---|---|---|---|---|
minDate | String | 否 | 最小日期的值,value 为'cus'时有效( 日期类型:可输入正负数,如: -1 表示昨天,+1 表示明天,0 表示当天;如果想定义绝对日期,请填写 $绝对日期,例如:$20180101;如果是本周一请写$MONDAY,本周二请写$MONDAY+1,上周日$MONDAY-1;本月第一天请写$MONTHFIRSTDAY,本月第二天请写$MONTHFIRSTDAY+1;上月第一天请写$LASTMONTHFIRSTDAY,上月最后一天请写$MONTHFIRSTDAY-1;本季度第一天请写$QUARTERFIRSTDAY,本季度第二天请写$QUARTERFIRSTDAY+1;本年第一天请写$YEARFIRSTDAY,本年第二天请写$YEARFIRSTDAY+1;去年第一天请写$LASTYEARFIRSTDAY,去年最后一天请写$YEARFIRSTDAY-1;可以使用+、-进行年(Y)、月(M)、周(W)、日(D)的计算,比如两年半前的月末请写$MONTHFIRSTDAY-2Y-5M-1D,三个月前的 1 号请写$MONTHFIRSTDAY-3M,D 可省略不写; 时间类型:可输入正负数,如: -1 表示一分钟前,+1 表示一分钟后。{ZERO} 表示当天零点(注意有大括号),{ZERO+60} 和 {ZERO+1h} 都表示当天零点后的 60 分钟,{ZERO+1h-5m+2s} 表示零点加 1 小时再减 5 分钟再加 2 秒,{+1h-2} 表示当前时间加 1 小时再减 2 分钟,注意要按小时-分钟-秒的顺序加减;如果想定义绝对日期时间,请填写绝对日期时间,例如:2018-01-01 12:30:00。 |
- | - |
maxDate | String | 否 | 最大日起的值(同最小日期的值),value 为'cus'时有效 | - | - |