创建计算度量值时发生MDX错误

创建计算度量值时发生MDX错误,mdx,Mdx,我试图创建一个计算度量值,通过使用以下mdx查询查找两个度量值之间的差异 WITH MEMBER [Measures].[Available] AS ([Measures].[Capacity days] ,[Project].[Projects by Name].[All],[Project].[Projects by Code].[All]) - ([Measures].[Worked Days] ,EXCEPT([Project].[Projects by Name].[

我试图创建一个计算度量值,通过使用以下mdx查询查找两个度量值之间的差异

WITH MEMBER [Measures].[Available]
 AS  ([Measures].[Capacity days] ,[Project].[Projects by Name].[All],[Project].[Projects by Code].[All]) 
    -  ([Measures].[Worked Days]  ,EXCEPT([Project].[Projects by Name].[Project].MEMBERS,
[Project].[Projects by Name].[Project].&[1214]),[Version].[Version].[Combined],[Charge].[Charge].[All])
在第二个测量工作日的情况下,我希望访问除一个项目外的所有项目,因此我使用
except
函数,这会导致以下错误

“函数要求参数使用字符串或数值表达式。实际使用的是元组集表达式”


是否有其他方法执行此操作?

查询将元组与集合混合。也许您可以检查一下MDX的主要概念和符号

第二个元组使用集合(EXCEPT的结果)作为其第二个成员,这是不可能的。您可以使用以下函数计算此集合成员的[工作日]:

AS    ( [Measures].[Capacity days], ... ) 
   -  Aggregate(
         Except ( 
           [Project].[Projects by Name].[Project].MEMBERS,
           [Project].[Projects by Name].[Project].&[1214] 
         ),
         ( [Measures].[Worked Days], ... )
      )

感谢您的回复。由于工作日度量是计算的,因此聚合函数不适用于它。我厌倦了u的建议,但再次导致错误,指出“聚合函数不能用于度量维度中的计算成员”;如果Sum()与[Measures].[Worked Days]聚合类型一致,则可以改用Sum()。或者在不同的维度中创建一个计算成员(除了[Measures])。感谢它的工作。因为该度量值的聚合类型是sum,所以将聚合()更改为sum()完成了此工作。