Crystal reports 水晶席-如何找到2个客户的价格相同项目的差异
我有一个表,列出了客户编号、项目编号和项目价格(基于客户编号)。我想在Crystal中显示每个客户/项目编号的项目价格与特定客户(“Jeremy”)的项目价格之间的差异。例如:Crystal reports 水晶席-如何找到2个客户的价格相同项目的差异,crystal-reports,crystal-reports-xi,Crystal Reports,Crystal Reports Xi,我有一个表,列出了客户编号、项目编号和项目价格(基于客户编号)。我想在Crystal中显示每个客户/项目编号的项目价格与特定客户(“Jeremy”)的项目价格之间的差异。例如: Customer name = Jeremy price for item 1 = $20 price for item 2 = $30 price for item 3 = $40 Customer name = Mike price for item 1 = $10 price for item 2 = $25 p
Customer name = Jeremy
price for item 1 = $20
price for item 2 = $30
price for item 3 = $40
Customer name = Mike
price for item 1 = $10
price for item 2 = $25
price for item 3 = $30
对于所有客户和所有项目,请显示:
当前客户名称、当前商品名称以及Jeremy商品价格和当前客户商品价格之间的差异。
i、 e.迈克,第1项,10美元(差额) 迈克,第2项,5美元(差额) 迈克,第3项,10美元(差额) 我很想知道如何显示当前客户的商品价格与每个商品的Jeremy商品价格之间的价格差异(然后对每个客户重复与Jeremy相同的步骤)
任何帮助都将不胜感激。有多种方法可以做到这一点。。。但我建议最好的方法是使用子报表 我的做法:
Shared numbervar item1;
if(Customer name = "Jeremy")
then item1:=Item1 database value
@项目2
Shared numbervar item2;
if(Customer name = "Jeremy")
then item2:=Item2 database value
@项目3
Shared numbervar item3;
if(Customer name = "Jeremy")
then item3:=Item3 database value
现在将该值传递给主报告并存储在变量中
@主要项目1
Shared numbervar item1;
Shared numbervar item4;
item4:=item1;
@主要项目2
Shared numbervar item5;
Shared numbervar item2;
item5:=item5;
@主要项目3
Shared numbervar item6;
Shared numbervar item3;
item6:=item3;
现在创建第二个子报告,并使用子报告链接将item4
、item5
和item6
的值传递给子报告2
子报告2中按客户分组:
@显示项目1
Shared numbervar item4;
if (customer name <> "jeremy")
then
item4-item1
sharednumbervaritem4;
if(客户名称“jeremy”)
然后
项目4-1
@显示项目2
Shared numbervar item5;
if (customer name <> "jeremy")
then
item5-item5
sharednumbervaritem5;
if(客户名称“jeremy”)
然后
项目5-5
@显示项目3
Shared numbervar item6;
if (customer name <> "jeremy")
then
item6-item3
sharednumbervaritem6;
if(客户名称“jeremy”)
然后
项目6-3
现在取消取消子报告1,而不取消子报告2
现在,在您的显示子报表2中,所有值都是customerJeremy
的差值。。如果要显示jeremy值,请在另一个公式中将上述条件更改为=jeremy
如果您面临任何问题,请告诉我。在阅读进一步评论之前,我的建议。尝试从存储过程中获取此值,或者在获取数据时,添加一列比较值。这是更快的解决方案,在crystal report方面无需担心 我在db端处理过此类问题,而不是crystal report端。 还是要在水晶报表中,然后才能通过公式实现在变量中 您必须将值存储在每个变量的详细信息部分,并在生成结果时进行比较 或
您可以通过交叉表报告进行操作,最后您只需提供add formulated variable即可得出结果,但这是一项乏味的工作。数据库的想法听起来不错,但我没有在数据库级别插入表/存储过程所需的访问权限。我喜欢子报表的想法,一直在忙于创建一个共享变量的子报表,但是在实际的数据库中有将近1000个条目,所以我不想为每个条目创建变量。理想情况下,我希望将商品编号传递给两个公式,一个用于计算jeremy价格,另一个用于创建Mike价格。然后我可以创建第三个公式,返回两个价格之间的差异。是的,亲爱的,你的方向是正确的。但有一点需要注意,共享变量必须知道如何使用共享变量。它在整个报告中是静态的。因此,在项目组中更改项目时更改值。在项目组标题-部分中的公式上单击鼠标右键。这是一项乏味的工作。但我认为你应该这样做。祝你一切顺利