交叉表-使用网格值的列总计

2020-09-04 22:21发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我的报表中有一个交叉表,其中列出...

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

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


我的报表中有一个交叉表,其中列出了月份的列和行的提供者:

提供商1月2月3日总计

艾伦5 0 1 6

Donohoe 8 5 0 13

Haque 0 3 5 8

调色板10 6 8 24

其他1 4 1 6

总计24 18 15

我的第一个问题是,底行总数有时会减少1,因此我创建了一个计算所得的成员来为底行总数添加列。 当所有提供程序都存在时,这种方法非常有效,但是如果其中一个提供程序没有任何客户端,那么我的公式就会中断:

GridValueAt(GetRowPathIndexOf(" Allen"),CurrentColumnIndex,CurrentSummaryIndex)

+ GridValueAt(GetRowPathIndexOf(" Donohoe"),CurrentColumnIndex,CurrentSummaryIndex)

+ GridValueAt(GetRowPathIndexOf(" Haque"),CurrentColumnIndex,CurrentSummaryIndex)

+ GridValueAt(GetRowPathIndexOf(" Patel"),CurrentColumnIndex,CurrentSummaryIndex)

+ GridValueAt(GetRowPathIndexOf(" Other"),CurrentColumnIndex,CurrentSummaryIndex)

我已经尝试使用'if'语句测试几种不同的变体来测试有效性,但是到目前为止,我还没有找到解决方案。 有没有一种更好的方法可以总计每个月的列,而不必按名称引用每个提供者?

我非常感谢您提供的所有帮助,我的有限专业知识早已筋疲力尽。

3条回答
灬番茄
2020-09-04 23:01

嗨,

我在Crystal报表交叉表中具有与上述类似的要求,但变化不大:

我需要将reprot显示为

A

B

C

D

E

计算的成员行(A + B + C + D + E)

计算的成员行=

GridValueAt(GetRowPathIndexOf(" A"),CurrentColumnIndex,CurrentSummaryIndex)+

GridValueAt(GetRowPathIndexOf(" B"),CurrentColumnIndex,CurrentSummaryIndex)+

GridValueAt(GetRowPathIndexOf(" C"),CurrentColumnIndex,CurrentSummaryIndex)+

GridValueAt(GetRowPathIndexOf(" D"),CurrentColumnIndex,CurrentSummaryIndex)+

GridValueAt(GetRowPathIndexOf(" E"),CurrentColumnIndex,CurrentSummaryIndex)

以上计算在地区组下。

以上值(A,B,C,D,E)来自数据库。 假设数据库中不存在特定组的" B"字样,即" GridValueAt的参数#1超出范围。"

如何检查字段的数据库中是否存在特定值?

谢谢

Sahithya

一周热门 更多>