【问题标题】:Report Builder not showing IIF result报表生成器不显示 IIF 结果
【发布时间】:2017-04-14 18:22:09
【问题描述】:

我正在尝试修改报表生成器报表 (Visual Studio 2013),但它没有显示四个表达式。以下字段是这样编码的,效果很好!

=First(Microsoft.VisualBasic.Interaction.IIF(Fields!ISPASS.Value = "Y", "YES", "NO"), "DataSet1")

但是,我有 4 个其他字段以完全相同的方式编码,但具有不同的字段值,如下所示:

=First(Microsoft.VisualBasic.Interaction.IIF(Fields!ISSUCCESSFUL.Value = "Y", "YES", "NO"), "DataSet1")

不显示“YES”或“NO”。在这个特定领域,我为它提供了一个“N”。这是 PASS 表达式效果很好的 RB 片段:

这是我的这份报告中的 PDF 的一部分:

以下是我遇到问题的那些字段的数据(不用担心 EXCEPTIONAL 上的拼写错误,它到处都是拼写错误,这不是问题):

这是用于填充 XSD 文件的 C# 代码:

if (result.Any()) {
  foreach (var item in result) {
    dtResult.Rows.Add(new object[] {
      item.FULLNAME.ToUpper(), item.STORENUM, item.SSID, item.EVALDATE,
      item.EVALYEAR, item.ISEXEPTIONAL, item.ISHIGHSUCCESS,
      item.ISSUCCESSFUL, item.ISUNSUCCESS, item.ISPASS, 
      item.JUSTIFICATION, item.OVERALPERFORMANCE,item.SUPERCOMMENT,
      item.curManager.ToUpper(), item.empType, item.questionNo,
      item.questionDescript, item.questionShortTitle, item.questionPass,
      item.questionComment
    });
  } 
}

这是我的 XSD 布局:

我知道要找出问题所在并不容易,但是查看我提供给报告的数据看起来还不错。如果没有人有任何想法,那么我想我将不得不在 Crystal Reports 中重写这个东西并从那里开始(??)。

【问题讨论】:

  • 作为一个消除过程,您是否尝试过仅转储字段值而不是使用表达式,以确保传递给报告的数据与您期望的完全一致?
  • 我尝试了以下类似的方法,这是您的意思吗? =First(Fields!ISEXEPTIONAL.Value, "DataSet1")
  • 这就是我的意思。你得到了预期的“n”还是“y”?
  • 不,只是空白。
  • 所以看起来问题出在您的数据集上。尝试创建一个表格并添加数据集中的所有字段,只需将它们拖到表格上即可。然后,您应该能够准确地看到来自 dataest 的内容。

标签: c# reporting-services reportbuilder3.0 ssrs-expression


【解决方案1】:

作为一个消除过程,您是否尝试过仅转储字段值而不是使用表达式,以确保传递给报告的数据与您期望的完全一样?

看起来问题出在您的数据集上。尝试创建一个表格并添加数据集中的所有字段,只需将它们拖到表格上即可。然后,您应该能够准确地看到来自 dataest 的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多