2在IBMCognos中的SQL查询下生成的SQL/MDX查询

2在IBMCognos中的SQL查询下生成的SQL/MDX查询,sql,cognos,native-sql,Sql,Cognos,Native Sql,我有一个报告,其中使用包中的默认数据项创建了一个名为“Query1”的查询。当我查看工具-->Show Generated SQL/MDX时,IBMCognos为名为“Query1”的查询显示了两个生成的本机SQL查询。如何创建查询2---查询1.0和查询1.1?在什么情况下会发生这种情况?仅供参考---在环境中所做的更改是在本月初在产品系列下添加一个新模型。这可能是生成2个SQL查询的原因吗?有人能解释一下后端发生了什么吗?通常,在生成的SQL中会看到多个单独的查询有两个原因: Cognos查

我有一个报告,其中使用包中的默认数据项创建了一个名为“Query1”的查询。当我查看工具-->Show Generated SQL/MDX时,IBMCognos为名为“Query1”的查询显示了两个生成的本机SQL查询。如何创建查询2---查询1.0和查询1.1?在什么情况下会发生这种情况?仅供参考---在环境中所做的更改是在本月初在产品系列下添加一个新模型。这可能是生成2个SQL查询的原因吗?有人能解释一下后端发生了什么吗?

通常,在生成的SQL中会看到多个单独的查询有两个原因:

  • Cognos查询中引用的部分或所有对象在模型/包中彼此之间没有定义的关系
  • Cognos查询中引用的对象来自两个或多个不同的数据源
  • 在1的情况下,将以交叉连接结束。在2的情况下,Cognos将分别从每个源检索数据,然后将它们缝合在Cognos报表服务器的内存中


    在生成的SQL中显示多个独立查询可能还有其他原因,但这两个是我在工作中遇到的原因。

    考虑案例2。在我的环境中,一个名为“data item 1”的数据项正在从一个存储阵列模型(比如说“model a”)获取数据,直到3月15日。3月16日晚些时候,存储阵列的一个新型号(即“model B”)被配置为添加到同一集群中,因此新型号成为“ModelA ModelB”。此外,还会在“成员”列表中创建一个新成员。当我创建一个显示月度数据的图表时,我希望看到3月15日之前模型a的数据点,从3月16日开始,我希望看到单一趋势线中的组合数据。我该怎么做?这是一个不同的问题,但听起来你需要一个工会。当您有一组公共列,并希望将两组列合并为一组,同时保留原始列组成时,使用并集是合适的。但是,只有当列在顺序、编号和数据类型上完全匹配时,这才有效。