e-Statの日時形式

e-Statの日時形式

[1] e-StatAPI は独自の日時形式を定めています。

仕様書

[3] 「単年検索」 が構文 yyyy で表されます。 >>2, >>8, >>12, >>14

[18] 説明がまったくありませんが、 yyyy西暦年と思われます。

年月

[4] 「単月検索」 が構文 yyyymm で表されます。 >>2, >>8, >>12, >>14

[19] 説明がまったくありませんが、 mm2桁月番号と思われます。

年月日

[9] 「単日検索」 が構文 yyyymmdd で表されます。 >>8, >>12, >>14

[20] 説明がまったくありませんが、 dd2桁日番号と思われます。

[16] XMLJSON の値では xs:date が使われています。 >>15

[17] XML Schema では xs:string になっていても、 実際には xs:date らしい値が設定されていることがあります。

日時

[6] XMLJSON の値では xs:dateTime が使われています。 >>7, >>11, >>13

範囲

[5] 「範囲検索」 が構文 yyyymm-yyyymm >>2, >>8, >>12, >>14、 構文 yyyymmdd-yyyymmdd >>8, >>12, >>14 で表されます。

時間軸

[23] e-Stat が扱うデータの多くは、 時間変化に対する何々の量、 という構造を持っていて、 その時間軸の情報が取得できます。

<CLASS_OBJ id="time" name="時間軸(年次)">
  <CLASS code="2012000000" name="2012年" level="1"/>
</CLASS_OBJ>

... のような構造が例示されています。この例でいう XML要素属性については API 仕様で説明されていますが、 その符号の解釈までは説明されていません。

[26] e-statで用いられる時間軸コード体系は、 次のような意味を持っています。 >>24

[29] 年度コードのの1月-3月は年コードと見かけは似ていますが、 翌暦年を指すはずです。

[30] 発表の日本政府統計表における機械判読可能なデータ作成に関する表記方法案 は、 この符号体系で 「付省間の共通化を図る」 としています。 和暦のみの記載から、 時間軸コードと和暦の併記、 西暦のみ、 西暦和暦の併記に修正するべきだとしています。 その理由を、 「ソフトウェア等のプログラムは、年の値の大小により認識することが多いため、和暦表示のみでは、元号が切り替わる際に手作業で西暦等に変換する必要がある。」 ためとしています。 >>24

[31] この文書は Excel のような人が書き、 人も機械も読むことがあるような類のデータを対象しているようなので、 人間可読と機械可読の中間的なこのような規定となっているのでしょう。

[32] 種別上/下期は、人が読み書きするには少し扱いにくそうです。 それが時間軸コードのみの修正案や、 時間軸コードがない修正案が示されている理由でしょうか。

[33] この符号を採用する理由に年の大小比較が挙げられていますが、 年度の場合1月から3月が数値の大小と期間の大小が逆転してしまい、 注意が必要そうです。

歴史

[25] 河野内閣府特命担当大臣記者会見要旨 令和2年12月18日 - 内閣府, , https://www.cao.go.jp/minister/2009_t_kono/kaiken/20201218kaiken.html

「縦割り110番」にこれも寄せられていた、統計のデータ・フォーマットの統一を行うことになります。今まで政府統計のデータ・フォーマットは、フォーマットがばらばらで、なおかつルールも明確でなかったので、研究者が複数の統計データを組み合わせて分析しようとすると、いちいちフォーマットを揃えなければいけない、あるいは、機械で読み込みができないなど、事前の処理に莫大な手間がかかっているということでございました。総務省を中心に各府省と共同で統計の統一的なデータ・フォーマットについて検討を行って、事務レベルで各省協議会を行ってもらって、本日、決定いたしました。

元号のみで記載するようなことはだめと、元号を使っても良いのですが、その際は必ず西暦、または時間軸コードというのがありますが、西暦、または時間軸コードを別のセルに併記する。あるいは、数値データの中に、例えば1,000円というときに、「円」という単位を数字と同じセルに書かないとか、あるいは、1,000円と表記をするときにカンマを打たない。あるいは、マイナスを意味する「▲」を使わず、マイナスは「-」を使うとか、セルを統合してはいけないとか、非常に丁寧にルールを決めました。意見募集をしたところ353件の意見が寄せられましたので、それらも反映をして、本日決定いたしました。

メモ

[10] 識別子の自動採番で 「「政府統計コード(8桁)-年月日時分秒(14桁)-枝番(1 桁)」の形式」 が使われます >>8, >>12, >>14

[21] CYCLEFREQUENCY_OF_UPDATE には情報の更新の頻度が表されるようですが、 構文は定まっていません。 「-」 「年次」 のような例が示されています。 自然言語で記述されているのでしょう。

[22] SURVEY_DATExs:string とされており、 <SURVEY_DATE>2008年</SURVEY_DATE>, <SURVEY_DATE>200810</SURVEY_DATE> のように違った形式の記載例が示されています。