如何在 Cognos-11 中使用 exceptjoin?

How to use the exceptjoin in Cognos-11?

我没有获得在 Cognos-11 中工作的例外连接。我在哪里或缺少什么?

对这个分支的初学者有一些了解会很好;-)

到目前为止,我尝试的是提出两个查询。第一个包含 "customer"、"BeginningDate" 和 "Purpose" 等数据项。第二个查询包含 "customer"、"Adress" 和 "Community" 等数据项。 我想要完成的是在 query3 中获取:来自 query1 的 "customers" 在 query2 中不可用。对我来说,这听起来像是一个 except-join。

我去了查询工作区,创建了一个query3,并在上面拖了一个"except-join"图标。然后我将 query1 拖到上面 space 并将 query2 拖到下面。我习惯于使用其他连接,可以设置新的 link、基数等。现在双击连接不会打开任何弹出窗口。 except-join 的属性显示 "Set operation = Except"、"Duplicates = remove"、"Projection list = Manual".

如何让 query3 填充数据项 "customer",该数据项仅包含仅出现在 query1 中的客户列表?

EXCEPT 不是联接。用于比较两个数据集。

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/set-operators-except-and-intersect-transact-sql?view=sql-server-2017

您需要的是 INNER JOIN。那将是 Cognos 工具箱中的连接工具。

用SQL来说,你想要

select T2.C1
from T1
  left outer join T2 on T1.C1 = T2.C1
where T2.C1 is null

因此,在 Cognos 报告的查询窗格中...

  • 使用常规连接。
  • 使用来自两个查询的客户加入。
  • 将查询 1 端的基数更改为 1..1,查询 2 端更改为 0..1。
  • 在查询 3 的过滤器中,为 query2.customer 添加一个过滤器为 null。