Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 比较Cognos BI中的字段并返回它们不存在的值';不匹配_Sql_Filtering_Business Intelligence_Cognos Bi - Fatal编程技术网

Sql 比较Cognos BI中的字段并返回它们不存在的值';不匹配

Sql 比较Cognos BI中的字段并返回它们不存在的值';不匹配,sql,filtering,business-intelligence,cognos-bi,Sql,Filtering,Business Intelligence,Cognos Bi,我试图比较CognosBI中来自两个不同数据源的两个字段之间的数据。所以,我最终想要的数据集中所说的字段是不同的,即它们不匹配 字段是,比如“[Query1].[Organization ID]”和“[Query2].[CP_homerg]”。运行联接查询(使用外部联接)时,我看到如下情况: 员工ID |组织ID | CP|U HOMERG 01 |值1 |值1 02 |值2 |值2 0k |(空)|值k 0k+1 |值K+1 |值K+1 因此,我继续编写一个过滤器,名为“[Organ

我试图比较CognosBI中来自两个不同数据源的两个字段之间的数据。所以,我最终想要的数据集中所说的字段是不同的,即它们不匹配

字段是,比如“[Query1].[Organization ID]”和“[Query2].[CP_homerg]”。运行联接查询(使用外部联接)时,我看到如下情况:

员工ID |组织ID | CP|U HOMERG

  • 01 |值1 |值1
  • 02 |值2 |值2
  • 0k |(空)|值k
  • 0k+1 |值K+1 |值K+1
  • 因此,我继续编写一个过滤器,名为“[Organization][Query2][CP_homerg]”,但这不起作用。它返回一个空白数据集。出于某种原因,它不会拾取上面第二列的(null)值

    我继续对过滤器执行cast()语句,将其转换为数据类型varchar,但这没有帮助

    (注意:我在Cognos中检查了组织ID的数据类型,它是长度为16的字符。)


    有人能帮忙吗?

    在数据库中,在比较之前,您需要将空值转换为类似空格的值。换句话说,这两个表达式都是false:
    NULL=NULL
    NULL-NULL
    。因此,在SQL Server中,您可以执行类似于
    ISNULL([Organization ID],“”)ISNULL([CP\u HomeOrg],“”)
    的操作。在Cognos中寻找类似的函数,我已经在Cognos BI中利用了coalesce()函数,它做了同样的事情,并且似乎正在工作。谢谢你的提示!