有一张大表,公共维度是【客户】档案。有多个业务字段,每个业务字段涉及不同的业务模块和取数来源。 列字段为:客户,销量,销售金额,推广费、旅游费、成本金额等。每个业务字段,对应一个【SQL数据集】。【客户档案】都是不完整的。为了让客户数据保持完整,我单独做了一个【完整客户档案】的数据集。其他【业务数据集】对其进行匹配。现在出现了有些客户,业务字段为0,即【销量、销售金额、推广费、旅游费、成本金额】都为0。我做了过滤,将【业务字段全部为0】的行,进行隐藏。excel导出的时候,不包括【隐藏行】。所以【小计】行里面的表间公式,依然包括这些【隐藏行的单元格】。但是实际上excel文档里面,这些【隐藏行】已经被删除了。然后,就会提示【表间公式循环引用】。如下图示,单元格--F38,里面的表间公式内容,居然有F38本身。就是因为导出excel文档后,【隐藏的行】会自动删除,后面的行自动补上。 之所以没有通过union all的方式,拼成一个大SQL。是因为太复杂了。不同的【字段】来自不同的【业务模块】,有计算逻辑在里面。 导出的excel文档,不能有【隐藏行】。因为【领导们】比较难以接受。【单元格--AH5】,进行做了【条件属性】,当所有的【业务字段】为空时,说明这个【客户】没有任何业务数据发生,所以这一行的行高可以为0。因为【客户】列字段,里面是完整的客户档案,【其他业务字段】中的【客户】是不完整的。所以填充【业务字段】时,我已经按【客户】进行了过滤。