【问题标题】:SSRS report pdf export show column value 0SSRS 报告 pdf 导出显示列值 0
【发布时间】:2015-11-12 18:40:57
【问题描述】:

我在表格中有一个单元格,其值来自一种方法,该方法以字符串类型写入报告属性的代码部分。

在报告查看器中,它显示了正确的值,但是当我尝试将其导出为 PDF 时,该列显示零代替值,但在 excel 和其他导出中,值导出成功

Public total as Decimal=0

Public function CalculateTotalForMaxMarks(m as Decimal) 
    total =total +m
end function   

Public function CalculateTotal() as String 
    return total
end function   

我希望我的输出看起来像这样

Value1    Value2   Value3    Total
100       200      200       500

【问题讨论】:

  • 您能分享一下您希望运行的当前表达式/代码吗?也许也是代码运行的基础数据的一个例子
  • Public totalmarks1 as Decimal=0 Public function CalculateTotal(m as Decimal) totalmarks1 =totalmarks1 +m end function Public function Sumvalue() as String return totalmarks1 end function
  • 谢谢,这些叫什么名字?我假设您在单元格中有一个表达式。这看起来像什么?
  • =Code.CalculateTotal()
  • 好吧,如果你所做的只是调用CalculateTotal,那么计数器就不会被调用,所以值将保持在 0

标签: reporting-services ssrs-2008-r2


【解决方案1】:

如果您想跨列求和,是否有理由不简单地创建一个表达式来对值求和?基于价值观

Value1    Value2   Value3    Total
100       200      200       500
123       456      789       1368

你可以在total下执行表达式为

=Fields!Value1.Value+Fields!Value2.Value+Fields!Value3.Value

给予

编辑

要显示总计最大值列,您可以在表格底部添加一个新行,并在总计下插入表达式

=MAX(Fields!Value1.Value+Fields!Value2.Value+Fields!Value3.Value)

您可以将此文本框重命名为特定名称,在本例中为 txtTotalSum。然后,您可以在表中添加一个名为 Max Total 的新列,并将其表达式设置为引用您的 txtMaxSum 值

=ReportItems!txtMaxSum.Value

最后不显示计算最大总和的底行,您可以隐藏该行(在下面的蓝色示例中)

设计将如下所示

这样的输出

【讨论】:

  • Value1,Value2,Value3 和 Value4 不固定,可能还会出现更多。
  • 如果您返回的列数是灵活的,那么您不应该以这种方式返回数据,因为维护起来会糟糕。最佳做法是返回具有 at Column Id 的每一行并将其放入矩阵而不是表中。
  • 如果我使用矩阵,任何解决方案?
  • 您能否编辑返回数据的查询?
  • 是的,我可以更改查询
猜你喜欢
  • 2022-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多