Reporting services SSRS:如何使用mdx查询的参数平均函数

Reporting services SSRS:如何使用mdx查询的参数平均函数,reporting-services,ssas,mdx,olap-cube,Reporting Services,Ssas,Mdx,Olap Cube,这里是我的MDX查询: SELECT NON EMPTY {[Measures].[Price]} ON COLUMNS ,NON EMPTY { [Dim Date].[Date Key].[Date Key].ALLMEMBERS* [Dim Date].[Year].[Year].ALLMEMBERS* [Dim Instrument].[Instrument Code].[Instrument Code].ALL

这里是我的MDX查询:

SELECT 
  NON EMPTY 
    {[Measures].[Price]} ON COLUMNS
 ,NON EMPTY 
    {
        [Dim Date].[Date Key].[Date Key].ALLMEMBERS*
        [Dim Date].[Year].[Year].ALLMEMBERS*
        [Dim Instrument].[Instrument Code].[Instrument Code].ALLMEMBERS*
        [Dim TP Folio].[P Folio Code].[P Folio Code].ALLMEMBERS*
        [Dim Market Price].[Date].[Date].ALLMEMBERS
    }
  DIMENSION PROPERTIES 
    MEMBER_CAPTION
   ,MEMBER_VALUE
   ,MEMBER_UNIQUE_NAME
   ON ROWS
FROM 
(
  SELECT 
    StrToSet
    (@DimTPFolioPFolioCode
     ,CONSTRAINED
    ) ON COLUMNS
  FROM 
  (
    SELECT 
      StrToSet
      (@DimInstrumentInstrumentCode
       ,CONSTRAINED
      ) ON COLUMNS
    FROM 
    (
      SELECT 
        StrToSet
        (@DimDateYear
         ,CONSTRAINED
        ) ON COLUMNS
      FROM [DSV_SIAPDW]
    )
  )
)
CELL PROPERTIES 
  VALUE
 ,BACK_COLOR
 ,FORE_COLOR
 ,FORMATTED_VALUE
 ,FORMAT_STRING
 ,FONT_NAME
 ,FONT_SIZE
 ,FONT_FLAGS;

我有3个参数@DimDateYear、@DimInstrumentInstrumentCode和@DimTPFolioPFolioCode,然后我想显示每年[Measures].[Price]的平均值,但我不知道如何使用3个参数从[Measures].[Price]获得平均值。有人能帮我吗?我是Mdx查询新手

下面是一个可以在
AdvWrks
中使用的示例:

WITH 
  MEMBER [Measures].avgOverAllYears AS 
    Avg
    (
      [Date].[Calendar].[Calendar Year].MEMBERS
     ,[Measures].[Amount]
    ) 
SELECT 
  {
    [Measures].[Amount]
   ,[Measures].avgOverAllYears
  } ON 0
 ,[Date].[Calendar].[Calendar Year] ON 1
FROM [Adventure Works];
上述结果如下:


您可以看到,我使用WITH子句创建的附加列为我们提供了多年来的平均值。

下面是一个可以在
AdvWrks
中使用的示例:

WITH 
  MEMBER [Measures].avgOverAllYears AS 
    Avg
    (
      [Date].[Calendar].[Calendar Year].MEMBERS
     ,[Measures].[Amount]
    ) 
SELECT 
  {
    [Measures].[Amount]
   ,[Measures].avgOverAllYears
  } ON 0
 ,[Date].[Calendar].[Calendar Year] ON 1
FROM [Adventure Works];
上述结果如下:


您可以看到,我使用WITH子句创建的附加列为我们提供了所有年份的平均值。

您已经将
[Dim Date].[Year].[Year].[Year]包括在内。所有成员都在您的行中
因此平均值将与
[Measures].[Price].
@为什么我不明白您的意思,你能详细解释一下吗?thanx.您已经在您的行中包含了
[Dim Date].[Year].[Year].[Year].[Year].所有成员
-因此平均值将与
[Measures].[Price].
@为什么我不明白您的意思,您能解释更多细节吗?thanx.我不知道如何在reporting services中获取基于平均值的三个参数,我使用其他数据集获取参数我不知道如何在reporting services中获取基于平均值的三个参数,我使用其他数据集获取参数