找回密码
 立即注册

QQ登录

只需一步,快速开始

爱德

金牌服务用户

3

主题

11

帖子

42

积分

金牌服务用户

积分
42
最新发帖
爱德
金牌服务用户   /  发表于:2024-12-12 17:45  /   查看:49  /  回复:5
附件一张销售套数采集表,是这样的需求:

组织:有三级,为项目、分期、楼栋;
产品:小高层、洋房、街区商业、人防车位等;
每个楼栋属于一种产品。

这个表用于采集每个楼栋在一段时间内每个月份的销售套数,同时通过公式自动计算:
(1) 按分期+产品+月份统计销售套数总和;
(2) 按分期+产品统计的销售套数总和;
(3) 按分期统计的销售套数总和;
(4) 按项目+产品统计的销售套数总和;
(5) 项目的销售套数总和。

希望用spreadjs来采集这样的数据,数据行是从数据库读取的,按照规则已排好序,然后绑定到模板上。
请教一下,在不拆表的情况,为实现这个需求,spreadjs模板的公式应该如何设置?有什么建议?

销售套数表.xlsx

15.25 KB, 下载次数: 2

5 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-12-12 17:56:05
沙发
您好!通过您的描述,理解这个需求可以用ReportSheet实现,您可以参考官网教程了解下ReportSheet的功能:
https://demo.grapecity.com.cn/sp ... ner/overview/purejs
回复 使用道具 举报
爱德
金牌服务用户   /  发表于:2024-12-12 17:57:46
板凳
本帖最后由 爱德 于 2024-12-12 18:07 编辑

我需要填报,在填报过程中,根据填报的值自动计算部分值;
填报+更新入库,需求是这个,附件截图是这样的:

image.png817366027.png

非填报区域是用公式计算的,因为已经采购了spreadjs,希望在不采购新产品的情况下,用spreadjs来实现,有建议的方案吗?

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-13 09:25:42
地板
爱德 发表于 2024-12-12 17:57
我需要填报,在填报过程中,根据填报的值自动计算部分值;
填报+更新入库,需求是这个,附件截图是这样的 ...

请教下您提供的xlsx文件中A列~F列的内容是固定的吗?也就是说这些列始终保持当前这么多行内的数据,不会添加新行数据,而您的业务场景需要更新的是G列~Q列的数据。

如果是这样的需求,那么我理解sheet的商品品类信息是固定不变的,销售数据G列~Q列会随着时间推移逐渐更新新度过月份的销售数据。
这样一来,sheet的数据区域行列范围不会变化,那可以在设计之初对您的统计规则在对应的行列位置设置相应的计算公式,当数据内容发生变化时,公式会引用单元格最新的数据重新计算得出结果。


此外,考虑到您的统计需求分了多个层级,可以基于您现有的sheet数据区域创建数据透视表,通过透视表的行列字段构建分级,使用透视表的值字段统计某些行列字段的数据结果,这部分可以对应为您的统计需求。
由于数据透视表引用的是数据区域,当数据区域不变的情况下,数据区域中数据的变化都可以同步至透视表中,需要在透视表中刷新数据源即可。因此,您也可以评估下数据透视表。

如果当前您购买的产品特性能满足您的需求便很好,如果稍有不妥之处,建议您了解下ReportSheet报表特性。
上述方案的前提是您的sheet数据区域内行列范围不变且每个分组内品类不变,如果行列范围需要扩展,在模板设计良好的情况下也可以支持,但是稍有不便。
ReportSheet的优势在于,它可以通过报表模板设计报表结构,将单元格与数据源绑定,无论数据源数量多少,都可以按照模板中已经设计好的结构渲染扩展数据以呈现。而且对于您的填报需求,可以直接将被修改的数据提交至您的远程数据源。

综上所述,应对您的需求,向您提供了普通sheet、数据透视表、ReportSheet报表等三种可使用方案,您可以综合评估下。

回复 使用道具 举报
爱德
金牌服务用户   /  发表于:2024-12-13 09:56:33
5#
本帖最后由 爱德 于 2024-12-13 10:02 编辑

在填报之前,有项目、分期、楼栋、楼栋所属产品、填报年数的配置,然后根据配置生成行和列,到了另外一个项目,这些自然是不同的,因此数据的行和列都是动态的,但填报模板应该是同一个。

我这个需求的关键是:填报+填报过程中实时呈现结果,如果结果不合适会调整填报值,其实就是做实时测算。

透视表、报表,都是需要购买的,是吧?

我觉得spreadjs应该可以实现,可能要复杂点,之所以来这里求助,一方面是因为可能我对spreadjs的能力掌握得不够,另一方面,毕竟这个产品的客户很多,各种应用都有,就是看有没有更好的实践,这样我会少走一些弯路。

比如我初步的想法是,为数据源做一些配置,然后在在将数据绑定到模板后,根据数据上的配置为不同的单元格生成不同的公式,等等。

谢谢回复。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-13 10:21:53
6#
爱德 发表于 2024-12-13 09:56
在填报之前,有项目、分期、楼栋、楼栋所属产品、填报年数的配置,然后根据配置生成行和列,到了另外一个项 ...

您客气。数据透视表和ReportSheet报表都作为SpreadJS的插件存在,需要购买后使用。

我非常赞同您的想法,确实SpreadJS产品的用户较多,相应的应用场景也较多。我在给您提供解决方案的同时,自然地会参考到曾经遇到的某些场景中的使用方式。
刚接触时不熟悉产品功能也很正常,相信在您认真使用的过程中,会随着使用的深入渐渐掌握SpreadJS产品特性的使用方式,加油!

再回到您的问题,如果模板是同一个,那么即限定了行列范围,行数和列数以及每个层级所占据的行列范围也是固定的,也就是说sheet主结构不变,仅变更填报年份所在列的不同行数据,这些不同行对应了<项目,分期,楼栋>。
如果行列范围不变,仅需要在不同场景下绑定相同结构但不同数值的数据源即可,您可以先按照您的思路尝试实现下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部