【问题标题】:Merging 4 queries in Cognos Report Studio在 Cognos Report Studio 中合并 4 个查询
【发布时间】:2014-05-01 16:39:27
【问题描述】:

最近开始研究 Cognos,我面临着不少挑战。尽管其中一些我能够纠正,但其中一些我无法理解问题所在。我正在 Cognos 中创建一个报告,其中我使用 SQL 代码连接 4 个表。 该查询中的两个数据项是 Primary_Officer_ID 和 Relationship_Officer_ID 有另一个表,字段名称为 Emp_ID 和 Emp_Names。请注意,Emp_ID 与 Primary_Officer_ID 和 Relationship_Officer_ID 中的官员编号相同。 我想要一份报告,其中给出了官员的姓名来代替他们的身份证。 以下是使用的 4 个查询

  • 查询 1:SQL 代码
  • 查询 2:Emp_ID、Emp_Names
  • 查询 3:Primary_Officer_ID 的左外连接
  • 查询 4:Relationship_Officer_ID 的左外连接

使用的最终数据集是查询 4。因为它包括所有连接和 SQL 代码 当我运行报告时,它只给了我 Primary_Officer_ID 的名称,而不是 Relationship_Officer_ID 的名称。请建议我应该做些什么来使报告成功运行。 附件是查询资源管理器的快照,有助于理解场景:

【问题讨论】:

  • 这一切都应该在框架管理器模型中得到处理。通过编写自定义 SQL 并在报告中进行连接,您将显着增加开发时间。
  • 我同意...但我无权访问框架管理器模型。并且必须手动完成才能使其正常工作:(

标签: join left-join cognos cognos-bi cognos-10


【解决方案1】:

我想您应该创建另一个查询 EmpNames1(EmpNames 的副本)并在第二次连接中使用它。 您可以查看为“Relationship Officer Join”生成的 SQL,看看有什么问题。

【讨论】:

  • 我也尝试了该选项...但不起作用。我希望代码看起来像这样' FROM Main_Query left outer join Primary_Officer_Join on (Main_Query.Primary_Officer_ID = Emp_ID) left outer join Relationship_Officer_Join on (Main_Query.Relationship_Officer_ID = Emp_ID)' 但它不会生成此代码。我可以通过添加此查询来编辑生成的代码吗?或者我还能做些什么来获得两个 ID 的两个左外连接?
  • 另外,请注意我使用了两个不同的数据源。这就是我无法加入查询的原因。主查询有一个数据源,而 EmpNames 有一个不同的数据源。请提出可能的解决方案。感谢您的帮助
  • 您无法编辑生成的 SQL。而您的代码“FROM Main_Query left outer join Primary_Officer_Join on (Main_Query.Primary_Officer_ID = Emp_ID) left outer join Relations_Officer_Join on (Main_Query.Relationship_Officer_ID = Emp_ID)”表示“Main_Query.Primary_Officer_ID = Main_Query.Relationship_Officer_ID”。
  • 哦...我尝试在 SQL Server 中编写该代码,它确实给了我想要的输出。在对两个表执行左外连接后,我也尝试使用 Union ...但没有用 :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-14
  • 1970-01-01
相关资源
最近更新 更多