L.2.8.3.2 General Organization

<metadata>
  <metadataTypes/>
  <metadataStrings/>
  <mdxMetadata/>
  <valueMetadata/>
</metadata>

There are four general collections in the metadata part:

The metadata type expresses operations on cells that allow the metadata to remain associated with the cell. Operations not listed or set to 0 would cause the metadata to no longer be associated with the cell.

<metadataTypes count="1">
  <metadataType name="XLMDX" minSupportedVersion="120000" copy="1"
    pasteAll="1" pasteValues="1" merge="1" splitFirst="1"
    rowColShift="1" clearFormats="1" clearComments="1" assign="1"
    coerce="1"/>
</metadataTypes>

Regarding metadataTypes:

Regarding metadataType:

This collection is a set of string resources for the metadata part. Most follow the format of an MDX expression. Connection names (to OLAP cubes) are also expressed here.

<metadataStrings count="12">
  <s v="xlextdat9 Adventure Works"/>
  <s v="[Measures].[Internet Sales Amount]"/>
  <s v="[Date].[Calendar].[Calendar Year].&amp;[2003]"/>
  <s v="[Date].[Calendar].[Calendar Year].&amp;[2004]"/>
  <s v="[Product].[Product Categories].[All Products]"/>
  <s v="[Customer].[Customer Geography].[All Customers].children"/>
  <s v="[Customer].[Customer Geography].[Country].&amp;[Australia]"/>
  <s v="[Customer].[Customer Geography].[Country].&amp;
    [United States]"/>
  <s v="[Customer].[Customer Geography].[Country].&amp;
    [United Kingdom]"/>
  <s v="[Customer].[Customer Geography].[Country].&amp;[Germany]"/>
  <s v="[Customer].[Customer Geography].[Country].&amp;[France]"/>
  <s v="[Customer].[Customer Geography].[Country].&amp;[Canada]"/>
</metadataStrings>

Regarding metadataStrings:

count indicates the number of strings in the collection.
s is the string container element
v is the string value itself.

This collection expresses MDX metadata, and builds up the MDX members, sets, KPIs, and member properties.

<mdxMetadata count="26">
  <mdx n="0" f="m">
    <t c="1">
      <n x="1"/>
    </t>
  </mdx>
  <mdx n="0" f="m">
    <t c="1">
      <n x="2"/>
    </t>
  </mdx>
  <mdx n="0" f="m">
    <t c="1">
      <n x="3"/>"
    </t>
  </mdx>
  <mdx n="0" f="m">
    <t c="1">
      <n x="4"/>
    </t>
  </mdx>
  <mdx n="0" f="m">
    <t c="3">
      <n x="1"/>
      <n x="2"/>
      <n x="4"/>
    </t>
  </mdx>
  <mdx n="0" f="m">
    <t c="3">
      <n x="1"/>
      <n x="3"/>
      <n x="4"/>
    </t>
  </mdx>
  <mdx n="0" f="r">
    <t c="1">
      <n x="6"/>
    </t>
  </mdx>
  <mdx n="0" f="r">
    <t c="1">
      <n x="7"/>
    </t>
  </mdx>
  <mdx n="0" f="r">
    <t c="1">
      <n x="8"/>
    </t>
  </mdx>
  <mdx n="0" f="r">
    <t c="1">
      <n x="9"/>
    </t>
  </mdx>
  <mdx n="0" f="r">
    <t c="1">
      <n x="10"/>
    </t>
  </mdx>
  <mdx n="0" f="r">
    <t c="1">
      <n x="11"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="2"/>
      <n x="4"/>
      <n x="6"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="3"/>
      <n x="4"/>
      <n x="7"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="2"/>
      <n x="4"/>
      <n x="7"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="3"/>
      <n x="4"/>
      <n x="8"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="2"/>
      <n x="4"/>
      <n x="8"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="3"/>
      <n x="4"/>
      <n x="9"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="2"/>
      <n x="4"/>
      <n x="9"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="3"/>
      <n x="4"/>
      <n x="10"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="2"/>
      <n x="4"/>
      <n x="10"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="3"/>
      <n x="4"/>
      <n x="11"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="2"/>
      <n x="4"/>
      <n x="11"/>
    </t>
  </mdx>
  <mdx n="0" f="v">
    <t c="4" ct="en-US">
      <n x="1"/>
      <n x="3"/>
      <n x="4"/>
      <n x="6"/>
    </t>
  </mdx>
  <mdx n="0" f="s">
    <ms ns="5" c="3" o="d">
      <n x="1"/>
      <n x="3"/>
      <n x="4"/>
    </ms>
  </mdx>
  <mdx n="0" f="c">
    <ms ns="5" c="3" o="d">
      <n x="1"/>
      <n x="3"/>
      <n x="4"/>
    </ms>
  </mdx>
