按数值过滤尺寸

时间:2016-04-16 10:46:43

标签: reporting-services mdx ssas-tabular

我有一个带有小数price字段的表的SSAS表格多维数据集。该多维数据集用作构建SSRS报告的数据源。在其中一个报告中,我只需要对价格高于作为参数给出的值的事实进行一些计算。这些参数只是通过在Query Designer中拖放创建的。但我不需要搜索具有确切价格的记录,我只需要设置价格的上限。

因此,我开始寻找与MDX相关的信息来手动修改在Query Designer中构建的MDX查询。看起来我应该使用Filter()函数并将参数值传递给它的逻辑表达式。网络中有很多例子,其中包含使用度量的逻辑表达式。但是当我尝试在逻辑表达式中使用维度成员时(我尝试了MembervaluesValues函数),我得到了不同的错误。我知道这个问题比使用T-SQL要棘手得多。

但是如何解决呢? 是否可以按数值过滤维度表?

脚本如下:

SELECT 
  NON EMPTY 
    {
      [Measures].[# состоявшихся аптечных визитов (с препаратами)]
    } ON COLUMNS
FROM 
(
  SELECT 
    StrToSet
    (@[ПродажиаптекЦена]
     ,CONSTRAINED
    ) ON COLUMNS
  FROM [Аптечные визиты]
)
WHERE 
  IIF
  (
    StrToSet(@[ПродажиаптекЦена],CONSTRAINED).Count = 1
   ,StrToSet
    (@[ПродажиаптекЦена]
     ,CONSTRAINED
    )
   ,[Продажи аптек].[Цена].CurrentMember
  )
CELL PROPERTIES 
  Value
 ,BACK_COLOR
 ,FORE_COLOR
 ,FORMATTED_VALUE
 ,FORMAT_STRING
 ,FONT_NAME
 ,FONT_SIZE
 ,FONT_FLAGS;

0 个答案:

没有答案