Join Cognos Report Studio/Concur Reporting-多行合并为一行

Join Cognos Report Studio/Concur Reporting-多行合并为一行,join,cognos,cognos-10,cognos-bi,Join,Cognos,Cognos 10,Cognos Bi,首先,我不仅不熟悉CognosReportStudio,而且还不熟悉数据库/表和查询。我的任务是使用sap concur的IBM Cognos report studio v10.2.1实现构建报告。这意味着数据模型由concur人员定义 我使用了5个查询,在4个连接中连接在一起,现在通过更多的尝试和错误,以我希望的方式在报告中包含所有列和值,老实说,除了一件事: 添加列注释会生成重复的行,每个注释对应一行。每个项目可以没有注释、1条注释或多条注释。 因此,我想要实现的是将所有注释(如果有)连接

首先,我不仅不熟悉CognosReportStudio,而且还不熟悉数据库/表和查询。我的任务是使用sap concur的IBM Cognos report studio v10.2.1实现构建报告。这意味着数据模型由concur人员定义

我使用了5个查询,在4个连接中连接在一起,现在通过更多的尝试和错误,以我希望的方式在报告中包含所有列和值,老实说,除了一件事: 添加列注释会生成重复的行,每个注释对应一行。每个项目可以没有注释、1条注释或多条注释。 因此,我想要实现的是将所有注释(如果有)连接到同一行中

我尝试使用中继器执行以下步骤:

从工具箱中添加中继器,使其具有与 列表 解锁报告以能够更改布局 将注释列中的数据项放入中继器 将包含数据项的中继器放回列中 不幸的是,这并没有改变任何事情。任何帮助都将不胜感激


PS:当然,我使用了concur提供的关于其报告解决方案的可用培训资源手册和记录培训课程。然而,这些都是相当低级的,并且在连接多个查询的问题上非常简单。

这是一种偶然。五年来,我一直是Concur Cognos解决方案的主要建模者和报告开发人员。这绝对是一个非常小的世界

至于您的问题,我不确定您是否能够成功地完成您正在尝试做的事情,即从表中获取多行并将它们合并到单个列中。理论上,您可以进行多个自连接,每个注释一个,然后连接结果,但这既不方便,而且您必须设置一个限制,限制以这种方式支持多少注释,因为您必须为每个注释手动定义连接

我做了一些探索,看看能做些什么来解决你的问题。我认为你最好的选择是使用主细节模式。这将在另一个列表中嵌入一个列表,并使用两个查询中存在的等效数据项在这两个列表之间建立关系。缺点是它会占用大量空间,因为每个注释都会在master/detail的detail部分获得自己的行

基本步骤概述如下。这些步骤假设您已经有一个包含您想要的列(注释除外)的现有列表:

拖到新的列表对象上,将其添加到现有列表的末尾,然后从弹出的对话框中选择相应的查询。 您应该看到外部列表的最后一列现在包含它自己的空列表。 拖到“注释”列上,并将其放置在内部列表中 选择内部列表对象。单击列表左上角的三个红点,或从“属性”对话框中选择它。 单击“主控详细信息关系”属性。 单击顶部的“新建链接”按钮,选择左侧和右侧的等效列,然后单击“确定”
当您运行报告时,您现在应该可以在每一行的各自列表中看到所有关联的注释。

这些步骤假定您已经在现有列表中与您想要的列(注释除外)关联:

将新列表对象移动并创建到初始列表的末尾 列出并从出现正确查询的对话中进行选择。 您可以看到外部列表的最后一列包含自己的 未被占用的列表。 按下并在内部列表中找到注释部分 从内部列表中选择对象。它要么点击三个按钮 列表左上角的红点或从 “各种属性”对话框。 单击主控详细信息关系的属性。 单击顶部的“新建链接”按钮,然后尝试选择右侧和右侧的链接 左栏,然后再次单击“确定”
真是意外!你真是太棒了,能留下来帮助别人!有一件事我忘了提,很抱歉,报告应该在excel中进一步过滤/处理,不幸的是,以列表方式进入列表意味着excel报告中合并了单元格。因此,使用中继器将注释从单独的行中获取到一个单元格中,因此一行将不起作用?如果需要进一步处理,则报告是不完整的。不要满足于有人要求你生产部分产品。获取用户希望在Excel中执行的附加处理的要求,并让Cognos完成这一部分。我能够使用一个转发器将细节列合并到一个列中。然而,当我这样做时,它将父表的每个唯一值放在自己的页面上。我不知道为什么。