Ssas 如何添加具有其他维度值的列?

Ssas 如何添加具有其他维度值的列?,ssas,mdx,mondrian,Ssas,Mdx,Mondrian,如果标题没有意义,我深表歉意。我正在尝试做一些可能很简单的事情,但我还没有弄明白,我不知道如何寻找答案。我有以下MDX查询: SELECT event_count ON 0, TOPCOUNT(name.children, 10, event_count) ON 1 FROM events 返回如下内容: | | event_count | +---------------+-------------+ | P Davis |

如果标题没有意义,我深表歉意。我正在尝试做一些可能很简单的事情,但我还没有弄明白,我不知道如何寻找答案。我有以下MDX查询:

SELECT
  event_count ON 0,
  TOPCOUNT(name.children, 10, event_count) ON 1
FROM
  events
返回如下内容:

|               | event_count |
+---------------+-------------+
| P Davis       |         123 |
| J Davis       |         123 |
| A Brown       |         120 |
| K Thompson    |         119 |
| R White       |         119 |
| M Wilson      |         118 |
| D Harris      |         118 |
| R Thompson    |         116 |
| Z Williams    |         115 |
| X Smith       |         114 |
我需要增加一列(
gender
)。性别不是衡量标准。这只是数据的另一个维度。例如,考虑这个查询:

SELECT
  gender.children ON 0,
  TOPCOUNT(name.children, 10, event_count) ON 1
FROM
  events
但这不是我想要的(

很好的尝试,但我只想要三列:
name
event\u count
,和
gender
。这有多难


显然,这反映了我对MDX的理解不足。任何指向高质量介绍材料的指针都将不胜感激。

重要的是要理解,在MDX中,您是在每个轴上构建成员集,而不是像表格行集那样指定列名。您是在描述结果的二维网格,而不是linear行集。如果将每个维度想象为一个表,则成员集是该表中单个列的唯一值集

当您选择一个度量值作为成员(如第一个示例中所示)时,看起来好像您是从表中选择的,因此很容易被误解。当您选择维度时,您会得到许多成员以及行和列之间的交叉连接(在本例中,这是稀疏的,因为名称和性别是1对1)

因此,您可以在一个轴上交叉连接这两个维度,然后过滤掉空单元格:

SELECT
  event_count ON 0,
  TOPCOUNT(
    NonEmptyCrossJoin(name.children, gender.children), 
    10, 
    event_count) ON 1
FROM
  events
这将为您提供一列(event_count)和10行的结果,其中每行由元组(name,gender)组成

我希望这会让你走上正确的道路,请随时询问你想要我澄清的问题

对于一般介绍材料,我认为《MDX解决方案》一书是一个很好的起点:
重要的是要理解,在MDX中,您是在每个轴上构建成员集,而不是像表格行集那样指定列名。您是在描述结果的二维网格,而不是线性行集。如果您将每个维度想象为一个表,则成员集是该表中单个列的唯一值集

当您选择一个度量值作为成员(如第一个示例中所示)时,看起来好像您是从表中选择的,因此很容易被误解。当您选择维度时,您会得到许多成员以及行和列之间的交叉连接(在本例中,这是稀疏的,因为名称和性别是1对1)

因此,您可以在一个轴上交叉连接这两个维度,然后过滤掉空单元格:

SELECT
  event_count ON 0,
  TOPCOUNT(
    NonEmptyCrossJoin(name.children, gender.children), 
    10, 
    event_count) ON 1
FROM
  events
这将为您提供一列(event_count)和10行的结果,其中每行由元组(name,gender)组成

我希望这会让你走上正确的道路,请随时询问你想要我澄清的问题

对于一般介绍材料,我认为《MDX解决方案》一书是一个很好的起点:

对于在线MDX介绍性材料,您可以查看此介绍主要MDX概念的内容。

对于在线MDX介绍性材料,您可以查看此介绍主要MDX概念的内容