practical dimensions

Post on 04-Dec-2014

1.310 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

1

16th XBRL International Conference

Practical Dimensions“No Primary Item Left Behind”

December 5, 2007Herm Fischer

2

Why, who needs formulas for what? Historical perspectives Process flow of formulas Formula Linkbase

ContentsFormula processingFeatures by use case exampleDTS discovery

FunctionsBuilt-inEnd-user

Roadmap

3

Why, who needs dimensions, for what?

Historical perspectivesUses of XBRL DimensionsConverting dimensions into XBRLValidationFormulas to aggregate dimensionsDebugging dimensions fact contextsConverting tuples to dimensions

4

XBRL has two built-in dimensions Time Entity

Scenario and Segment are unconstrained

Previously held home-made XML◦ No standard semantics

Now standardized by dimensions◦ Metadata representation◦ Semantic validation

5

2004-10 – First drafts 2005-02 – Definitions linkbase syntax 2005-06 – Test cases evolve spec 2005-09 – Initial taxonomies by COREP 2005-12 – Populate conformance tests 2005-12 – Public review 2006-04 – Candidate recommendation 2006-09 – Publication as standard

Cheryl Neal
Are we requiring this outline from the speakers?

6

Segmental breakdowno Business segmento Geographical segmento Class of saleso Class of product

Scenario identificationo Continuing and discontinuing portionso Actual, budgeted, varianceo Unaudited, Audited

7

Segment and Scenario chaos o Each project defines own XMLo No interoperabilityo Not compatible with taxonomy extensiono Home made tools per each projecto Set construction and algebra obscuredo Notion of defaults is random

8

Primary item Hypercube Dimension (explicit, typed, empty, closed,

default) Domain, effective domain Domain member, valid member Dimensional relationship set (DRS),

targetRole Primary item inheritance, base set

9

Primary item:Items that are facts, such as sales, cost of

salesHypercube:

Inter-related set of dimensional attributionsApplicability rules of this attribution

Dimension:Aspect of characterizing data

Domain:Set of members possible for a dimension

10

Table (≈hypercube):A table of line item breakdowns

Line items axis (≈primary items):Reported scalar properties, such as

sales, cost of sales, profit…Dimension axes (≈dimensions):

Breakdowns of line items (each is a domain)

11

Input inst.DTS

contextsunits

fact items

DimensionsDefinition LB*

DimensionAware

Processor

Errors list

12

Instance provides taxonomy, contexts, and reported facts

Taxonomy provides concepts, dimensions

Context provides dimension values Fact connects value, primary item,

context Dimension processor examines if any

base set is valid Report of dimensionally invalid facts

13

Input inst.DTS

contextsunitsfacts

DimensionAware

Processor

Errors listdim-invalidfact items

Dimensions in definition LB*

hypercube

dimension

locmember default

primary item

arc

14

Input inst.DTS

contextsunitsfacts

DimensionProcessor

Errors listdim-invalidfact items

Dimensions Infoset

hypercube

loc

primary itembase set

arc

*Formula LB is part of DTS

dimension validcombination item

dimensiondefault

memberstree

15

Input inst.DTS

contextsunitsfacts

Definition LB*

For each fact item (unordered)•For each base set (if any)

•For each hypercube•For each dimension

•Test validity•Valid when all all’s are validand all notAll’s are invalid

•Fact valid if any base set is valid

Errors listdim-invalidfact items

DefinitionProcessor

*Formula LB is part of DTS

16

dimensions

domains

members

fact

hypercube

17

dimension dimension facts

domains

members

18

dimension dimension facts

domains

members

19

20

21

Sales Table

Line items

Axis

Product

Axis

Region

Axis

sales Pharmaceutical

Generics

Consumer health

Other

Asia

Europe

US/Canada

Other

physical arcslogical view

Sales Hypercube

Product

Dimension

Region

Dimension

hypercube-

dimension

hypercube-dimension

all

dimension-

domain

dimension-

domain

sales

Generics

Consumer health

Other

Asia

Europe

US/Canada

Other

Pharmaceutical

all products

domain-m

ember

all regions

domain-m

ember

22

TD XWand

23

24

From existing dimensional data◦ COREP began with existing dimensions tables◦ Built tools to generate dimensions linkbase◦ XBRL-US began with tables of tuples, converted to

dimensions From scratch

◦ Creating at concepts & definition arcs level No custom programming required Use taxonomy editing tool (e.g., TD, XWand)

◦ Creating by tables, line items, axes, domains Requires transformation into definition arcs XBRL-US used this approach

25

COREP/FINREP – Partitioned taxonomies◦ Primary items “p-” prefixed taxonomies◦ Dimension items “d-” prefixed taxonomies◦ Company (integrating) “t-” prefixed taxonomies

