<< Click to Display Table of Contents >> 日期过滤复制链接 |
1. 概述
1.1 应用场景
日期过滤组件适用于需要对时间序列数据进行筛选和分析的场景。无论您是在查看年度财务报告、销售数据趋势,还是分析用户行为随时间变化的规律,日期过滤组件都能提供灵活且直观的日期选择方式。例如有各产品在2021 ~ 2022近两年的利润数据,希望打开报告时默认展示2021年1月1日的各产品的“利润”数据,可以使用日期过滤。
1.2 功能简介
日期过滤组件以日期的形式提供筛选选项,支持单独模式、范围模式和比较模式三种操作模式。该组件能够绑定任何包含日期或时间戳的字段,如年月、年季度、年周、天等,为用户提供直观、便捷的日期选择界面。用户可以通过日历或下拉列表选择特定的日期或时间段,快速筛选出对应的数据集进行进一步分析。此外,日期过滤组件还支持自定义默认值设置,确保每次打开报告时都能自动展示预设时间段的数据,提高数据分析的效率。
2. 应用举例
假设我们有一组包含产品在2021至2022年利润数据的报表,希望默认展示2021年1月1日的利润数据,并允许用户根据需要选择其他日期进行查看。
操作步骤如下:
1)新建一个报告,创建一个普通表,绑定“产品名称”、“利润”、“天_交易时间”,切换为细节模式,如下图:
2)添加日期过滤组件到报告中,绑定“天_交易时间”字段到日期过滤组件。
3)编辑过滤组件,具体设置如下:
a)点击右侧的【设置】,设置操作模式:在下拉选框中选择“单独模式”。
b)设置默认值:在下拉选框中选择“去年”、“第一天”。
4)保存报告。预览查看时,天_交易时间日期过滤中默认选中2021 年1月1日各产品的利润。您也可以按照其他日期过滤,过滤参考及展示数据如下:
如需查看2021年2月1日各产品的利润,点击切换到下一月份,再点击1。
如需查看2022年2月2日各产品的利润,点击切换到下一年,再点击2。
3. 功能说明
3.1 布局
在右侧【设置>布局】可以设置组件布局。
【日期过滤】以日历的形式展现,如下图。
【下拉列表】当用户选定一日期后,日期过滤列表会自动收起。并显示出当前的日期,如下图。
3.2 模式
在右侧【设置>模式】可以设置日期模式。
模式包括单独模式、比较模式、范围模式。
3.2.1 单独模式
允许用户选择特定的日期或时间点进行数据筛选。支持ctrl选择多个时间点。
3.2.2 比较模式和范围模式
•比较模式:提供两个日期选项,用于比较两个不同时间点或时间段的数据差异。支持ctrl选择多个时间点。
•范围模式:允许用户选择一个起始日期和一个结束日期,以定义一个时间范围进行数据筛选。
两种模式均支持左侧默认值和右侧默认值设置,具体显示同单独模式的默认值选项一致,可以自定义默认值。
不同模式的日期过滤效果,可参考以下动图。
【默认值】当日期过滤组件绑定的数据包含设置的默认值,可以直接在属性中设置默认值并应用在组件上。
默认值设置分为两个部分,第一个下拉列表显示大概时间数据,第二个下拉列表显示具体时间数据。绑定不同类型的时间数据,两个下拉列表的数据显示也不一样。
绑定字段 |
前一个下拉列表 |
后一个下拉列表 |
年季度 |
常规 |
本季度,上季度,最大值 |
今年 |
第1季度到第4季度 |
|
去年 |
第1季度到第4季度 |
|
年月 |
常规 |
本月,上一月,最大值 |
今年 |
第1月到第12月 |
|
去年 |
第1月到第12月 |
|
年周 |
常规 |
本周,上一周,最大值 |
今年 |
第1周到第54周,最后一周 |
|
去年 |
第1周到第54周,最后一周 |
|
天 |
本月 |
第1天到第31天,最后一天 |
上一月 |
第1天到第31天,最后一天 |
|
常规 |
今天,昨天,前天,最大值 |
|
今年 |
第1天,最后一天 |
|
去年 |
第1天,最后一天 |
|
本季度 |
第1天,最后一天 |
|
上季度 |
第1天,最后一天 |
|
日期/时间戳 |
常规 |
今天,昨天,前天,最大值 |
今年 |
第1天,最后一天 |
|
去年 |
第1天,最后一天 |
|
本季度 |
第1天,最后一天 |
|
上季度 |
第1天,最后一天 |
不同类型的字段,日期选择样式有所不同,参考如下表所示。
3.3 选项
【必选】详情可参考下拉列表过滤 > 功能说明。
【未选值提示】布局为下拉列表,未选值时,用户可自定义提示,默认为“请选择...”。
3.4 格式
您可以在右侧【格式】设置组件样式,包括文本、边框、背景色、透明度等,参考组件操作与设置>格式。
3.5 配置一周的起始日
您可以在bi.properties中配置monday.first.day.of.week来控制每一周是从周日开始还是从周一开始。
默认为false,monday.first.day.of.week=fasle,一周起始日为周日。
配置monday.first.day.of.week=true,则一周起始日为周一。