交叉报表

教学视频

目标

要实现的效果如下图所示:

demo

这个交叉表中,使用了示例数据库中的orders表,将这个表中的产品类型作为横向维度,产品所在区域作为纵向维度制作了一张交叉报表。

实现

1.创建数据集

创建一个连接到示例数据库的数据源,取其中的orders表作为数据集,报表中保留五行六列,效果如下图:

image-20220414173119216

2.绑定字段到单元格

将A1、A2、A3、B1、B2、B3合并为一个单元格,将C1、D1、E1、F1四个单元格合并为一个单元格,将C2、D2、E2单元格合并为一个单元格,将F2、F3单元格合并为一个单元格,将A4、A5单元格合并为一个单元格,并将所有单元格边线设置为黑色。

将deliver_type、product_category字段分别绑定到C1和C2单元格中,并将它们的迭代方向改为向右迭代;area字段绑定到A4单元格,province字段绑定到B4单元格;将sale和amount字段分别绑定到C4和D4单元格,设置它们的聚合方式为求和,并将它们的上父格设置为C2,绑定好字段的单元格效果如下图所示:

image-20220414174403120

接下来在C3、D3、E3、F2、B5分别填入字符单价数量总价小计以及合计:,并设置好单元格的颜色,效果如下图:

image-20220414174741130

4.设置表达式

选中E4单元格,在其中输入如下表达式:

if(C4 && D4){
    return C4*D4;
}

上面的表达式中,首先判断C4和D4单元格是不是都有值,如果是,那么就返回C4与D4单元格值的乘积。

之所以先判断,是因为C4和D4单元格的值可能为空。

选中C5、D5和E5单元格,分别输入表达式SUM(C4)SUM(D4)SUM(E4)

选中F4和F5单元格,分别输入表达式SUM(E4)SUM(F4),同时为了能正确计算F4单元格表达式,我们还需要配置F4单元格的左父格B4

最后配置好各个单元格的颜色,并在A1单元格添加斜表头,并设置好行、列锁定及前三行为重复表头行,设置好的效果如下图:

image-20220414175616126

保存预览,就可以看到我们想要的效果。

results matching ""

    No results matching ""