XBRL-US – Logical entry editing taxonomy◦ All items together to edit (primary & dimensional)◦ Generate dimensions from table/axis presentation◦ Partition taxonomy for final distribution

26

Sales Table

Line items

Axis

Product

Axis

Region

Axis

sales Pharmaceutical

Generics

Consumer health

Other

Asia

Europe

US/Canada

Other

xbrl-us approachpartitioned approach (COREP)

Sales Hypercube

Product

Dimension

Region

Dimension

hypercube-

dimension

hypercube-dimension

all

dimension-

domain

dimension-

domain

sales

Generics

Consumer health

Other

Asia

Europe

US/Canada

Other

Pharmaceutical

all products

domain-m

ember

all regions

domain-m

ember

logicalpresentationlinkbase

company.xsd

Products.xsd

sales.xsd

Regions .xsd

generateddefinition linkbase

27

taxo

nom

y pa

rtiti

oned

28

4)company.xsd2) regions.xsd1) products.xsd

3) sales.xsd

29

1) M

anu

ally

en

ter

2) T

oo

l (o

r h

um

an)

tran

sfo

rms

into

def

init

ion

arc

s, e

tc

30

Early spec versions tried a calculation component◦ Aggregation via calculation linkbase

Current focus is formula spec◦ Aggregation by dimension member traversal

Example shown tests roll-ups of each dimension using PWD formula linkbase

31

Test aggregation of each member

Products & region dimensions have member hierarchy

32

Multiple periods for used dimensions

Multiple dimensions per contexts

(Charlie’s aggregation example)

33

Will require checking of aggregation for◦ Product dimension◦ Region dimension

Formula shown for product dimension(region is same except for dimension name)

Demonstrates mixed explicit/implicit dimension filtering

34

<formula value="abs( $sales - sum($salesBreakdown) ) lt 1.00"> <context referenceVariable=”sales” /></formula>

Tests aggregate of sales is within €1.00 of contributor sales items

E-L

factVariable

sales

factVariable

salesBreakdown

F-V F-V

bindAsS

eq=”true”

V-F

V-F

Binds to any sales fact

Sequence of contributors which are dimensional children of product, implicit matching of period etc to sales

E-L

E-L

conceptName filtername=”Sales”

label resources

dimensionMember filterdimension=”company:ByProductPlaceholder”

member=”xfi:dimension-value($sales,QName(“company:ByProductPlaceholder”))

C-F

The breakdown is dependent on the dimension of the sales variable, so that

determines the order

V-F

loc

ValidByProduct

preconditiontest=”count($salesBreakdown) gt 0”

F-P

35

36

Try it, examine it, execute it online:

◦ Tracing information example:

37

Dimensional concepts and arcs Dimensional arc networks

◦ Consecutive relationships◦ targetRole◦ Primary item inheritance◦ Exclusion of member values

Explicit and typed dimensions

38

Primary Item

substitutionGroup:item domain-member (with inheritance)

Hypercube

substitutionGroup:hypercubeItem abstract:true

Typed Dimension

substitutionGroup:dimensionItem abstract:true typedDomainRef:anyURI

Explicit Dimension

substitutionGroup:dimensionItem abstract:true

hypercube- dimension

{all, notAll} closed:Boolean contextElement: {segment, scenario} hypercube-dimension

domain-member

usable:Boolean

dimension-domain usable:Boolean

Member Member

substitutionGroup:item

substitutionGroup:item

domain-member usable:Boolean

dimension-default

domain-member usable:Boolean

39

contextElement: segment, scenario◦ Specifies where dimensions are in instance

contexts closed: true, false

◦ Specifies whether context element can contain extra stuff in the segment or scenario.

◦ Applies to extra dimensions (for other hypercubes or just not needed), and to non-dimensional xml

40

Initial arcRole Subsequent arcRole

all hypercube-dimension

notAll hypercube-dimension

hypercube-dimension

dimension-domain

dimension-domain domain-member

domain-member domain-member

Rules of which arcs can follow another arc:

Examples on next diagram

41

p_GrossProfit

substitutionGroup:item abstract: false

p_Sales

substitutionGroup:item abstract: false

p_CostOfSales

substitutionGroup:item abstract: false

domain-member

hc_AllCountries

substitutionGroup:hypercubeItem abstract: true

hc_NoSalesCountries

substitutionGroup:hypercubeItem abstract: true

notAll contextElement:

scenario

all contextElement

:scenario

hc_CountriesDim(*)

substitutionGroup:dimensionItem abstract: true

hypercube-dimension

CountriesDomain

substitutionGroup:item abstract: true

dimension-domain

