Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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查询表达式?_Sql_Cognos - Fatal编程技术网

如何将此SQL语句转换为等效的cognos查询表达式?

如何将此SQL语句转换为等效的cognos查询表达式?,sql,cognos,Sql,Cognos,我需要重新创建一个汇总计算表。在SQL中,我可以使用count语句或sum case语句分别计算每个数字。例如: select count(*) from 'myTable' where somevalue = 'x' and somevalue = 'y' 我在cognos report studio中有一个表。我正在尝试将查询计算插入表中。我的查询表达式看起来像 count (if ([source].[table].[member] = 'blah' and [source].[tabl

我需要重新创建一个汇总计算表。在SQL中,我可以使用count语句或sum case语句分别计算每个数字。例如:

select count(*) from 'myTable' where somevalue = 'x' and somevalue = 'y'
我在cognos report studio中有一个表。我正在尝试将查询计算插入表中。我的查询表达式看起来像

count (if ([source].[table].[member] = 'blah' and [source].[table].[differentmember] = 'foo') then (1) else (0))
无论在查询表达式中如何排列if语句,都会得到相同(错误)的编号。我想我做错了。我真的很感激你能帮我解决这个问题


如果有人能为我提供一些关于cognos查询语法的好的、简明的文档,我也会非常感激。到目前为止,我的自助尝试一直很困难,因为有一大堆行话被使用,但对我来说却毫无意义。多谢各位

谢谢鲁安和约翰逊。下面的代码非常有效

sum (if ([source].[table].[member] = 'blah' and [source].[table].[differentmember] = 'foo') then (1) else (0))

您确定要计数而不是求和吗?或者,当您不想计算行数时,返回
null
而不是
0
?Luaan是正确的。IF语句将踢出1或0。计数聚合将对每行进行计数,而不考虑内容。唯一的例外是不计算的空值。您可以简单地将计数更改为总和,也可以将0更改为null。