我在Excel中有一个系统,在excel中进行复杂管理。基本上,我们有3个表:
客户(CustID,名称)
服务(SvcID,服务代码,描述)
交易(TransID,Date,CustID,SvcID)
客户一天内最多可以拥有15项服务,但他们在同一天内永远不会拥有相同的服务。
在Access中,我知道我可以使用查询来过滤表格,以便为每个客户提供每天的服务,但每项服务都将显示在单独的行中。
HERE' KICKER - 用户希望在一条线上看到一天呈现的所有服务,无论是否有1个服务呈现或是否有15个。
在excel中,我有16列(customer,svc1,svc2,svc3等),其中每个svc列将包含一个服务。然后,我创建了另一个工作表,将服务列连接成一个列。这种方法的问题在于我一次只保存了一天(我有一个模板可以在打开时自动保存当前日期的文件)。虽然不利于数据挖掘,但它似乎确实证明了一些数据输入。
所以,基本上,我要求就如何改进我的桌面设计提出建议,这样我就可以为每一天创建一份报告,让每个客户在一条线上显示他们旁边的所有服务。一个字段或文本框。我应该坚持原来的svc1,svc2,svc3设计吗?如果是这样,我如何在这些服务和服务表之间建立关系以保持参照完整性?
答案 0 :(得分:0)
如果您从标准化设计开始,可以使用两种技术来生成电子表格样式视图,在一行中最多可提供15项服务。
一个是交叉制表,另一个是数据透视表报告。我在数据透视表报告中取得了不错的成绩。这使用excel实际生成电子表格视图。
那么为什么要规范化,如果你在创建视图时要进行非规范化?为了您将要做的其他事情,使用相同的数据。我不知道其他东西是什么,但你可能会这样做。