筛选器/报表生成器 2008 R2

Filter / Report Builder 2008 R2

我有一个异常情况需要报告。如果成本中心是 A480 或 A485,我只想显示多个帐户(170、171、200、380)的行。应显示所有成本中心的所有其他帐户。如果上述科目之一出现在任何其他成本中心,则不应在报告中显示。

我想我可能需要像“='A480' 或 'A485' 这样的表达式来表示值字段(使用 IN),但我不确定表达式字段应该是什么样子。我正在 Report Builder 中完成所有这些工作。

我的报告returns 多个成本中心的多个帐户的数据。例如:帐号:123 / 125 / 130 / 140 / 145 / 170 / 171 / 200 / 380

我希望报表只显示成本中心 A480 和 A485 的帐户 170 / 171 / 200 / 380。

示例结果:

Cost Center A400: 123 / 125 / 130 / 140 / 145 
Cost Center A440: 123 / 125 / 130 / 140 / 145 
Cost Center A480: 123 / 125 / 130 / 140 / 145 / 170 / 171 / 200 / 380
Cost Center A485: 123 / 125 / 130 / 140 / 145 / 170 / 171 / 200 / 380
Cost Center A500: 123 / 125 / 130 / 140 / 145 

仅当成本中心为 A480 或 A485 时,才应显示帐户 170 / 171 / 200 / 380。该报表有成本中心的提示。其他一些成本中心将有帐户 170 / 171 / 200 / 380 的结果,但用户不希望在 A480 或 A485 以外的任何成本中心看到这些帐户。

感谢您的帮助.......

对于比您描述的简单过滤器更复杂的场景,您需要实现一个表达式来涵盖涉及某些嵌套 IIFS 的所有情况。

例如:

=IIF(
    Fields!CostCenter.Value = "A480" or Fields!CostCenter.Value = "A485", 
    1, 
    IIF(
        Fields!Account.Value = "170" or Fields!Account.Value = "171" or Fields!Account.Value = "200" or Fields!Account.Value = "300", 
        0, 
        1))

第一个 IIF 涵盖了 A480 和 A485 的特殊情况,允许具有 any 帐号的每一行都为真。第二个 IIF(对于所有其他成本中心)returns 排除的帐号为 0。现在你只需要在报告上设置一个简单的过滤器(在 table 或数据集上)只保留这个表达式 returns 1 for.

的行