XBRL:複雑さについて-第6章XBRLに飛び込む-パート4。

6.4。 生活を楽にする方法



これまでのところ、単純なアイテムコンセプトのみを使用しました。 nr_employeesの各概念は、他の概念とは独立して解釈できます。







このアプローチには欠点があります。性別の数が通常2に制限されている場合、年齢の場合、この例では3つよりも多くのグループを持つことができます。 年齢を10年間隔に分割する必要がある場合はどうなりますか? グループ11〜20、21〜30、31〜40、41〜50、51〜60、および61〜70に新しい概念を追加する必要があります。 また、5年、2年、または年単位の間隔に分割すると、非常にすぐに疲れるでしょう。 リンクベースは、これらの多くの概念のそれぞれに対してリンクを定義する必要があるため、非常に大きくなります。 このような状況に対して、より効果的なアプローチが必要です。







そして今日は、タプルがこれをどのように支援できるかを説明します。







注:これは良い例ではありません。 性別や年齢グループなどの概念の分類は、いわゆる次元分類法で定義する必要があります。これについては、次の章で説明します。


6.4.1。 構造変化



上記の問題は、従業員数の概念にカテゴリ(性別、年齢グループ)を含めたために発生します。 それらを2つの異なる概念に分割するとどうなりますか?







これにより、次の概念定義が作成されます。







<element id="sample_nr_employees_total" name="nr_employees_total" xbrli:periodType="instant" type="xbrli:nonNegativeIntegerItemType" substitutionGroup="xbrli:item" nillable="true" /> <element id="sample_nr_employees" name="nr_employees" xbrli:periodType="instant" type="xbrli:nonNegativeIntegerItemType" substitutionGroup="xbrli:item" nillable="true" /> <element id="sample_gender" name="gender" xbrli:periodType="instant" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" /> <element id="sample_age_group" name="age_group" xbrli:periodType="instant" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" />
      
      





今、私たちの概念のほとんどは独立して解釈することはできません-例えば、性別やnr_employeesはどういう意味ですか?







ここでタプルが作用します。性別とnr_employeesの組み合わせ、およびage_groupとnr_employeesの組み合わせは、すでに特定の意味を持っています。







 <element id="sample_gender_data" name="gender_data" substitutionGroup="xbrli:tuple" nillable="true"> <complexType> <sequence> <element ref="sample:gender"/> <element ref="sample:nr_employees"/> </sequence> </complexType> </element> <element id="sample_age_group_data" name="age_group_data" substitutionGroup="xbrli:tuple" nillable="true"> <complexType> <sequence> <element ref="sample:age_group"/> <element ref="sample:nr_employees"/> </sequence> </complexType> </element>
      
      





タプルは、 substitutionGroup



属性のtuple



値を持つ要素です。 sequence



概念が指定されている複合型( complexType



)が含まれています。







新しいタプルの概念を使用するには、ショートカットおよびプレゼンテーションリンクベースへのリンクを更新する必要があります。







プレゼンテーションベースへのリンクは次のようになります。







 <presentationLink xlink:type="extended" xlink:role="http://www.sample.com/genderDemographics" > <loc xlink:type="locator" xlink:href="sample-2006-01-04.xsd#sample_nr_employees_total" xlink:label="concept_nr_employees_total" /> <loc xlink:type="locator" xlink:href="sample-2006-01-04.xsd#sample_gender_data" xlink:label="concept_gender_data" /> <loc xlink:type="locator" xlink:href="sample-2006-01-04.xsd#sample_gender" xlink:label="concept_gender" /> <loc xlink:type="locator" xlink:href="sample-2006-01-04.xsd#sample_nr_employees" xlink:label="concept_nr_employees" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="concept_nr_employees_total" xlink:to="concept_gender_data" order="1" priority="0" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="concept_gender_data" xlink:to="concept_gender" order="1" priority="0" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="concept_gender_data" xlink:to="concept_nr_employees" order="2" priority="0" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" /> </presentationLink> <presentationLink xlink:type="extended" xlink:role="http://www.sample.com/ageDemographics" > <loc xlink:type="locator" xlink:href="sample-2006-01-04.xsd#sample_nr_employees_total" xlink:label="concept_nr_employees_total" /> <loc xlink:type="locator" xlink:href="sample-2006-01-04.xsd#sample_age_group_data" xlink:label="concept_age_group_data" /> <loc xlink:type="locator" xlink:href="sample-2006-01-04.xsd#sample_age_group" xlink:label="concept_age_group" /> <loc xlink:type="locator" xlink:href="sample-2006-01-04.xsd#sample_nr_employees" xlink:label="concept_nr_employees" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="concept_nr_employees_total" xlink:to="concept_age_group_data" order="1" priority="0" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="concept_age_group_data" xlink:to="concept_age_group" order="1" priority="0" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" /> <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="concept_age_group_data" xlink:to="concept_nr_employees" order="2" priority="0" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" /> </presentationLink>
      
      





タプルは最終概念(concept_nr_employees_total)の下に配置され、それに含まれる概念を子要素として含みます。







6.4.2。 そして、それはどのように見えますか?



レポート視覚化アプリケーションは、タプル内のどの概念がキーと見なされるかについて何も仮定していません。したがって、値の小さなテーブルを作成し、その列はプレゼンテーションリンクベースに従って順序付けられます。







画像







このアプリケーションは単純なタプルを表示するのに適していますが、一般的な場合、これは非常に難しいタスクになる可能性があることに注意してください。 タプルの要素は、同じコンテキストを参照する必要はありません。 また、タプルには無限のネストがありますが、実際にはこれを満たすことはほとんどありません。







これにより、タプルを視覚化することが難しくなり、視覚化する必要があるものを正確に理解することで最適な方法を判断できる場合、通常は人間の関与につながります。















All Articles