报表的公式字段,怎么算出一组数据的最大时间和最小时间,然后显示相应的数据

piaoyubohe 2011-04-13 11:22:49
报表如下图所示:
统计日期 科目名称 上期余额 本期余额 本期借方发生数 本期借方发生额

11/02/2010 紫色 12 8 1 4

12/02/2010 灰色 6 9 1 3

03/02/2011 银色 8 17 2 10

02/01/2011 紫色 25 5 2 14
总计 ? 6 31
-----------------------------------------------------------------------------
我想在总计那里的上期余额 显示 这些数据中 最早时间(11/02/2010)的 上期余额(12)
在总计那里的本期余额 显示 这些数据中 最晚时间(03/02/2011)的 本期余额(17)


不知道哪位大侠知道啊? 求救啊。
这个字段公式该怎么写呢?

我试过在公式字段中写入“if {MasgetSubjectOfDayJournal.SumDate} =Maximum ({MasgetSubjectOfDayJournal.SumDate}) then
{MasgetSubjectOfDayJournal.PriorBalance}”
但是显示出来的是 .00

有知道的快来啊,着急等待中!!!
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
piaoyubohe 2011-04-13
  • 打赏
  • 举报
回复
onFirstRecord 只能显示0.00
OnLastRecord 可以显示最后一条的值

现在用了一个分组求和的方法把第一个值显示出来了。

谢谢了。
东莞寻香苑 2011-04-13
  • 打赏
  • 举报
回复
如果不行就按 humanity 说的,在头定义一个变量A
再定义一个公式 :A=Maximum ({MasgetSubjectOfDayJournal.SumDate})
最后显示变量A
东莞寻香苑 2011-04-13
  • 打赏
  • 举报
回复
我试过在公式字段中写入“if {MasgetSubjectOfDayJournal.SumDate} =Maximum ({MasgetSubjectOfDayJournal.SumDate}) then
{MasgetSubjectOfDayJournal.PriorBalance}”
但是显示出来的是 .00

为什么不试试,在那里直接写成Maximum ({MasgetSubjectOfDayJournal.SumDate})
humanity 2011-04-13
  • 打赏
  • 举报
回复
如果是水晶报表的话,可以在 group header 上放一个公式,用一个变量

shared stringvar 组内上期余额; 先不要赋值,只在第一行或组号变了才赋值。

if onFirstRecord or {Command.组号} <> previous({Command.组号}) then
组内上期余额 := {Command.上期余额};

同理在 group footer 上放一个公式,用一个 shared 变量

shared stringvar 组内本期余额; 先不要赋值,只在最后一行或组号变了才赋值。

if onLastRecord or {Command.组号} <> next({Command.组号}) then
组内本期余额 := {Command.上期余额};

要将 group footer 划分成至少两个 section。在 group footer上,这个公式应该放在要显示“统计数据”的那个 group footer 的前面,因为有依赖关系,确保计算次序是正确的。

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