代码之家  ›  专栏  ›  技术社区  ›  piyush jain

需要MDX语句解释

  •  0
  • piyush jain  · 技术社区  · 8 年前

    请解释以下MDX声明-

    Axis(1).Item(0).Item (0).Dimension.Levels(0).item(0)
    

    如果可能,请共享输出(使用SSMS analysis services)

    1 回复  |  直到 8 年前
        1
  •  3
  •   jhenninger    8 年前

    轴(1)。项目(0)。项目(0)。维级别(0)。项目(0)

    了解这个表达式的含义的方法是从左到右遍历每个函数,并确定每个函数正在做什么和返回什么。让我们一次看一个函数。

    1. 轴(1)-检索行轴(索引1处的轴)上的元组集。

    2. 项(0)-从先前返回的集合中检索第一个元组。

    3. 项(0)-从先前返回的元组中检索第一个成员。

    4. 维度-从先前返回的成员中获取层次结构。

    5. 级别(0)-从先前返回的层次结构中检索第一个级别。

    6. 项(0)-从先前返回的层次结构级别检索第一个成员。

    以下是我用来创建上述列表的Microsoft函数定义。

    Axis()

    返回指定轴上的元组集。

    Item(Tuple)

    返回集合中的元组。

    Item(Member)

    返回指定元组中的成员。

    Dimension

    返回包含指定成员、级别或层次结构的层次结构。

    Levels()

    返回其在维度或层次结构中的位置由数值表达式指定或其名称由字符串表达式指定的级别。


    编辑-添加示例

    查看Adventure Works立方体中的地理维度和层次结构。

    Geography Dimension

    地理层次有5个级别。

    • [地理]。[地理]。[(全部)]
    • [地理]。[地理]。[国家]
    • [地理]。[地理]。[州省]
    • [地理]。[地理]。[城市]
    • [地理]。[地理]。[邮政编码]

    让我们在列轴上使用表达式(通过计算成员),并在行轴上选择城市亚历山大。

    WITH
        MEMBER [Measures].[SomeMember] AS AXIS(1).ITEM(0).ITEM(0).DIMENSION.LEVELS(0).ITEM(0).MEMBER_CAPTION
    SELECT 
        {([Measures].[SomeMember])} ON COLUMNS,
        {([Geography].[Geography].[City].&[Alexandria]&[NSW])} ON ROWS
    FROM 
        [Adventure Works]
    

    下面是正在发生的事情的分解:

    1. 轴(1)-从行轴返回集合:
      {([Geography].[Geography].[City].&[Alexandria]&[NSW])}

    2. 项(0)-返回集合的第一个元组:
      ([Geography].[Geography].[City].&[Alexandria]&[NSW])

    3. 项(0)-返回元组的第一个成员:
      [Geography].[Geography].[City].&[Alexandria]&[NSW]

    4. 维度-返回成员的维度层次结构:
      [Geography].[Geography]

    5. 级别(0)-返回层次结构的第一个级别:
      [Geography].[Geography].[(All)]

    6. 项(0)-返回级别的第一个成员:
      [Geography].[Geography].[(All)].[All Geographies]

    以下是查询结果:

    Query Results

    以下是一个屏幕截图,有助于可视化All Geographies成员相对于Alexandria成员的位置:

    All Member