SAP BusinessObjects-如何将字符串值分成几个项目?

2020-08-22 01:37发布

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

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


您好专家

我是SAP BO的业余用户,想寻求社区的建议,以解决我目前在使用BusinessObjects进行项目时面临的问题之一。

从当前数据库中,我可以提取三个字段,即"类别","名称"和"最喜欢的食物"。 我的目标是将"收藏夹食物"中各项的字符串值拆分为多个记录,同时仍保持其与其他字段的关系。

从理论上讲这甚至可能吗? 因为BusinessObjects仅允许查询数据,但不允许操纵或添加/拆分数据库本身的项目。 请建议我如何在BusinessObject中实现以下屏幕截图。 非常感谢你!

期待您的意见。

(22.6 kB)

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

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


您好专家

我是SAP BO的业余用户,想寻求社区的建议,以解决我目前在使用BusinessObjects进行项目时面临的问题之一。

从当前数据库中,我可以提取三个字段,即"类别","名称"和"最喜欢的食物"。 我的目标是将"收藏夹食物"中各项的字符串值拆分为多个记录,同时仍保持其与其他字段的关系。

从理论上讲这甚至可能吗? 因为BusinessObjects仅允许查询数据,但不允许操纵或添加/拆分数据库本身的项目。 请建议我如何在BusinessObject中实现以下屏幕截图。 非常感谢你!

期待您的意见。

(22.6 kB)
付费偷看设置
发送
3条回答

嗨,欧文,

我有一个解决方案,它将分为两部分,第一部分应该在Universe级别实现,第二部分需要Webi报告中的一些工作。 我没有时间尝试一下,也许您可​​以试一试,我几乎可以肯定它会起作用。

Universe更新:在Universe中创建N个对象以获取单独的行, 其中N是可以显示在一行中的值的最大计数。 例如:在数据集中,我们看到Tony有3种最喜欢的食物(蛋糕,糖果,牛排),因此我们需要创建3个对象。

第一个最喜欢的食物(对象1)公式为
= Susbtr([Favorite Food]; 1; Pos([Favorite Food];",")等效于下面的Webi公式,它将使您从第一个字符开始的子字符串开始,直到第一个逗号之前的字符位置。 -1)
对于SQL Server数据库,这些对象的公式

  • 第一喜欢的食物将是: S UBSTRING(FavoriteFoodColumnName,1,CHARINDEX(',',FavoriteFoodColumnName)-1)
  • 第二喜欢的食物 食物将为: SUBSTRING(最喜欢的食物对象名称,Len(第一个最喜欢的食物对象)+ 1,CHARINDEX(',',SUBSTRING(最喜欢的食物对象名称), Len(最喜欢的食物对象)+ 1,Len ( FavoriteFoodColumnName) )-1)

您将需要确定用于提取第二喜欢的食物(称为对象"第二喜欢的食物"),第三喜欢的食物(称为对象"第三喜欢的食物")的公式,等等。

Webi报告更新 :您必须通过使用N个联合添加N个组合查询来更新用于带来数据的查询:

  • 在第一个组合查询中,您将使用"第一个最喜欢的食物"对象
  • 在第二个组合查询中,您将使用"第二个最喜欢的食物"对象
  • 在第三个组合查询中 您将使用"最喜欢的食物"对象等

组合查询的先决条件:

  • 所有组合查询必须具有相同数量的对象
  • 数据在每个位置的对象类型都必须相同
  • 已切换的对象(运行报表后) 在每个组合查询中,第一个组合查询中的对象名称将为First Favorite Food。

希望您能够毫无问题地实现它。

谢谢,
Mahboob Mohammed

太Q了
2楼-- · 2020-08-22 02:08

嗨Mahboob,

非常感谢您的详细输入。 非常感谢!

想知道,如果数据源来自excel文件(假设我们无法更改excel文件中的任何内容并按原样处理它)怎么办? 如果数据是从Universe以外的其他地方获取的,则似乎无法使用"合并查询"功能。

当学会了学习
3楼-- · 2020-08-22 02:15

嗨,欧文,

如果假设您可以在Excel中进行任何更改, 您应该创建一个基于excel的Universe,或者将Excel数据加载到Microsoft访问数据库(保存在可通过BO访问的共享驱动器上),然后使用该数据库创建一个Universe。 这是一种方法,如果您不想更改Excel。

或者,您创建另一个excel文档,在每个单元格中具有指向Excel的每个单元格的公式(带有数据),并进行一些转换 在那里,将"收藏的食物"列拆分为多个列(然后将其复制到不同的选项卡中),然后创建多个查询。

谢谢,
Mahboob Mohammed

一周热门 更多>