如何将此SQL语句转换为等效的cognos查询表达式?
我需要重新创建一个汇总计算表。在SQL中,我可以使用count语句或sum case语句分别计算每个数字。例如:如何将此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
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。