構造化CSV:XMLの階層構造を1枚のシートで表現する

Views: 19

構造化CSV(Structured CSV)は、xBRL-CSV仕様に基づいた標準的なフォーマットであり、複雑な階層構造のデータをフラットな表形式で記録することを可能にします。これは単なるリレーショナルデータベースのダンプではなく、請求書や仕訳帳などの多層構造を1枚のCSVシート上で表現します。

1. xBRL-CSV に基づく表現

構造化CSVは、xBRL-CSVの構文モデルに準拠しています:

  • CSV ファイルは、1行に1つの事実(fact)を記録します。

  • JSON メタデータファイルには、表の構造、各列のディメンションやメンバー、そしてXBRLタクソノミとのマッピングが定義されています。

  • 各列は、dimension、あるいは member として明示的に定義されます。

  • ヘッダーや明細といった階層的なレコードはフラットに展開されますが、ディメンションベースの連番(sequence number)によってグループ化されます。

このフォーマットは、XBRL GLインスタンス文書など、従来XMLで表現されてきたデータの容量を圧縮し、プログラム処理が容易な表現に最適です。

2. メタデータ:構造とセマンティクス

JSON形式のメタデータファイルでは:

  • XBRLタクソノミ(通常は .xsd ファイル)への参照が定義されます。

  • 各CSV列は、タクソノミ上のコンセプト(例:gl-cor:entryNumber, gl-cor:amount)にマッピングされます。

  • 列が dimension、または`member`であるかを明示します。

  • タクソノミの label リンクベースにより、多言語ラベル(日本語、英語など)や定義が取得可能です。

3. フラットな行で階層構造を表現

構造化CSVでは、次のように整数の連番を使ってヘッダーと明細の関係を表現します:

entryHeader,entryDetail,entryNumber,lineNumber,amount
1,,INV-001,,
1,1,,1,100.00
1,2,,2,250.00
2,,INV-002,,
2,1,,1,300.00
Table 1. 表:階層構造を持つCSVのフラットな表現
entryHeader entryDetail entryNumber lineNumber amount

1

INV-001

1

1

1

100.00

1

2

2

250.00

2

INV-002

2

1

1

300.00

  • entryHeaderentryDetail は整数のシーケンス番号です。

  • entryHeader のみがある行はヘッダーレベルの事実です。

  • entryDetail がある行は直前のヘッダーに属する明細です。

4. 階層構造の図解

Diagram

この図は、entryDetail の行が entryHeader の下にどのようにグループ化されるかを示しています。データはすべて1つのCSVファイル内にありながら、明確な階層関係を持ちます。

5. 顧客請求書の例

以下は、構造化CSVで表現された顧客請求書の例です。entryHeaderentryDetail の連番を使用して、ヘッダーおよび明細の事実が1つのシートにフラットに記録されています。

accountingEntries entryHeader entryDetail entriesType uniqueID postedDate entryNumber entryComment lineNumber amount maturityDate terms measurableDescription measurableQuantity measurableUnitOfMeasure measurableCostPerUnit

1

other

001

1

1

2005-10-14

50

Invoice: #2 Customer: Joe’s Materials

1

1

1

1

220

2005-10-21

7 Days Date

MK II Widgets with improved spatulas

10

EACH

22

1

1

2

2

25

2005-10-21

7 Days Date

Service Kits for MK II widgets

5

EACH

5

1

2

2005-10-14

51

Invoice: #3 Customer: Joe’s Materials

1

2

1

1

60

2005-10-14

COD

Service Kits for MK I Widgets

20

EACH

3

1

2

2

2

80

2005-10-14

COD

Bottled Water

100

EACH

0.8

1

3

2005-10-14

52

Invoice: #5 Customer: Jacquiline Hau Shearer’s Snacks

1

3

1

1

325

2005-10-21

7 Days Date

Bottled Water Shrink Wrap Dozens

50

EACH

6.5

6. 多言語対応とセマンティクスの活用

XBRLタクソノミとの連携により:

  • 各コンセプト名は、ラベルリンクベースを通じて日本語や英語など、ユーザーフレンドリーな名称に変換可能です。

  • 業務定義やドキュメント説明文は、タクソノミのラベルリンクベースやリファレンスリンクベースから取得できます。

  • 表示リンクベースにより、dimensional hypercube で定義された構造が簡易な階層として可視化され、読みやすい表示が可能になります。

7. 明細1件のヘッダー統合

ヘッダー内に明細がちょうど1件のみ存在する場合、dimensional definition linkbasexbrldt:targetRole を用いることで、entryHeaderentryDetail の2つのディメンションを統合して表現できます。これは特に、中小企業のように単票処理の多いケースで、より簡素な表示を実現します。

8. 結論

構造化CSVは、xBRL-CSVとJSONメタデータによる堅牢な設計により、ビジネス文書の意味的に豊かな情報を、コンパクトで相互運用性の高い形式で記録・交換するための、将来志向のソリューションです。タクソノミとの連携によって、多言語環境でも正確な理解と整合性のあるデータ処理が可能となります。

監査、電子申告、規制報告など、現代の構造化データ交換を支える基盤の一つです。


投稿日

カテゴリー:

, ,

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です