数据筛选器

更新时间:2020-10-28
filters: {                                        // 数据筛选器
  connect: "AND",                                 // 筛选条件连接方式 AND/且、OR/或
  exprs: [                                        // 包含的过滤条件,可以是条件或者组合
    {
      filter: {                                   // 条件
        type: "d",                                // 筛选字段类型 d/维度、m/度量
        id: "SG013D40CAE7C5C32C",                 // 筛选字段id
        searchParams: {                           // 筛选内容
          textMatch: {                            // 文本/数据筛选条件,支持字段类型为string类型的字段筛选
            operator: "AND",                      // 连接方式,AND/且、OR/或
            value: [                              // 筛选字段取值
              {
                type: "start",                    // 文本筛选方式,include/包含、start/开头是、end/结尾是、notIncluded/不包含、equal/等于、ineq/不等于、null/等于空、notNull/不等于空
                      // 数据筛选方式,gt/大于、gte/大于等于、equal/等于、lt/小于、lte/小于等于、ineq/不等于、null/等于空、notNull/不等于空
                value: "Acc"                      // 文本筛选取值
              }
            ]
          },
          listMatch: {                            // 列表筛选,支持字段类型为string和筛选字段为维度字段且字段类型为int、float类型的字段
            mode: "list",                         // 列表筛选筛选方式,list/列表、manual/手动(两种方式只能选一个)
            list: ['中国'],                       // 列表筛选取值
            mode: "manual",                      // 列表筛选方式,手动方式-manual
            manual: ['中国']                      // 手动筛选取值
          },
          date: {                                 // 日期类型筛选,支持字段类型为date日期、timestamp时间戳、datetime日期时间形式
            detail: {                             // 日期类型筛选数据详情
              maxDate: "",                        // 日期范围最大值,value为'cus'时有效
              minDate: ""                         // 日期范围最小值,value为'cus'时有效
            },
            value: "threeMonth"                   // 日期范围取值,week/近一周、halfMonth/近半月、month/近一月、threeMonth/近三月、halfYear/近半年、year/近一年、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可省略不写;
          },
          type: "string"                         // 筛选字段类型, string字符、int整数、float小数、date日期、timestamp时间戳、datetime日期时间
        }
      }
    },
    {
      connect: "OR",
      exprs: [
        {
          filter: {
            type: "d",
            id: "SG547226F4EEBA744B",
            searchParams: {
              textMatch: {
                operator: "AND",
                value: [
                  {
                    type: "equal",
                    value: "中国"
                  }
                ]
              },
              listMatch: {
                mode: "list"
              },
              type: "string"
            }
          }
        }
      ]
    }
  ]
}

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/手动(两种方式只能选一个) - -
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'时有效 - -
上一篇过滤组件

本页内容