• Y Apis
登记簿
  • 全部 API
已探测
  • Wallhaven API v1
  • Iconify API
  • Frankfurter
  • US Treasury FiscalData
  • SEC EDGAR
项目
  • 更新日志
GitHubX (Twitter)

FiscalData 试验场

取消勾选一两个列,看总行数塌下去——被合并的行不会报错,而 total-count 会跟着报出去重后的数字。本页把「你请求的投影」与「补上行标识的同一次投影」并排计数,差值就是被静默合并的行。

路径里的版本号属于数据集本身:两个是 v2,汇率那个只有 v1,没有别名。

record_date行标识
country
currency
country_currency_desc
exchange_rate
effective_date
src_line_nbr行标识
record_fiscal_year
record_fiscal_quarter
record_calendar_year
record_calendar_quarter
record_calendar_month
record_calendar_day

取消勾选 src_line_nbr 之类的列,再看下方两个计数分开。空选表示不带 fields,即请求整行。

只看 null

打开后加上 filter=<列>:eq:null。查询语言能匹配到它,说明 "null" 是一个值而不是缺失 —— 也说明它逃不过任何按值筛选的逻辑。

record_date
4,451 行被静默合并,而 total-count 只报剩下的 14,700
塌缩 1.3×

不带 fields

19,151

整行,数据集真实行数

fields=2 列

14,700

你会拿到的数字 —— 且没有任何提示

+ record_date + src_line_nbr

19,151

客户端为每次投影自动补上,于是塌缩无法发生

行不是被截断而是被合并:区分列一去掉,原本不同的行就完全相同了。 在 ratesOfExchange 上,这次投影里每 1.3 行只剩 1 行,任何在它上面算的平均、求和、计数都会偏这么多。

报文
浏览器 → FiscalData(无代理,CORS 为 *)

// 对照三次计数
GET https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v1/accounting/od/rates_of_exchange?page%5Bsize%5D=1
GET https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v1/accounting/od/rates_of_exchange?fields=record_date%2Cexchange_rate&page%5Bsize%5D=1
GET https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v1/accounting/od/rates_of_exchange?fields=record_date%2Csrc_line_nbr%2Cexchange_rate&page%5Bsize%5D=1

// 行数据
GET https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v1/accounting/od/rates_of_exchange?fields=record_date%2Cexchange_rate&sort=-record_date&page%5Bsize%5D=12

(无鉴权头 —— FiscalData 无需 key)
注:page[size] 上限 10000,超出是 400 而不是截断,客户端已钳制。
行数据
12 / 14700 行 · 2 列在响应里 · 本页无 null 字符串
record_datecountry(未请求)currency(未请求)country_currency_desc(未请求)exchange_rateeffective_date(未请求)src_line_nbr(未请求)record_fiscal_year(未请求)record_fiscal_quarter(未请求)record_calendar_year(未请求)record_calendar_quarter(未请求)record_calendar_month(未请求)record_calendar_day(未请求)
2026-09-30———65.15————————
2026-09-30———80.75————————
2026-09-30———133.126————————
2026-09-30———913.0————————
2026-09-30———1545.0————————
2026-09-30———360.0————————
2026-09-30———1.435————————
2026-09-30———1.7————————
2026-09-30———0.377————————
2026-09-30———124.0————————
2026-09-30———2.02————————
2026-09-30———3.029————————

线上每个值都是字符串,日期与整数也一样。缺失值是四字符字符串 "null",不是 JSON null —— 直接 Number() 会静默得到 NaN,所以 schema 在边界上把它解析成 null。而灰掉的列是 fields 没要的,它们在响应里是 「键不存在」,又是另一种形态。