hc_CountriesDim(*)

substitutionGroup:dimensionItem abstract: true hypercube-dimension

m_Argentina

m_France

m_India

m_Spain

...

dimension-domain

(*) Both are the same element.

http://www.example.com/role/link1

http://www.example.com/role/link2

domain-member

42

XBRL pres/calc/def networks confined to one extended link role

targetRole redirects dimensional relationship to a specified extended link role

Networks of domain relationships can flow across extended link roles

43

hc_AllRegions

substitutionGroup:hypercubeItem abstract: true

RegionDim

substitutionGroup:dimensionItem abstract: true

CountriesDomain

substitutionGroup:item usable: false

m_Argentina

m_France

m_India

m_Spain

domain-member hc_ExcludeRegions

hc_ExcludeRegions

substitutionGroup:hypercubeItem abstract: true

http://www.example.com/role/link

CountriesDomain

substitutionGroup:item usable: false

m_Argentina

m_Singapoure

m_Spain

domain-member http://www.example.com/role/link3

http://www.example.com/role/link2

http://www.example.com/role/link2

hypercube-dimension targetRole: link2

hypercube-dimension targetRole: link3

http://www.example.com/role/link3

RegionDim

substitutionGroup:dimensionItem abstract: true

dimension-domain dimension-domain

RegionDim

substitutionGroup:dimensionItem abstract: true

44

Sales Hypercube

Product

Dimension

Region

Dimension

hypercube-

dimension

hypercube-dimension

all

dimension-

domain

dimension-

domain

sales

Generics

Consumer health

Other

Asia

Europe

US/Canada

Other

Pharmaceutical

all products

domain-m

ember

all regions

domain-m

ember

targetRole concepts drawn once

45

Sales Hypercube

Product

Dimension

Region

Dimensionhypercube-

dimension

hypercube-dimension

all

dimension-

domain

dimension-

domain

sales

Generics

Consumer health

Other

Asia

Europe

US/Canada

Other

Pharmaceutical

all products

domain-m

ember

all regions

domain-m

ember

Sales Hypercube

all products all regions

targetRole concepts drawn perlink role

46

p_PrimaryParent

Type: monetaryItemType p_FirstChild

Type: monetaryItemType p_SecondChild

Type: monetaryItemType p_ThirdChild

Type: monetaryItemType

domain-member targetRole link2

domain-member

domain-member

link1 link2

hc_One

substitutionGroup:hypercubeItemabstract: true

hc_Three

substitutionGroup:hypercubeItemabstract: true

all

hc_Two

substitutionGroup:hypercubeItemabstract: true

alldomain-member

47

targetRole = link2

pParent

p1stchild

2nd childChild

p3rdchild

Hc

2

Hc1

p2ndchild

Link1 Link2

Hc

3

specstyle

nodes& arcs

view

48

p_PrimaryParent

Type: monetaryItemType p_FirstChild

Type: monetaryItemType p_SecondChild

Type: monetaryItemType p_ThirdChild

Type: monetaryItemType

domain-member targetRole link2

domain-member

domain-member

link1 link2

hc_One

substitutionGroup:hypercubeItemabstract: true

hc_Three

substitutionGroup:hypercubeItemabstract: true

all

alldomain-member

Primary Item Link Hypercubes Primary Item Link Hypercubes

p_PrimaryParent link1 hc_One p_PrimaryParent link2 none

p_FirstChild link1 hc_One, hc_Two p_FirstChild link2 none

p_SecondChild link1 hc_One, hc_Two p_SecondChild link2 hc_Three

p_ThirdChild link1 hc_One, hc_Two p_ThirdChild link2 hc_Three

hc_TwosubstitutionGroup:hypercubeItem

abstract: true

49

This test assures that extended links transfer consecutive arcs to targetRole-specified link

Compare tool style and diagram style

50

targetRole = link2

P1

P2

P5

P6 P4

P3

Hc1

Hc2

P2

Link1 Link2

1) U

Bm

atri

x T

D

2) F

uji

tsu

XW

and

ToolExamples

targetRole targetRole

51

Explicit dimensions have domains of members◦ Domain’s members are the only values◦ Validation of explicit dimension is by XBRL processor

Typed dimensions have plain xml for values◦ Could have

strings (names), numbers (zip code, phone number, latitude/longitude) structures of xml

◦ Validation of typed dimension xml is by schema only

52

For each dimension◦ A default value can be globally specified◦ It applies to every context omitting that

dimension◦ It applies even to closed dimensions

Each closed dimension must be “prepared” for omitted closed dimensions, otherwise it will never be valid

53

54

55

56

57

58

primary items all inherit

specific exclusion

59

My familiarity is to use integrated panes in TD

