【问题标题】:SSRS : How to use average function of mdx query using parametersSSRS:如何使用参数使用 mdx 查询的平均功能
【发布时间】:2017-10-31 06:40:36
【问题描述】:

这里是我的 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] 的平均值,但我不知道如何从 [Measures] 中获取 AVERAGE 值].[价格] 有 3 个参数。有人可以帮助我吗?我是 Mdx 查询的新手。

【问题讨论】:

  • 您已经在行中包含了[Dim Date].[Year].[Year].ALLMEMBERS - 所以平均值将与[Measures].[Price] 相同
  • @whytheq 我不明白你的意思,你能解释更多细节吗?谢谢。

标签: reporting-services ssas mdx olap-cube


【解决方案1】:

这是一个你可以在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 子句创建的附加列为我们提供了所有年份的平均值。

【讨论】:

  • 我很困惑如何在报告服务中获得基于三个参数的平均值,我已经使用另一个数据集获得了参数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多