Reporting services 按数值筛选出维度

Reporting services 按数值筛选出维度,reporting-services,mdx,ssas-tabular,Reporting Services,Mdx,Ssas Tabular,我有一个SSAS表格多维数据集,其中一个表有一个十进制price字段。该多维数据集用作构建SSRS报告的数据源。在其中一份报告中,我只需要对价格高于作为参数给出的值的事实进行一些计算。这些参数是通过在查询设计器中拖放创建的。但我不需要搜索具有确切价格的记录,我只需要设置价格的上限 因此,我开始寻找与MDX相关的信息,以手动修改查询设计器中内置的MDX查询。似乎我应该使用Filter()函数并将参数值传递到其逻辑表达式中。在网络中有很多使用度量的逻辑表达式示例。但当我尝试在逻辑表达式中使用维度成员

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

因此,我开始寻找与MDX相关的信息,以手动修改查询设计器中内置的MDX查询。似乎我应该使用
Filter()
函数并将参数值传递到其逻辑表达式中。在网络中有很多使用度量的逻辑表达式示例。但当我尝试在逻辑表达式中使用维度成员时(我尝试了
Membervalues
Values
函数),我得到了不同的错误。我知道这个问题比使用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;

你能告诉我拖放后生成的基本mdx脚本吗?抱歉@whytheq误导了你和其他人。事实上,我只是将“price”字段放在过滤器窗格上,并将其作为参数进行检查。但实际上,我甚至没有测试它是否工作,因为我立即开始考虑如何使用查询设计器中内置的参数按其整数值过滤查询结果。我在上面写的所有后续实验都是在SSMSMDX查询编辑器中手工完成的,而不是SSRSDesigner。当您要求我构建一个基本的MDX脚本时,我试图通过将“价格”层次结构拖到过滤器窗格上,用一个度量值和一个参数构建一个非常简单的报告。查询现在看起来如下:
选择非空的{[Measures].[cfСааааазааа]]从(选择(标准集(@[Пжжжааааааааааааааааааааааааааааааа,[ПаааажааПаа][Пааа.现任成员]单元格属性值、背景色、前颜色、格式化值、格式字符串、字体名称、字体大小、字体标志
当然,我将参数从默认文本类型切换为整数,并将可用值和默认值设置为无。报告实际上不起作用,抛出错误,如:
查询(1109)STRTOSET函数中受约束标志施加的限制被违反。
我在SSMS中尝试了@Ala解决方案。但它似乎只适用于精确匹配的成员。在我的情况下,我需要将成员数值与参数1进行比较,并通过此逻辑比较过滤掉结果集。简单地说,我需要过滤掉所有t价格(成员值)小于参数值的事实记录(销售代表制作的实际价格监控记录)。