</mdxMetadata>

Regarding mdxMetadata:

Regarding mdx, which is a particular MDX statement:

Regarding t, which is an MDX tuple:

is the count of member expressions in the MDX tuple.

Regarding n:

For example, cell C5 has a CUBEMEMBER function call expressing the result of “Internet Sales Amount of All Products for CY 2003”. In sheet1.xml, cell C5 has vm=“5”, which means it has an associated valueMetadata record whose index is “5”. Looking ahead into the valueMetadata records, the 5th (1- based) record points to the 4th (zero-based) mdx collection in mdxMetadata.

The 5th mdx collection:

<mdx n="0" f="m">
  <t c="3">
    <n x="1"/>
    <n x="2"/>
    <n x="4"/>
  </t>
</mdx>

Where <n

x="1"/> corresponds to the 1st position in the string store, namely
<s v="[Measures].[Internet Sales Amount]"/>

and where <n

x="2"/> corresponds to the 2nd position in the string store, namely
<s v="[Date].[Calendar].[Calendar Year].&amp;[2003]"/>

and where <n

x="4"/> corresponds to the 4th position in the string store, namely
<s v="[Product].[Product Categories].[All Products]"/>.

Therefore this data point in the cube is addressed by intersecting these three hierarchies, one in each dimension of the OLAP cube:

[Measures].[Internet Sales Amount] [Date].[Calendar].[Calendar Year].[2003] [Product].[Product Categories].[All Products]

Regarding ms:

ns is the index of the MDX set definition in the string store.
c is the number of sort-by member indicies, in this case 3 because the set is sorted by the
contents of D5, which happens to be a member defined by 3 coordinates in the cube.
o indicates the order of the sort; in this case, 'descending'.
n is the index indicating the MDX expressions in the string store used to identify the members
used to define the sort-by set.

This collection defines cell or value metadata information (depending on the value of metadataType’s cellMeta)

<valueMetadata count="26">
  <bk>
    <rc t="1" v="0"/>
  </bk>
  <bk>
    <rc t="1" v="1"/>
  </bk>
  <bk>
    <rc t="1" v="2"/>
  </bk>
  <bk>
    <rc t="1" v="3"/>
  </bk>
  <bk>
    <rc t="1" v="4"/>
  </bk>
  <bk>
    <rc t="1" v="5"/>
  </bk>
  <bk>
    <rc t="1" v="6"/>
  </bk>
  <bk>
    <rc t="1" v="7"/>
  </bk>
  <bk>
    <rc t="1" v="8"/>
  </bk>
  <bk>
    <rc t="1" v="9"/>
  </bk>
  <bk>
    <rc t="1" v="10"/>
  </bk>
  <bk>
    <rc t="1" v="11"/>
  </bk>
  <bk>
    <rc t="1" v="12"/>
  </bk>
  <bk>
    <rc t="1" v="13"/>
  </bk>
  <bk>
    <rc t="1" v="14"/>
  </bk>
  <bk>
    <rc t="1" v="15"/>
  </bk>
  <bk>
    <rc t="1" v="16"/>
  </bk>
  <bk>
    <rc t="1" v="17"/>
  </bk>
  <bk>
    <rc t="1" v="18"/>
  </bk>
  <bk>
    <rc t="1" v="19"/>
  </bk>
  <bk>
    <rc t="1" v="20"/>
  </bk>
  <bk>
    <rc t="1" v="21"/>
  </bk>
  <bk>
    <rc t="1" v="22"/>
  </bk>
  <bk>
    <rc t="1" v="23"/>
  </bk>
  <bk>
    <rc t="1" v="24"/>
  </bk>
  <bk>
    <rc t="1" v="25"/>
  </bk>
</valueMetadata>

Regarding valueMetadata:

count

indicates the number of metadata block records.

Regarding bk, which is a metadata block, and rc, which is a metadata record:

t
v

indicates the index of the metadataType record in metadataTypes collection. is the index of metadata record value in the storage corresponding to record type.

Looking at the first block using the bk element, the type of metadata with which this record is associated is the first (and only) metadataType record, which is of metadata type “XLMDX”. This indicates that the v index is pointing to the 0th mdxMetadata record.

Last updated on