SSRS有条件地从表中删除行

时间:2013-10-04 17:41:49

标签: visual-studio-2010 reporting-services properties rows ssrs-tablix

enter image description here


Preview Mode as is now


我是SSRS的新手,需要让我的项目工作(工作而不是学校)

我已经实现了要隐藏在表达式

上的数据
=IIF(Fields!Offset1.Value = "",true,false)

问题是它留下了空白区域,这些值将出现在我的报告中。我也需要空间消失。任何帮助都会非常感激!!

编辑:忘记提及我从MS Access DB获取数据(如果这很重要)

2 个答案:

答案 0 :(得分:6)

经过多次努力,并以不同的方式思考它。 @django让我觉得可见性不是隐藏属性。我右键单击行标题选项卡,然后单击Row Visability ...选项。这将打开“更改显示选项”对话框。我根据表达式选择了显示或隐藏,然后使用fx按钮构建表达式。我使用的表达是

=IIF(ISNOTHING(Fields!Offset1.value),true,false)

点击确定

Ran预览,这就是我得到的结果: Finished Product!!

答案 1 :(得分:1)

这听起来更像是你需要一个能见度'在分组而不是隐藏的表达式上,您可以使用ISNOTHING()代替=""。我相信(不确定不引用我;))SSRS评估隐藏只隐藏值而不是对象容器本身(行)。你可能会更好地与你的团队或细节'小组对“可见性”进行评估。而不是你使用的元素。让我们举一个非常简单的例子来说明这个概念:

  1. 在新报告中创建简单数据集。 DataSource无关紧要,因为这只是一个自包含的表变量。

    declare @Temp table ( Code char(1), Value int)
    insert into @Temp values ('A', 1), ('B', 2), ('A',null);
    
    select * from @Temp
    
  2. 从工具箱中创建一个表格,并使用您设置的数据填充这两列。

  3. 将此表格右下方复制并粘贴到报告中。

  4. 现在,对于第二个报告,请点击其中的任意位置,但在左下角,您会看到'行组'在'设计'商业智能开发工作室(或者如果您正在使用它的网络创建者)的视图。右键点击' =(详情1)' (或类似)并选择' Group Properties。

  5. 现在选择' Visibilty'在左侧窗格上。这与整个分组有关,而不仅仅与元素中的单元格有关。击中' Fx'在'基于表达式显示或隐藏'。

  6. 输入表达式:

    =IIF( ISNOTHING(Fields!Value.Value)  , true, false)
    
  7. 预览报告。你应该看到第一个表有三行而第二个表是IGNORES第三行,因为它没有资格评估整个分组是否意味着'不显示'