Axis0 函数需要参数的元组集表达式

The Axis0 function expects a tuple set expression for the argument

我只想获取 3 月份的发票的不同销售额。我得到了这个 MDX 查询。

我的 MDX 查询:

select 
distinctcount([Measures].[Sales #]) on columns,
--[Measures].[Sales #] on columns,
non empty ([Customer].[Store Group].[Store Group]) on rows
from
(
select 
{
    [Calendar].[Month].[March 2015]
}
ON columns
from [F1_SalesBI])

但是每当我尝试执行此操作时,我都会收到以下错误。

Executing the query ...
The Axis0 function expects a tuple set expression for the  argument. A string or numeric expression was used.
Execution complete

这里是来自 msdn 的定义: https://msdn.microsoft.com/en-us/library/ms145519.aspx

语法:

DistinctCount(Set_Expression)

当您使用 Measures 作为参数时,您正在这样做:

DistinctCount(Numeric_Expression)

像下面这样的东西应该 运行 ok:

WITH 
  SET [mySet] AS 
    [Customer].[Store Group].[Store Group] * {[Measures].[Sales #]} 
  MEMBER [Measures].[setDistCount] AS 
    DistinctCount([mySet]) 
SELECT 
  {
    [Measures].[setDistCount]
   ,[Measures].[Sales #]
  } ON 0
 ,NON EMPTY 
    [Customer].[Store Group].[Store Group] ON 1
FROM 
(
  SELECT 
    {[Calendar].[Month].[March 2015]} ON 0
  FROM [F1_SalesBI]
);

为了 return 这个月的发票数量尝试以下操作:

WITH 
  SET [mySet] AS 
    {[Calendar].[Month].[March 2015]}  * {[Measures].[Sales #]} 
  MEMBER [Measures].[setDistCount] AS 
    DistinctCount([mySet]) 
SELECT 
  {
    [Measures].[setDistCount]
  } ON 0
FROM [F1_SalesBI];

如果上述 returns 1 然后尝试通过此脚本检查集合:

SELECT 
  {} on 0,
  {[Calendar].[Month].[March 2015]}  * {[Measures].[Sales #]}  ON 0
FROM [F1_SalesBI];

这只是 return 1 位成员吗?

这个怎么样(没有围绕度量的大括号)?:

SELECT 
  {} on 0,
  {[Calendar].[Month].[March 2015]}  * [Measures].[Sales #]  ON 0
FROM [F1_SalesBI];