Load instance document Arrange taxonomy view (lower right) for

◦ Synchronized tree and element views Find fact items by name/context

◦ Widen columns, sort (by col. header clicks), scroll Display dimensions trace from fact (rt-btn.

menu) Navigate primary item to dimensions while

correlating to trace

60

1)3)

2)

4) 5)

61

1)

2)

3)

4)

5)

62

Tuples can be used to collect associated data

Dimensions can do the same Pros vs cons

◦ Tuples in spec v2.0 were extensible◦ In v2.1 extensibility is limited to GL’s “tricks”◦ Dimensions are fully extensible

XBRL-US morphed tuples into dimensions

63

original tuple design

presentation linkbase view definition linkbase view

Alchemizer conversion to dimensions

generated dimensions

arcs

xbrli:tupletuple-key arc (becomes a dimension)

64

2.2.9 – XBRL Item Information Item

1 Parent: 2.2.82 Period Type: "instant"|"duration"3 Balance: "credit"|"debit"|{empty}4 Default: String

2.2.20 – XBRL Effective Explicit Dimension Domain Information Item

1 Parents (list): 2.2.192 Default Value: 2.2.22 or {empty}3 Members (list): 2.2.22

2.2.21 – XBRL Typed Dimension Domain Information Item

1 Parents (list): 2.2.192 Type: XSDType

2.2.24 – XBRL Dimension And Value Couple Item

1 Parents (list): 2.2.232 Dimension: 2.2.203 DimensionValue: 2.2.224 DefaultValueForDimension: Boolean

2.2.18 – XBRL Cartesian Product Hypercube Information Item

1 Parents (list): 2.2.172 Context Element: "segment"|"scenario"3 Closed: Boolean4 Dimensions (list): 2.2.195 Valid Combinations (list): 2.2.236 Hypercube-Dimension Base Sets URI (list): URI

2.2.23 – XBRL Dimension Valid Combination Item1 Parents (list): 2.2.182 Valid Dimension Values (list): 2.2.24 and / or 2.2.21

1 XBRL Item Parent: 2.2.92 Domain-Member Base Set URI: URI3 Domain-Member Parent: 2.217 or {empty}4 Domain-Member children (list) : 2.2.175 Has-Hypercube Base Set URI: URI6 Hypercubes (list) : 2.2.257 Cartesian Product Hypercubes (list): 2.2.18

2.2.17 – XBRL Primary Item Dimensional Base Set Information Item

2.2.22 – XBRL Dimension Value Information Item

1 XBRL Item: 2.2.92 Usable: Boolean3 Domain-Member Base Set: URI4 Domain-Member Parent: 2.22 or {empty}5 Domain-Member children (list) : 2.2.226 Effective Expl.Dimension Domains (list): 2.2.207 Explicit Dimension Domain (list): 2.2.27

1..*

0..*

1 0..*

1

0..*

2.2.19 – XBRL Effective Dimension Information Item

1 Parents (list): 2.2.182 Namespace: URI3 Name: NCName4 Dimension-Domain Base Set URIs (list): URI5 Domain: 2.2.20 or 2.2.21

0..*0..*

1

1..*

0..*

or

0..*

1..*

1

2.2.25 – XBRL Hypercube Information Item1 Parents (list): 2.2.172 Namespace: URI3 Name: NCName4 Attachment Type: all | notAll5 Context Element: "segment"|"scenario"6 Closed: Boolean7 Dimension (list): 2.2.198 Hypercube-Dimension Base Set URI: URI

UsableMember

0..*

0..*

0..*

0..*

0..1

0..*

domain-member

domain-member

0..*

0..*

0..1

0..1

dim

ensi

on-

dom

ain

Default Value

1..*

0..*

0..*

1..*

Revision: 0.87c – 2007-11-15

2.2.27 – XBRL Explicit Dimension Domain Information Item

1 Parents (list): 2.2.162 Default Value: 2.2.22 or {empty}3 Dimension Domain Values (list): 2.2.22

0..*

0..*

Members

Def

ault

Valu

e

must beusable

0..*

0..*

0..*

0..*

or

1..*

1..*

2.2.26 – XBRL Dimension Information Item

1 Parents (list): 2.2.252 Namespace: URI3 Name: NCName4 Dimension-Domain Base Set URI: URI5 Domain: 2.2.27 or 2.2.21

0..*

0..*

0..*

0..*

0..1

must beusable

65

Herm Fischerherman.fischer@ubmatrix.com

fischer@markv.com+1-818-995-7671 +1-818-404-4708

http://herm.ws/XBRL/files/docs/PracticalDimensions.ppt

THANK YOU! Let us help you with dimensions analysis!

top related