- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要使用 perl + Template Toookit 和 LaTeX 生成业务报告。
一切正常,但每当字段发生变化时,我都会遇到中断(例如分页符或特殊标题)和小计的问题。
因此,例如,每次“类别”字段发生变化时,我都需要该类别的总销售额,以及显示另一个类别列表正在开始的标题;然后在字段“组”时执行相同的操作 - 增加了“组”由类别组成的兴趣,因此这两件事应该嵌套。
我想任何使用 Microsoft Access(或可能任何其他业务报告应用程序)构建报告的人都应该熟悉这个问题。
理想情况下,这将在元级别解决,因此我不必每次都重新构建代码,而只需指定哪些字段应生成分割或小计。
我(自愿)受制于 LaTeX 和 TT:LaTeX 因为它可以控制排版,并且可以生成自定义图形,而 TT(或任何其他在 perl 中工作的东西)因为学习曲线。
最佳答案
TT 中没有内置的小计功能,但您可以将数据放入 Data::Table
中对象,这将使您能够像您所说的那样在“元”级别处理小计。
不过,根据涉及的列数,创建本地散列以维护运行总计可能同样简单:注意:未经测试,仅示例代码
[%-
MACRO printrow(rowtype, line) BLOCK;
# however you print the row as LaTeX
# rowtype is 'row', 'subtotal' or 'grandtotal' for formatting purposes
END;
SET sumcols = [ 'col3', 'col4', 'col5' ]; # cols to be accumulated
SET s_tot = {}; SET g_tot = {};
FOREACH i IN sumcols;
SET s_tot.$i = 0; # initialise
SET g_tot.$i = 0;
END;
FOREACH row IN data;
IF s_tot.col2 AND s_tot.col2 <> row.col2; # start of new group
printrow('subtotal', s_tot);
FOREACH i IN sumcols;
SET s_tot.$i = 0; #re-init
END;
END;
printrow('row', row);
SET s_tot.col2 = row.col2; # keep track of group level
FOREACH i IN sumcols;
SET s_tot.$i = s_tot.$i + row.$i;
SET g_tot.$i = g_tot.$i + row.$i;
END;
END;
printrow('grandtotal', g_tot);
-%]
当然,如果您有多个分组级别,这可能会变得非常困惑。您可以使 s_tot
成为一个哈希数组来管理每个级别,以避免对级别进行硬编码。正如他们所说,这留给读者作为练习。
关于perl - 如何在报告中进行拆分和小计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21774587/
源 XML: A 10 A 10 B 10
我有一个如下所示的 Excel 电子表格(我将所有 secret 信息设为白色字体,因此请忽略空格) 总列在 d 列或第 4 列。我需要做的是对 d 列中的值进行小计,直到它到达显示“...-TOTA
我有以下值的数组 Array ( [0] => Array ( [order_date] => 2016-01-01 [sku
我目前正在使用此代码段在我的 Magento 商店的 topcart 中显示购物车总数。我的问题是当产品放入购物车时它并不总是更新,它只是显示 0$,尤其是可配置的产品。但是当第二个产品放入购物车时,
问题, 我有这样的表格: PID Category Year 1 AAA 2011 2 AAA 2012 3 BBB 2011 4 CCC 20
我很难解决一个简单的问题。如何在 django 模板中计算总计和小计? 假设我想生成客户订单的报告,例如: Desired Report Output Customer1 1 Wi
您可以在问题的编辑部分找到 C# 的解决方案。特别感谢 Bruno Lowagie 我正在尝试通过 C# 中的 iTextSharp 创建发票。它工作得很好,但是当我尝试在每一页上打印小计时我遇到了问
我有 2 个大型事件表。第一个表是一个数据表 (tblData),其中包含日期、持续时间和代码(用于标识事件)。第二个表是每个事件花费的总时间的汇总表 (tblSummary)。 如何筛选 tblDa
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
这是我使用的数据示例: SCENARIO DATE POD AREA IDOC STATUS TYPE AAA 02.06.2015 JKJKJKJ
我有一个包含 2 组行的数据表,我想要一列的总和/小计,例如,每个分组行的年龄(我知道这没有意义;))。 这是一个JSFiddle . $(document).ready(functi
客户提出需求,针对某一列分组加上小计,合计汇总。网上找了一些有关SQL加合计的语句。都不是很理想。决定自己动手写。 思路有三个: 1.很多用GROUPPING和ROLLUP来实现。 优
想象一下这个类似 DTO 的类: class LineItem : INotifyPropertyChanged { public event PropertyChangedEventHand
结构如下:
我非常希望有人能够帮助解决这个似乎在我们的 magento(版本 1.6.2.0)结帐和应用折扣代码时发生的错误。这不是最容易解释的,所以我附上了一张图片: http://i.imgur.com/iX
当我尝试使用带有 0.00 美元小计的 PayPal API 时,我收到错误: [10413] => The totals of the cart item amounts do not match
出于某种原因,当我尝试使用 SDK 授权 PayPal 付款时,我的日志中不断出现以下错误: ERROR: Got Http response code 400 when accessing http
我在我的 .Net MVC 4 Razor 网站上使用 PayPal 的 REST API。 在创建付款时,我通过 fiddler 跟踪了以下请求和响应: 任何人都可以解释导致错误的原因吗?交易总金额
我是一名优秀的程序员,十分优秀!