2013-09-30 66 views
14

我有一个报告(BIDS SSRS 2008 R2),它有一个参数,允许用户从列表中选择多个值(可以说)。参数的默认值在SSRS 2008 R2中不起作用

但是,我想要,因为列表很长(15个左右的可能值)已经默认选择了最常用的2个值。

我在参数属性>>默认值对话框中配置,当我以预览模式运行报表时,它的工作原理就是检查默认值。

但是,当我部署它并使用IE9(或Chrome)运行它时,它不起作用。

任何想法?

回答

19

我想你的构建是不好的,你正在部署,并没有从你所做的更改或它不覆盖值的更新。你可以做一些事情来确保默认参数值在那里。

  1. 转到服务器上发布的报告,然后单击右侧的下拉箭头并选择'管理'。现在选择左侧窗格中的“参数”。在“有默认值”栏(从2008R2及更高版本左起第3位)下,应该进行检查。然后,在“默认值”下,它可以是特定的显式输入,也可以是“基于查询”,意味着它从数据集或类似的方式获取其值。如果这与你的价值不同,你会期望并且是明确的,你可以在这里改变它。

  2. 如果是基于查询并且您观察到您的数据无法在这里更改,我会去BIDS并在解决方案下打开SSRS项目并选择“在Windows资源管理器中打开文件夹”。找到您的报告的数据文件并将其删除。请注意,这不是报告本身,而是一个类似于“report.rdl.data”的文件。这不是最有可能影响构建的步骤,而仅仅是预览,但是我们希望在完全重建之后看到预览。转到您的报告项目,然后选择“清理”,然后选择“重建”,以确保除了您明确执行的操作之外,还要删除箱中的所有数据文件。现在重建将从指令中构建所有文件。现在点击您的报告中的预览,验证它是否与预期一致。再次发布并观察。

  3. 如果这仍然没有改变报告,我猜测更新没有采取。我会将服务器上的报告重新命名为“report_old”,并尝试重新发布。

  4. 如果仍然没有,我会检查我们想要的发布位置是否有效,并且我们正确部署,并且任何参数都没有从共享数据集中获取未设置为“不覆盖”或奇怪的数据由于配置设置导致发布停止的边缘情况。

SSRS已与我的文件源控制之下的问题,然后不想自己更新参数系统过去我奇怪的问题。通常,这是通过重建来解决的,但有时它需要发布一个新的二进制文件。

+2

您的第一个选项照顾到了这个问题。谢谢! – Amarundo

1

今天我有同样的确切问题。我有两份有关SSRS 2008 R2(共享点集成)的报告,当我设置一个参数以使其具有默认值时,无论我尝试了什么,该更改都不会发生。它在BIDS(VS 2012)中运行良好。我甚至更新了一个标签以确认我的更改正在上传到服务器。我终于不得不从服务器上删除报告,并在默认值工作之前重新上传它们。

3

我看到了同样的事情,这个星期,它原来是因为有我多值参数的“默认列表”值是有时没有在数据选择 - 在我的情况下,默认列表中的值在我可能选择的某些日期无效。

这里就是抓住了我:SSRS允许在开发预览默认列表中的无效值,但不允许他们在生产中。

在我的示例中,报表正在Report Builder中开发。当我在报表生成器中对报表执行“运行”(预览)时,按照设计,默认列表值的列表参数的复选框被选中。但是当我保存报告并以用户身份运行它时(从Reporting Services浏览器页面运行报告),​​则没有选择任何值 - 没有默认值。

然后,要解决这个问题,我把所有的选择标准到这一点,并把它们应用到默认列表 - 确保“默认值”只有“可用值”中包含的价值观 - 那么默认在Report Builder开发和SSRS生产中都选择了值。

的例子:假设我选择查询“可选值”是:

SELECT Type 
FROM MyTable 
WHERE Date <= @BEG_DATE 
    AND Date >= @END_DATE 

,并假设,利用2013年1月1日和12/31/2013为日期,即上述回报“A” ,'B','C','X','Y','Z'作为值列表,供用户选择(作为复选框呈现)。

现在,假设我的“默认值”选择查询是:

SELECT Type 
FROM MyTable 
WHERE Type IN ('A','B','G','H') 

本例中的问题是,对于日期2013年1月1日和12/31/2013,默认值“G”和“H”不是有效值。

本例中的解决将是添加到“WHERE子句中的“默认值”的查询。它变为:

SELECT Type 
FROM MyTable 
WHERE Type IN ('A','B','G','H') 
    AND Date <= @BEG_DATE 
    AND Date >= @END_DATE 

现在,当这个默认值运行查询的日期2013年1月1日和12/31/2013,在“G”和“H”砸出来的默认值,并留下只有“A”和“B”作为默认值。可以选择“A”和“B”,因为它们都在参数的可用值中。因此,默认多值参数现在可以工作,BOTH正在开发中,并在保存报告(部署之后,发布之后)以及从浏览器运行之后保存。

1

我有一个类似的问题,但违约甚至没有填充在预览模式。

问题是代码的一个被从我默认值加载查询是不存在于可用值查询

例如,代码2000是在默认值查询但不是在可用值查询

结果:没有默认值的选择

一旦我修复了我的人口查询,我所有的默认值都被选中了。

去图。

0

我今天也遇到过同样的问题。 (23rd June 2016)

原因:一旦我们上传/部署报表服务器上的同一份报告,那么参数的默认值和默认某些属性在报表服务器级别控制。

解决方案:如果重新部署像reportsync任何效用相同的报告中,您必须确保您先删除所有这些报道/单报告默认值生效,然后做同步操作。

注:执行此操作之前使用您使用相同的工具采取一切SSRS报告的备份。因为有时您的操作可能由于超时错误或某些服务器问题而失败。

替代的解决方案:如果你有报道非常少,你不想删除,然后这些报告手动将参数选项卡更改默认值,并勾选Has Default。而已。

希望这将有助于所有SSRS开发者。