数据 SDK

数据分析处理的常用小工具:解析、画像、分组聚合、透视、时间序列、异常、格式化、Markdown 表格与轻量图表。纯函数、零依赖,浏览器与 Node 通用——减少每个应用各写一遍的样板代码。

import { data } from "/developer/sdk/v1/aidc.js";

解析与导出

const rows = data.parseCsv(text);           // RFC 4180:引号、转义、字段内换行;数字列自动转 number
const csv = data.toCsv(rows, ["月份", "营收"]);

xlsx 请先另存为 CSV(或在服务端处理)——浏览器 SDK 不打包 xlsx 解析器。

画像

data.profile(rows);
// → [{ name, type: "number"|"date"|"string"|"boolean"|"empty", count, missing, distinct, min, max, mean, sum, top }]

聚合

data.groupBy(rows, "region", { revenue: ["amount", "sum"], orders: "count", avg: ["amount", "avg"] });
data.pivot(rows, "region", "month", "amount", "sum");          // → { columns, rows }
data.timeSeries(rows, "order_date", "month", { revenue: ["amount", "sum"] });
data.topN(rows, "revenue", 10);
data.timeBucket("2026-09-25", "week");                          // → "2026-09-22"(周一)

聚合函数:sum、avg、count、min、max、distinct。

变化与异常

data.pctChange(1200, 1000);            // 0.2
data.share(300, 1200);                 // 0.25
data.zScores([10, 12, 30]);
data.anomalies(monthly, "revenue", 2); // |z| ≥ 2 的月份

呈现

data.formatNumber(129363024);          // "1.3 亿"
data.formatNumber(52300);              // "5.2 万"
data.formatPercent(0.2559);            // "25.6%"
data.markdownTable(rows, [["month", "月份"], ["revenue", "营收"]]);
el.innerHTML = data.barChartSvg(points, { color: "#ff4d00", format: data.formatNumber });
el.innerHTML = data.lineChartSvg(points);            // 缺省按数据上下界缩放;zero: true 从 0 起

复杂图表请用 Chart.js(从 cdn.jsdelivr.net 加载,并在清单的 cdn 里声明)。

命令行

aidc data profile orders.csv
aidc data group orders.csv --by region --sum amount --count

和连接 SDK 一起用

企业数据集的固定报告由 连接 SDK 取回(只含聚合),再用数据 SDK 做二次加工与呈现——样板「ERP 数据自动分析」就是这样做的。

本页由 developer/docs/data.md 生成 · Markdown 原文 · llms.txt