You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Web Data Rocks透视表的月份列按自然顺序排序?

解决Web Data Rocks透视表月份自然顺序排序问题

要实现月份按1月到12月的自然顺序排列,核心是给月份维度指定自定义排序规则,以下是两种可行方案:

方案一:直接在透视表配置中定义排序顺序

无需修改数据源,在初始化透视表的report.slice配置里,针对月份维度设置sorting.customList,按自然顺序列出所有月份:

new WebDataRocks({
    container: "#wdr-component",
    toolbar: true,
    report: {
        dataSource: {
            filename: "datatest.json"
        },
        slice: {
            rows: [
                // 其他行维度配置
                {
                    uniqueName: "month", // 替换为你数据源中月份字段的真实名称
                    sorting: {
                        type: "custom",
                        customList: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
                    }
                }
            ],
            // columns/measures等其他配置
        }
    }
});

注意事项:

  • 确保uniqueName与你datatest.json中的月份字段名完全一致
  • 如果月份是放在columns维度中,把上述配置移到columns数组对应的项即可

方案二:通过数据源添加排序字段(适合需复用排序逻辑的场景)

在datatest.json的每条数据中添加一个monthOrder字段,对应月份的数字序号(1月=1,2月=2...12月=12),比如:

[
    {"month": "3月", "monthOrder": 3, "value": 100},
    {"month": "1月", "monthOrder": 1, "value": 200},
    // 其他数据项
]

然后在透视表配置中,将月份维度的排序依据设为monthOrder:

new WebDataRocks({
    container: "#wdr-component",
    toolbar: true,
    report: {
        dataSource: {
            filename: "datatest.json"
        },
        slice: {
            rows: [
                {
                    uniqueName: "month",
                    sorting: {
                        type: "asc",
                        by: "monthOrder" // 按新增的排序字段升序排列
                    }
                }
            ],
            // 其他配置
        }
    }
});

两种方案都能实现月份的自然顺序排列,推荐方案一,无需改动数据源更便捷。

内容的提问来源于stack exchange,提问作者grabrep gg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 13:47:34