Organizing Networks and Hypercubes to Get a Flow
Thursday, October 8, 2009 at 11:52AM
Charlie in Flow, Modeling Business Information Using XBRL, XBRL General Information, hypercubes, networks

You have all those concepts in an XBRL taxonomy schema.  You can organize those into useful groups of information.  This is done by putting concepts into a network (i.e. presentation, calculation, definition).  You can further organize these into hypercubes if you want to use the multidimensional model.

But, how do you organize the networks and/or hypercubes? This is what I mean by flow. (Go to that blog entry for more information on flow.)

Consider this fairly simple example of a financial statement.  Here is how I did it:

 

What I did was the following:

  1. Create a definition network.  I created the network role of http://www.example.com/DocumentFlow. (You could do this using the presentation network, but if you use the definition network you can create custom arcroles, I will get to that in a moment.)
  2. Create an arcrole if you want, but I just used the "general-special" arcrole for now.
  3. Use abstract concepts and the hypercubes you have created in your taxonomy to organize the flow of the report.

Here is another version of that screen shot, an HTML page where you can see both the flow and the other parts of the XBRL taxonomy.

There are some important characteristics of networks and hypercubes which you need to understand in order to understand the issues and solve them.

Now, there are some subtleties which are helpful to understand. To make this work, you should give each hypercube a unique name.  If you do this, the network really becomes irrelevant from a flow perspective, as the hypercube becomes your way to identify which piece of the taxonomy you want to point to.  Besides, personally, I believe that it is a good idea to give each unique hypercube a unique name which describes what that hypercube is trying to communicate.  In contrast, the US GAAP Taxonomy used the same hypercube "Statement [Table]" for every primary financial statement. For example, here that one hypercube is used to define a balance sheet and here that very same hypercube is used to define an income statement. What that means is that you MUST use the network in addition to the hypercube to identify the hypercube.  Whereas, if the names were unique, you would only need the hypercube name to identify the hypercube.  The fact that the US GAAP Taxonomy uses the same hypercube to mean different things, the approach outlined above will not work for that XBRL taxonomy.  So, when you build your XBRL taxonomy, I would suggest making each hypercube name unique.

Then, what this allows is an interfact which looks something like this. Notice the flow on the left.  Each hypercube shows up in the list, they can be read from the "flow" network which you define.  Click on the hypercube, and that hypercube is rendered in the right side pane.

That flow network allows for two things:  First, you can define the order that you want.  Second, if other users don't like your flow, the can change it by simply creating an extension to the XBRL taxonomy! Altertatively, they can simply create their own flow network in the form of an XBRL taxonomy.

For example, you could put line items, policies, and disclosures which relate to each other together as you see desire.  Interactive information!

 

 

Article originally appeared on XBRL-based structured digital financial reporting (http://xbrl.squarespace.com/).
See website for complete article licensing information.