仅当该列不存在时,才需要在分组的交叉表中插入计算所得成员的帮助

2020-09-02 12:53发布

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

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


您好,我有一个包含3组(排序->索引->学年)的交叉表,其中表应固定为15列1-15。 问题是数据可能并不总是可用于每个列,在这种情况下,表会缩小到只有数据可用的列(例如对于索引a,表将具有列1和5,而索引2将具有列 3,4,5),它们不能均匀地堆叠在彼此的顶部。 我试图通过为每列添加一个计算成员来解决此问题,但前提是它们不存在。 通过以下操作,我可以轻松地针对较早的单个组交叉表执行此操作:

如果GetColumnPathIndexOf(15)= -1,则CurrentColumnIndex = GetNumColumns-2(从此处建立最后一列,我尝试使用类似的插入公式在此之前插入所有列)

我对多个分组的交叉表有些困惑,但是不管我做什么,它都要求我提供布尔值:

如果(GetColumnGroupIndexOf(CurrentColumnIndex)= 3且GridRowColumnValue(" @ Sort")= 1.00且GridRowColumnValue(" @ Term_Years")= 3.00)= -1,则GetColumnGroupIndexOf(CurrentCurrentIndex)= 3且GridRowColumnValue(" @ Sort") = 1.00且GridRowColumnValue(" @ Term_Years")= 3.00

我还可以在下面的15处插入一列,但是当15存在时,它仍会添加它,因此if公式需要调整吗?

如果GetColumnPathIndexOf(15)= -1,则GetColumnGroupIndexOf(CurrentColumnIndex)= 3且GridRowColumnValue(" @ Term_Years")= 15

我假设GetColumnPathIndexOf函数需要能够找到第三组中的第15个项目,但是我不确定该怎么做?

预先感谢

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

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


您好,我有一个包含3组(排序->索引->学年)的交叉表,其中表应固定为15列1-15。 问题是数据可能并不总是可用于每个列,在这种情况下,表会缩小到只有数据可用的列(例如对于索引a,表将具有列1和5,而索引2将具有列 3,4,5),它们不能均匀地堆叠在彼此的顶部。 我试图通过为每列添加一个计算成员来解决此问题,但前提是它们不存在。 通过以下操作,我可以轻松地针对较早的单个组交叉表执行此操作:

如果GetColumnPathIndexOf(15)= -1,则CurrentColumnIndex = GetNumColumns-2(从此处建立最后一列,我尝试使用类似的插入公式在此之前插入所有列)

我对多个分组的交叉表有些困惑,但是不管我做什么,它都要求我提供布尔值:

如果(GetColumnGroupIndexOf(CurrentColumnIndex)= 3且GridRowColumnValue(" @ Sort")= 1.00且GridRowColumnValue(" @ Term_Years")= 3.00)= -1,则GetColumnGroupIndexOf(CurrentCurrentIndex)= 3且GridRowColumnValue(" @ Sort") = 1.00且GridRowColumnValue(" @ Term_Years")= 3.00

我还可以在下面的15处插入一列,但是当15存在时,它仍会添加它,因此if公式需要调整吗?

如果GetColumnPathIndexOf(15)= -1,则GetColumnGroupIndexOf(CurrentColumnIndex)= 3且GridRowColumnValue(" @ Term_Years")= 15

我假设GetColumnPathIndexOf函数需要能够找到第三组中的第15个项目,但是我不确定该怎么做?

预先感谢

付费偷看设置
发送
3条回答
土豆飞人
1楼-- · 2020-09-02 13:30

是的,我的报表中有一个交叉表,但它输出为多个组(某些组比其他组更完整和完整),在特定列没有数据的情况下,交叉表仅显示存在数据的列。 例如

索引1

1 2 3 4 5

a xxxx x--

b x x x-x

c x x x x x

索引2

2 4 5

a x x x

b x x x

c x x x

我需要/希望索引2看起来像这样:

1 2 3 4 5

a-x-x-

b-x--x

c-x-xx

无论如何,要花点时间才能弄清楚,但我相信自己在对公式工作室中可用的功能进行了更认真的思考后才得出了解决方案。 我首先必须通过使用@Term_Years之前的列以及以下插入公式创建一个成员来建立第一列。

如果(GetIndexOf(" @Term_Years",0))= -1

然后(GetColumnGroupIndexOf(CurrentColumnIndex)= 3和CurrentColumnIndex = 0)

然后我在@Term_Years之后的列中创建了所需数量的成员,

如果(GetIndexOf(" @Term_Years",1))= -1,则(GetColumnGroupIndexOf(CurrentColumnIndex)= 3且GridRowColumnValue(" @ Term_Years")= 0)

...

以此类推...

...

如果(GetIndexOf(" @Term_Years",15))= -1,则(GetColumnGroupIndexOf(CurrentColumnIndex)= 3且GridRowColumnValue(" @ Term_Years")= 14)

...

以此类推...

让我知道这种方法是否存在任何问题,因为到目前为止,在有限的测试中,这种方法似乎仍然可以正常工作。

我可以使用自定义sql解决此问题,但是必须使用已锁定的UI工具来构建此报告。 再次感谢。

SKY徐
2楼-- · 2020-09-02 13:30

嗨,帕特里克,

您能举个例子"它们不能均匀地堆叠在一起吗?"

您是否要在两个交叉表之间显示另一个交叉表?

此外,如果您始终需要某些组在交叉表中显示,则在Custom SQL查询中处理该交叉表然后再使用它们会更容易

-Abhilash

SAP砖家
3楼-- · 2020-09-02 13:20

谢谢您发布解决方案Patrick。

-Abhilash

一周热门 更多>