需要有关 BO 4.1 中的网络报告的建议,对于对齐感到抱歉。
我有一份报告如下:
结果应如下所示:
我有 1 个查询提取客户、产品和国家/地区,另一个查询提取代理和国家/地区。我已将代理作为与国家/地区关联的详细对象。我得到以下输出
我尝试按照以下指示进行操作 http://bi.srivatsakr.com/2011/08/converting-rows-into-single-cell-comma.html
[VAR Max Products] = Max ([Products] In [Customer])
[VAR Concat Products] = [Products]+", "+Previous(Self)
[VAR Max Concat Products]= [VAR Concat Products] Where ([Products]=[VAR Max Products])
[VAR Product] = If(IsNull(Previous([VAR Max Concat Products]));Substr([VAR Max Concat Products];1;Length([VAR Max Concat Products])-2);Substr([VAR Max Concat Products];1;Pos([VAR Max Concat Products];Previous([VAR Max Concat Products]))-3))
但这给了我这样的结果
如果我删除产品列,结果如下:
我可以隐藏产品列,但它仍然不会显示正确的结果。 需要一些建议。提前感谢您的帮助。
最佳答案
我根据 this SAP blog post 将一些行转换为字符串像这样:
_Concat_MyField = Previous(Self) + (If IsNull(Previous(Self)) Then "" Else ", ") + [MyField]
Final = Last([_Concat_MyField] ForEach ([MyField]))
_Concat_MyField
变量将每一行与前一行的值连接起来,Final
变量获取最后一个条目,这是所有行都已连接到的条目字符串。
如果将 [MyField]
和 [_Concat_MyField]
放入示例报告中的同一个表中,则更有意义。
关于business-objects - 在 WEBI 报告中的单个单元格中连接多行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32996959/