business-objects - 在 WEBI 报告中的单个单元格中连接多行数据

标签 business-objects webi

需要有关 BO 4.1 中的网络报告的建议,对于对齐感到抱歉。

我有一份报告如下:

<表类=“s-表”> <标题> 国家 代理 客户 产品 <正文> 英国 莫 萨拉 包 英国 亚当 吉尔 包 英国 蒂姆 金 鞋子 英国 蒂姆 金 包 美国 约翰 山姆 腰带 美国 约翰 山姆 包

结果应如下所示:

<表类=“s-表”> <标题> 国家 代理 客户 产品 <正文> 国家 代理 客户 产​​品 英国 莫 萨拉 包 英国 亚当 吉尔 包 英国 蒂姆 金 鞋、包 美国 约翰 山姆 腰带、包

我有 1 个查询提取客户、产品和国家/地区,另一个查询提取代理和国家/地区。我已将代理作为与国家/地区关联的详细对象。我得到以下输出

<表类=“s-表”> <标题> 国家 代理 客户 产品 <正文> 英国 莫 萨拉 包 英国 亚当 吉尔 包 英国 蒂姆 金 鞋子 英国 蒂姆 金 包 美国 约翰 山姆 腰带 美国 约翰 山姆 包

我尝试按照以下指示进行操作 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))

但这给了我这样的结果

<表类=“s-表”> <标题> 国家 代理 客户 产品 [VAR 产品] <正文> 英国 莫 萨拉 包 包 英国 亚当 吉尔 包 英国 蒂姆 金 鞋子, 包、鞋 英国 蒂姆 金 包 美国 约翰 山姆 腰带 包、腰带 美国 约翰 山姆 包

如果我删除产品列,结果如下:

<表类=“s-表”> <标题> 国家 代理 客户 产品 [VAR 产品] <正文> 英国 莫 萨拉 包 英国 亚当 吉尔 英国 蒂姆 金 英国 蒂姆 金 美国 约翰 山姆 美国 约翰 山姆

我可以隐藏产品列,但它仍然不会显示正确的结果。 需要一些建议。提前感谢您的帮助。

最佳答案

我根据 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/

相关文章:

crystal-reports - Business Objects Enterprise 将多个报告安排到一封电子邮件中

excel - 仅在 Webi 中将原始值导出为 Excel 保留格式

java - 如何使用Java BO SDK 读取联合和合并的Webi 报告?

javascript - 如何像chrome检查元素选项一样访问包括CSS和JavaScript的网页源代码?

java - 如何以文本形式运行和下载 BusinessObjects 报告

reference - 从表示层引用业务对象的最佳方式..?

hadoop - 从平面文件或现有数据库将数据加载到Hive中

mysql - 业务对象 : Comparing Rows