【问题标题】:Report Designer Select appropriate value报表设计器 选择适当的值
【发布时间】:2011-03-06 21:55:20
【问题描述】:

我正在使用 Visual Studio 创建报告。我在将适当的值放入文本字​​段时遇到问题。

我有一个包含这些值的数据集:
InfoPathForms 工作流
AvgProcessTime_Sum
AvgProcessTime_Count

此数据集将只有 1 或 2 个值。它由 InfoPath 表单填充(DataSet 中的值都是准确且有效的)。

InfoPathFormsWorkflow 是“关闭”或“打开”。我目前有 2 个带有这些表达式的文本字段:

=IIF(Fields!InfoPathFormsWorkflow.Value = "Closed",Fields!AvgProcessTime_Sum.Value / Fields!AvgProcessTime_Count.Value,"No Value")

=IIF(Fields!InfoPathFormsWorkflow.Value = "Open",Fields!AvgProcessTime_Sum.Value / Fields!AvgProcessTime_Count.Value,"No Value")

当数据集只有 1 个值(“打开”或“关闭”)时,该文本字段将正确显示,但当数据集有 2 个值(“关闭”和“打开”条目)时,则只有第一个一个将正确显示,第二个将显示“无值”。因此,如果第一行有 InfoPathFormsWorkflow.value = "Close" 那么它将起作用,但 "Open" 不会。反之亦然。

选择正确的行条目有技巧吗?我已经阅读了一些关于使用参数的信息,但我似乎无法理解它是如何工作的。任何帮助都会很棒!这是在另一名工人在这里花费 80 小时后交给我的。

【问题讨论】:

    标签: visual-studio reporting-services dataset reporting


    【解决方案1】:

    这些是 Tablix 内部还是外部的 TextField?

    如果他们在外面,我认为似乎是这样(虽然我觉得那个表达式根本不应该起作用,所以也许我错了......),这有点笨拙,但仍然完全有可能(假设您只有这两行):

    对于封闭的文本字段:

    =IIF(First(Fields!InfoPathFormsWorkflow.Value, "YourDataSetName") = "Closed", 
         First(Fields!AvgProcessTime_Sum.Value, "YourDataSetName") / 
           First(Fields!AvgProcessTime_Count.Value, "YourDataSetName"),
         IIF(Last(Fields!InfoPathFormsWorkflow.Value, "YourDataSetName") = "Closed",
             Last(Fields!AvgProcessTime_Sum.Value, "YourDataSetName") /
               Last(Fields!AvgProcessTime_Count.Value, "YourDataSetName")
             "No Value"
         )
    )
    

    同样适用于 Open TextField:

    =IIF(First(Fields!InfoPathFormsWorkflow.Value, "YourDataSetName") = "Open", 
         First(Fields!AvgProcessTime_Sum.Value, "YourDataSetName") / 
           First(Fields!AvgProcessTime_Count.Value, "YourDataSetName"),
         IIF(Last(Fields!InfoPathFormsWorkflow.Value, "YourDataSetName") = "Open",
             Last(Fields!AvgProcessTime_Sum.Value, "YourDataSetName") /
               Last(Fields!AvgProcessTime_Count.Value, "YourDataSetName")
             "No Value"
         )
    )
    

    如果您想要不同的东西,请告诉我。 Report Services 有时对于让事情变得简单有些固执,但大多数事情最终都可以通过正确(冗长)的表达方式达到预期的效果。

    【讨论】:

    • 嗯,这本来可以完美地工作,但结果是有多个页面。我事先没有注意到这一点。这意味着总共有超过 2 行,但不是每页。所以我只是取出了 First 和 Lasts 的 Scope 参数,以便在分组/排序后从 dataSet 中提取它。这似乎工作得很好!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多