Line Chart Types/Data & Modeling/Data Transform Filter

数据转换筛选

在客户端过滤数据集,展示特定子集并进行动态对比。

Intermediate转换筛选数据集数据处理

Example

Guide

概述

基于 transform 的筛选允许在客户端按条件(国家、年份区间、分类等)处理数据。这样可以从同一来源衍生多种视图,降低服务器负载,并在无需额外后端处理的情况下实现交互式可视化。

何时使用

  • 对比大型数据集中的特定子集(如从全球数据中挑两个国家)
  • 交互式仪表盘,用户可即时筛选数据
  • 基于同一来源展示多种视图而不重复数据
  • 按时间筛选(“自 1950 年起”“最近 30 天”)
  • 按类别筛选(地区、产品线等)

不适用

  • 超大数据集(transform 成本高;考虑服务端筛选)
  • 需要 join 或复杂聚合的多步管道
  • 需要在后端持久化/审计筛选结果的场景
  • 持续更新的实时数据流

关键变体

  • 简单筛选:单一条件(Country = "Germany")
  • 复合筛选:多条件 AND/OR
  • 区间筛选:数值或日期(Year >= 1950)
  • 多视图派生:从同一来源生成多份筛选视图
  • 动态筛选:由用户控制的条件

数据 (CSV)

x,y,series
1950,7251,Germany
...
2015,37599,France

图表配置 (JSON)

最佳实践

  • 先筛选,减少传递给后续变换的体量
  • 复用同一源,从一个数据集生成多份筛选视图
  • 条件清晰,便于维护和复查
  • 监测性能,用真实数据量做测试
  • 备选方案:若数据集变大,准备服务端路径

常见问题

与服务器端预筛选有什么不同? 预筛选在后端执行;transform 在客户端运行,允许更换条件而无需新的请求。

可以组合条件吗? 可以,用逻辑运算符同时按多个国家或时间范围筛选。

对大数据集的影响? 约 1 万行以内表现良好;超出时考虑服务端筛选或分页。

用户能动态调整筛选吗? 能。更新 transform 配置后重新渲染,无需重新拉取数据。

如何调试筛选? 检查筛选后的数据集(console.log),确认条件字段名称正确。对空结果给出清晰提示。

结果为空怎么办? 显示“当前筛选无数据”并提供重置选项,避免留出一片空白。

Open in Line Graph Maker