2020-09-03 00:51发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在列上进行有条件抑制后,将显示带有空白空间的列。 我不希望显示空白区域。
请参阅附件以获取预期格式
这是一个挑战,因为,如您所见,仅压制该列仍留有该列所在的空间。
为此,您基本上必须为每个列编写三个公式, 一个用于确定列中是否有数据,一个用于列标题,另一个用于列数据。 这些公式可能写起来很冗长乏味,但是逻辑并不难。
1。 对于每个字段,创建一个类似于用于抑制当前字段的公式,但是如果有数据,则返回1,如果没有数据,则返回0。 在此示例中,我将其称为{@ Field1HasData},{@ Field2HasData}等。
2。为每个列标题创建一个公式,如下所示:
{@ Col1Header} ------------- NumberVar ColNum:= 1; 本地StringVar ColHeader:=""; 如果{@ Field1HasData} = 1,则 ColHeader:="字段1标头"; 否则,如果{@ Field2HasData} = 1,则 ( ColNum:= 2; ColHeader:="字段2标头"; ) 否则,如果{@ Field3HasData}则 ( ColNum:= 3; ColHeader:="字段3标头"; ) ... 否则,如果{@ Field60HasData} = 1,则 ( ColNum:= 60; ColHeader:=" Field 60 Header"; ); ColHeader -------------- {@ Col2Header} -------------- NumberVar ColNum; 本地号码Var OldColNum:= ColNum; 本地StringVar ColHeader:="" 如果ColNum <60,则 ( 如果OldColNum = 1且{@ Field2HasData} = 1,则 ( ColNum:= 2; ColHeader:="字段2标头"; ) 否则,如果OldColNum = 2且{@ Field3HasData)= 1 ( ColNum:= 3; ColHeader:="字段3标头"; ) ... 否则,如果{@ Field60HasData} = 1,则 ( ColNum:= 60; ColHeader:=" Field 60 Header"; ) ); ColHeader
为每个标头创建一个公式,从上一个公式中删除第一个" if"语句。
3。 为每个值创建一个类似于其标题公式的公式,但返回字段值而不是其标题。 这里的技巧是所有返回的值必须具有相同的数据类型。 因此,如果所有字段都有数字,则可以只使用这些值。 但是,如果数据类型不止一种,则需要将每个非字符串值转换为字符串。
4。 将每个标题和值公式放在报表中后,在抑制公式中,将抑制该列的标题是否为""。 例如,对于{@ Col1Header}和{@ Col1Value},抑制公式为:
{@ Col1Header} =""
-Dell
最多设置5个标签!
这是一个挑战,因为,如您所见,仅压制该列仍留有该列所在的空间。
为此,您基本上必须为每个列编写三个公式, 一个用于确定列中是否有数据,一个用于列标题,另一个用于列数据。 这些公式可能写起来很冗长乏味,但是逻辑并不难。
1。 对于每个字段,创建一个类似于用于抑制当前字段的公式,但是如果有数据,则返回1,如果没有数据,则返回0。 在此示例中,我将其称为{@ Field1HasData},{@ Field2HasData}等。
2。为每个列标题创建一个公式,如下所示:
为每个标头创建一个公式,从上一个公式中删除第一个" if"语句。
3。 为每个值创建一个类似于其标题公式的公式,但返回字段值而不是其标题。 这里的技巧是所有返回的值必须具有相同的数据类型。 因此,如果所有字段都有数字,则可以只使用这些值。 但是,如果数据类型不止一种,则需要将每个非字符串值转换为字符串。
4。 将每个标题和值公式放在报表中后,在抑制公式中,将抑制该列的标题是否为""。 例如,对于{@ Col1Header}和{@ Col1Value},抑制公式为:
-Dell
一周热门 更多>