Ssas Axis0函数要求参数使用元组集表达式

Ssas Axis0函数要求参数使用元组集表达式,ssas,mdx,olap,ssas-2012,Ssas,Mdx,Olap,Ssas 2012,我只想把三月份的销售额清点一下。我得到了这个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 colum

我只想把三月份的销售额清点一下。我得到了这个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
中的定义:

语法:

DistinctCount(Set\u表达式)

当您使用度量作为参数时,您就是这样做的:

DistinctCount(Numeric_Expression)
类似于以下内容的内容有望正常运行:

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]
);
要返回当月的发票数量,请尝试以下操作:

WITH 
  SET [mySet] AS 
    {[Calendar].[Month].[March 2015]}  * {[Measures].[Sales #]} 
  MEMBER [Measures].[setDistCount] AS 
    DistinctCount([mySet]) 
SELECT 
  {
    [Measures].[setDistCount]
  } ON 0
FROM [F1_SalesBI];
如果以上返回1,则尝试通过以下脚本检查集合:

SELECT 
  {} on 0,
  {[Calendar].[Month].[March 2015]}  * {[Measures].[Sales #]}  ON 0
FROM [F1_SalesBI];
这是否只返回1个成员

这个怎么样(量具周围没有大括号)?:


嗨,谢谢。这将返回[Sales#]的总和。销售#是指发票号,我不想对不需要的发票号求和。我要数一数有多少张发票!请帮忙!您好-我没有使用过
sum
函数。您能告诉我您的多维数据集中的另一个度量值吗?数量、净销售额、GP、GP%、COGS、COGS%、销售额是我多维数据集中的度量值。我需要知道我们在特定月份生成了多少发票(计数)?这只返回1:-(你检查过电视机了吗?
SELECT 
  {} on 0,
  {[Calendar].[Month].[March 2015]}  * [Measures].[Sales #]  ON 0
FROM [F1_SalesBI];