将特定值添加到组中的最大值

2020-09-16 04:32发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们想在水晶报表中添加一个公式,如果某个组中存在特定值,则将该公式添加到该组中最大的数量上。

在下面的示例中,我们的发票分组中包含了车辆登记号。

在第二组中,我们想将管理费添加到该组中最大的费用中,就像我想将两个(20 + 20)管理费加起来最大(285)一样,并同时隐藏这两个管理费。

有人可以帮助我实现这一目标吗?

感谢您。

(15.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们想在水晶报表中添加一个公式,如果某个组中存在特定值,则将该公式添加到该组中最大的数量上。

在下面的示例中,我们的发票分组中包含了车辆登记号。

在第二组中,我们想将管理费添加到该组中最大的费用中,就像我想将两个(20 + 20)管理费加起来最大(285)一样,并同时隐藏这两个管理费。

有人可以帮助我实现这一目标吗?

感谢您。

(15.7 kB)
付费偷看设置
发送
6条回答
骆驼绵羊
1楼 · 2020-09-16 04:48.采纳回答

嗨,

这是您需要做的:

1。 使用此代码创建一个名为" AdminFee"的公式字段,并将其放在"详细信息"部分:

如果{Table.Action} ='Administration Fee',则{Table.Net};  

2。 右键单击此"公式字段">"格式字段">"常用"选项卡>选中"抑制"。

3。 创建一个名为@Net的公式,并将"详细信息"部分中的此"公式"域替换为"原始"域:

共享号码var net;
 共享号码var gnet;
 如果{Table.Net} =最大值({Table.Net},{Vehicle Reg Number字段}),则
 净额:= {Table.Net} +总和({@AdminFee},{Vehicle Reg Number字段})
 其他
 净:= {Table.Net};
 gnet:= gnet + net;
 净;

//{Net和Vehicle Regn Number的正确数据库字段替换{Table.Net}和{Vehicle Reg Number field}。

4。 创建一个名为@Vat的公式,并用以下公式字段替换" Vat"字段:

共享号码var net;
 净* 0.2;  

5。 创建一个公式以重置变量并将其放在"组头"上:

共享号码var net:= 0;
 共享号码var gnet:= 0;  

6。 创建一个公式以显示" Net"的小计并将其放在组页脚中:

共享号码var gnet;  

7。 创建一个公式以显示"增值税"的小计,并将其放在"网络"旁边的组页脚中:

共享号码var gnet;
 gnet * 0.2; 

希望这会有所帮助。

-Abhilash

灬番茄
2楼-- · 2020-09-16 04:50

因此,在上面的示例中,您尝试将40加到285,并将小计显示为325,或者您需要在哪里显示该值? 您还可以分享有关报告结构/部分的更多信息吗?


这可以通过使用总计或变量在特定条件下求和来实现。

梦想连接
3楼-- · 2020-09-16 04:55

有条件地取消管理员费用并为您的数据添加一种分类,以便管理员费用 在每天的顶部

创建2个公式

@reset//将其放置在日期组标题中,标题可以被隐藏

打印记录;

全局数字var admin:= 0;

@ display//在公式中使用您的相关字段,将其放置在当前净值的位置

打印记录;

全球号码var admin;

如果操作=管理员费用,则管理员:= Admin + netamount;

如果NetValue = Max(NetValue,DateGroup," daily"),则NetValue + admin否则为netvalue

即使取消了管理员费用,您的网上论坛总计也应继续工作,这些费用将被包括在子和报告总计中

重复执行增值税程序,您可以使用相同的重置公式将Vatadmin变量归零。

伊恩

土豆飞人
4楼-- · 2020-09-16 05:04

嗨阿什拉夫,

是的,我希望显示总计为325。

下面找到报告结构。

所以我的"详细信息"部分是"组"部分。

我尝试了不同的方法,但是没有一个起作用:

共享号码Var x;
 如果((T)
 
 

这可以通过使用总计或变量在特定条件下求和来实现?

您能帮我实现这一目标吗?

预先感谢

致谢

J

小c菟菟
5楼-- · 2020-09-16 04:56

由于所有内容均来自net字段,因此请尝试对每个组重置的运行总计(SUM)并在net = maximum(net)或Type =时评估记录 管理费。

微wx笑
6楼-- · 2020-09-16 05:04

我意识到上一次答复中有一些不必要的公式。

1。 将@Net公式修改为:

共享号码var net;
 如果{Table.Net} = Maximum({Table.Net},{Vehicle Reg Numberfield}),则
 净:= {Table.Net} + Sum({@ AdminFee},{Vehicle Reg Numberfield})其他
 净:= {Table.Net}; 

2。 从组页脚中删除公式字段。 而是使用页脚上的原始摘要。

只需插入Net的摘要和VAT的摘要。

3。 转到"部分专家">突出显示"详细信息"部分>单击"抑制"旁边的公式按钮,然后使用以下代码:

 {Table.Action} ='管理费'

-阿比拉什

一周热门 更多>