运行SSRS2012。我们使用多维数据集进行报告,因此无法更改MDX /查询代码。
我有一个来自客户端多维数据集的简单查询: Client.ClientID,Client.ClientName,Client.ClientAddress
我使用查询设计器将ClientID作为参数添加 SSRS自动:
这是预期的行为,报告按预期运行,提示我从列表中选择一个值。如果我这样做,它会返回我所追求的单个客户端的数据。
这是我的问题。
虽然它有效,但返回的值列表很长,因此很难使用。用户一次只能为一个客户端运行此报告,因此他们希望输入单个客户端ID并运行报告。
我已经尝试了我能想到的一切。
我最接近的是添加另一个参数@PreFilter并将其用作参数数据集的过滤器。
然而,对于用户来说这太可怕了。提示他们将客户端ID输入@PreFilter,然后他们必须等待一个年龄(因为参数数据集被过滤),然后他们从@ClientClientID参数提示中选择完全相同的客户端ID。
我甚至将@ClientClientID的默认值指定为@PreFilter,但仍然会提示他们选择一个值。
必须有更好的方法!
答案 0 :(得分:0)
听起来像数据建模问题。 ClientId in参数可能直接来自事实表,而不是来自Client维。如果数据被正确建模,例如星型模式具有单独的事实和维度,检索客户端数据应该更快。
答案 1 :(得分:0)
最后 - 一个更好的方式。