ReportLite 实践:有多表格关联的分片交叉报表
职场人员做数据分析时经常会有一些数据比对的工作,要将来自多个表格的数据关联在一起展示。比如已经有了两个 xls 中统计了各个 States 的 Sales 和 Cash 信息,Sales:
Cash Collection:
我们想看这样的一种对比表格:
用 Excel 可以分别对这两个表格做透视表,然后再用 VLOOKUP 根据 States 将两个表关联在一起,但是这种多列关联的情况,要写很多遍 VLOOKUP,太繁琐了,而且类别是变化的,列数不固定,简单使用 VLOOKUP 就无法达到想要的效果了。
用 ReportLite 制作起来很容易,可以在报表中灵活将多表格数据关联在一起展示,再灵活设置报表样式就行了。
报表制作
启动 ReportLite, 新建报表并设置报表中用到的数据:ReportLite 工具栏—”Report”—”Dataset”—”Add”—”File dateset”,选择要用的 xls 文件。
Name 列的 ds1 是自动产生的,表示 xls 读入到 ReportLite 的名称,在报表模板中用这个名称设置单元格与数据的绑定关系。
这个报表需要的数据来自两个 xls,再次点击”Add”选择另外一个 xls 文件。
接下来制作报表模板:
ReportLite 采用类 Excel 的设计方式,单元格命名以及一些常规公式和 Excel 中是保持一致的。
这个报表可以看作是两个交叉报表横向连接在一起,A3 公式:=ds1.group(States;States:1),表示从 ds1 中取 States 列数据并按其分组,其右侧单元格计算会限定在 ds1 中相应的组内。B2 同样使用 group 函数,将 B2 单元格的 "Expanding Mode" 属性(在右边的属性栏中)设置成 "Horizontal",报表预览时就会达到 A3 纵向拉伸,B2 横向拉伸的双向拉伸效果。
B3 公式:=ds1.sum(Amount),表示在交叉部分对 Amount 求和汇总。
报表中 C 列的制作方法和 B 列类似,重点在于 C3 中的公式:=ds2.sum(Collection, States==A3),其中增加了关联条件,表示从 ds2 中取 States 和 A3 相同的 Collection 数据进行求和汇总。
格式调整起来就好做了,单元格合并,表头斜线设置,格子的字体颜色、填充颜色、数据格式等这些操作和 Excel 中都一样。
报表模板制作完成后可以预览报表:
现在可以存为 XLS 文件了。
从报表模板制作过程可以看到,多表格的数据关联时只要在一个格子内写公式就可以,非常方便,单元格会根据数据多少自动拉伸,即使数据变化也不必修改报表模板。而且,单元格的自动拉伸使得一些样式操作只需要在几个单元格上设置就行了,操作更加方便。
下载 ReportLite 及更多资料http://www.raqsoft.com/reportlite。
英文版