2020-08-20 05:05发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我想按月,按客户,按库存组,按销售员...绘制年度销售额图表。
会有很多计算
我想该过程将是:
运行报表时,Crystal Reports将:
1)使用一堆MySQL命令从原始数据中进行计算,并将结果存储到表中
2)使用此表绘制图表
有可能这样做吗?
嗨,Jerry,
如果您希望在没有View且完全在CR中的情况下执行此操作,则需要执行以下操作:
1。 保存后缀为" _subreport"的现有报告的副本(稍后我们需要)。
2。 打开原始报告,然后修改显示月份总数的公式,如下所示:
WhilePrintingRecords; numbervar invoice_total; numbervar month_total; stringvar str_mtotal; month_total:= month_total +发票_total; str_mtotal:= str_mtotal + totext(month_total)+">"; month_total;
2。 使用以下代码创建一个多带带的公式@final_string:
WhilePrintingRecords; stringvar str_mtotal; 左(str_mtotal,len(str_mtotal)-1);
3。 在报表页脚中插入一个子报表。 选择在步骤1中保存的报告作为子报告。
您可以选择创建一个新报告作为子报告,但是,您需要确保主报告和子报告都返回相同的报告 数据或至少相同的月数。 因此,将现有报告用作子报告可能更容易
4。 右键单击子报表>选择"更改子报表链接">选择@final_string公式字段并将其移到右侧窗格。
取消选中"根据字段选择子报表中的数据"选项。
5。 进入子报表并删除所有现有的公式字段。
6。 删除所有不必要的组。 您唯一需要的组是在"日期"字段上显示每个月。
7。 使用此代码创建一个名为@disp_total的公式字段,并将其放在组标题#1(月份组)上:
tonumber(Split({?Pm- @ finalstring},">")[GroupNumber ])
8。 取消显示组页眉和组页脚
9。 在报表页脚上插入一个图表。 选择日期字段作为"更改日期",并将其设置为打印"每月"
10。 将@disp_total公式字段用作"显示值",并将其汇总函数设置为"最大"。
希望这会有所帮助。
-阿比拉什
我已经创建了一个视图并将其用于图表,但这非常慢。
然后,我找到了您的答案,步骤非常清楚且易于遵循,瞧,我得到了图表。
我无法想象我有多兴奋,超级感谢您,您真了不起!!!
不,您不能从Crystal存放到桌子上,然后准备 表。 (实际上,您可以,但是这是一个复杂的主要难题,需要在数据库中创建和使用存储过程或存储函数来实现它...)但是,我对此有建议。
您 将在主报表中绘制一个图表,并在其自己的子报表中绘制其他每个图表。 在主报告和每个子报告中,您将编写一个命令(SQL Select语句),该命令将访问报告 AND 的原始数据,并在图表的组级别进行汇总。 因此,例如,一个命令将按月份汇总数据,另一个命令将按客户汇总数据,另一个命令将按销售人员汇总,依此类推。每个命令将针对查询中的每个组返回一行数据(例如,month, 客户等)。 这样,所有的计算都需要包含在您的命令中,并被推送到数据库中,在那里,与Crystal相比,它们的处理效率更高,因为这就是数据库的作用。
您 可以在此处找到有关使用命令的更多信息: https: //blogs.sap.com/2015/04/01/best-practices-when-using-commands-with-crystal-reports/。 如果查询中有任何参数,则需要在命令中创建它们,然后从主报表中的参数链接到"子报表链接"屏幕左下方的子报表中的参数,然后取消选中"选择基于子报表中的数据 屏幕右下方。
-戴尔
感谢戴尔
我的报告如下:
其中数字来自"公式字段",例如:
WhilePrintingRecords; numbervar invoice_total; numbervar month_total; month_total:= month_total +发票_total
是否可以将它们(月数与销售额)保存到临时表中,以便我可以从该表中绘制图表?
好吧,我将投票给Dell的答案... 但是有时出于性能问题,我们避免使用命令。 我们总是尝试通过所需的计算得出一个漂亮的视图。
在您的情况下,类似...
从(选择MonthYear,SUM(InvoiceAmmount)AS InvoiceTotal中选择从MonthYear,SUM(InvoiceAmmount)开始 从TABLE,其中YEAR = 2019//参数// 按月分组
这是我在社区中的第一个答案,希望对您有帮助...
关于
Augusto
感谢Augusto,但是invoice_total是"公式字段",来自原始数据的计算:应税项目,非应税项目,折扣,税金,运费... >
如何将这些值存储到数组或临时表中,以便在图表中使用它们。
Jerry
尊敬的Jerry,
您如何尝试创建一个用于计算客户每月销售额的数据库视图
并使用 查看作为Crystal报表的数据源。
这将帮助您随心携带图表。
问候
Venkat
hi Abhilash Kumar ,
这是固定的,我不好。
说明很清楚,但是我做错了,因为我有两个部分(用于计算,显示),而不是一个示例。
将公式字段移动到显示部分后,它是完美的。
再次感谢您的帮助
最多设置5个标签!
嗨,Jerry,
如果您希望在没有View且完全在CR中的情况下执行此操作,则需要执行以下操作:
1。 保存后缀为" _subreport"的现有报告的副本(稍后我们需要)。
2。 打开原始报告,然后修改显示月份总数的公式,如下所示:
2。 使用以下代码创建一个多带带的公式@final_string:
3。 在报表页脚中插入一个子报表。 选择在步骤1中保存的报告作为子报告。
您可以选择创建一个新报告作为子报告,但是,您需要确保主报告和子报告都返回相同的报告 数据或至少相同的月数。 因此,将现有报告用作子报告可能更容易
4。 右键单击子报表>选择"更改子报表链接">选择@final_string公式字段并将其移到右侧窗格。
取消选中"根据字段选择子报表中的数据"选项。
5。 进入子报表并删除所有现有的公式字段。
6。 删除所有不必要的组。 您唯一需要的组是在"日期"字段上显示每个月。
7。 使用此代码创建一个名为@disp_total的公式字段,并将其放在组标题#1(月份组)上:
8。 取消显示组页眉和组页脚
9。 在报表页脚上插入一个图表。 选择日期字段作为"更改日期",并将其设置为打印"每月"
10。 将@disp_total公式字段用作"显示值",并将其汇总函数设置为"最大"。
希望这会有所帮助。
-阿比拉什
我已经创建了一个视图并将其用于图表,但这非常慢。
然后,我找到了您的答案,步骤非常清楚且易于遵循,瞧,我得到了图表。
我无法想象我有多兴奋,超级感谢您,您真了不起!!!
不,您不能从Crystal存放到桌子上,然后准备 表。 (实际上,您可以,但是这是一个复杂的主要难题,需要在数据库中创建和使用存储过程或存储函数来实现它...)但是,我对此有建议。
您 将在主报表中绘制一个图表,并在其自己的子报表中绘制其他每个图表。 在主报告和每个子报告中,您将编写一个命令(SQL Select语句),该命令将访问报告 AND 的原始数据,并在图表的组级别进行汇总。 因此,例如,一个命令将按月份汇总数据,另一个命令将按客户汇总数据,另一个命令将按销售人员汇总,依此类推。每个命令将针对查询中的每个组返回一行数据(例如,month, 客户等)。 这样,所有的计算都需要包含在您的命令中,并被推送到数据库中,在那里,与Crystal相比,它们的处理效率更高,因为这就是数据库的作用。
您 可以在此处找到有关使用命令的更多信息: https: //blogs.sap.com/2015/04/01/best-practices-when-using-commands-with-crystal-reports/。 如果查询中有任何参数,则需要在命令中创建它们,然后从主报表中的参数链接到"子报表链接"屏幕左下方的子报表中的参数,然后取消选中"选择基于子报表中的数据 屏幕右下方。
-戴尔
感谢戴尔
我的报告如下:
其中数字来自"公式字段",例如:
是否可以将它们(月数与销售额)保存到临时表中,以便我可以从该表中绘制图表?
好吧,我将投票给Dell的答案... 但是
有时出于性能问题,我们避免使用命令。
我们总是尝试通过所需的计算得出一个漂亮的视图。
在您的情况下,类似...
这是我在社区中的第一个答案,希望对您有帮助...
关于
Augusto
感谢Augusto,但是invoice_total是"公式字段",来自原始数据的计算:应税项目,非应税项目,折扣,税金,运费... >
如何将这些值存储到数组或临时表中,以便在图表中使用它们。
Jerry
尊敬的Jerry,
您如何尝试创建一个用于计算客户每月销售额的数据库视图
并使用 查看作为Crystal报表的数据源。
这将帮助您随心携带图表。
问候
Venkat
# p#hi Abhilash Kumar ,
这是固定的,我不好。
说明很清楚,但是我做错了,因为我有两个部分(用于计算,显示),而不是一个示例。
将公式字段移动到显示部分后,它是完美的。
再次感谢您的帮助
Jerry
一周热门 更多>