If statement 如何在COGNOS中使用IF和CAST函数?

If statement 如何在COGNOS中使用IF和CAST函数?,if-statement,casting,cognos,cognos-10,If Statement,Casting,Cognos,Cognos 10,如果[业务单位]=“空运出口”,则为“1” 其他[业务单位] 结束 业务单位包括 -航空出口 -航空进口 -海运出口 -海运进口 我的目标是描述航空出口的过境目标天数,通常为1天 目前,我正在为一个名为Transit Target 1的数据项执行任务 将有一个称为总运输目标的数据项,该数据项由运输目标1、运输目标2和运输目标3组成 我想将“1”转换为浮点数,以便稍后计算总运输目标 我该怎么做呢?请帮忙。我不想让人觉得我是被动的、积极的、毫无帮助的,但我想我可能想从探索CAST函数开始 您将从何处

如果[业务单位]=“空运出口”,则为“1” 其他[业务单位] 结束

业务单位包括 -航空出口 -航空进口 -海运出口 -海运进口

我的目标是描述航空出口的过境目标天数,通常为1天

目前,我正在为一个名为Transit Target 1的数据项执行任务

将有一个称为总运输目标的数据项,该数据项由运输目标1、运输目标2和运输目标3组成

我想将“1”转换为浮点数,以便稍后计算总运输目标


我该怎么做呢?请帮忙。

我不想让人觉得我是被动的、积极的、毫无帮助的,但我想我可能想从探索CAST函数开始


您将从何处获得总运输目标的其他值?i、 运输目标2和运输目标3来自哪里?基于业务单位的其他计算?case函数是否比IF更有用


谁在确定目标?对象的目标值是否会更改?至少在某些情况下,未来的航空出口是否可能成为另一种价值?如果在数据库中捕获这些信息不是更好吗,至少因为它是可见的、在其他报表上下文中可用的,并且是可维护的?另外,在处理过程中节省一点时间。

您在生成结果时会遇到问题。问题在于编码的结果将导致五个可能的值:

航空出口 航空进口 海运出口 海运进口 1. 只有最后一个值才能成功转换为数字或浮点类型

我要做的是修改IF…,然后输出1或0,这两个整数,因此已经以正确的形式进行计算:

IF ([Business Unit] = 'Air Export')
THEN (1) 
ELSE (0)
请注意,两个结果值周围都没有引号。它们将为整型,可用于计算


在Cognos中使用IF..THEN的一些技巧。所有条件和结果都必须用括号括起来。此外,还必须有一个ELSE条款。最后,没有尽头。这在案例陈述中使用。

您将从何处获得总运输目标的其他值?->如前所述,总运输目标将是运输目标1+运输目标2+运输目标3的总和,由谁确定目标?->关键客户经理已设置KPI。对象的目标值是否会更改?->它是固定的。至少在某些情况下,未来的航空出口是否可能成为另一种价值?->不知道你在这里是什么意思。case函数是否比IF更有用?->我相信case函数不支持float数据类型,因为我的目标传输天数为1.5天,即一天半。谢谢你的提醒。我不知何故意识到我没有使用偏执狂,然后它就起作用了。我也看到了你的解决方案。我也这样做了,但如果由于大客户经理的要求,不是空运,我还是需要反映业务部门。只是想知道是否真的有办法做到这一点。如果不可能,我就要了。但我只是想探索一下可能性。在这种情况下,应该使用switch语句。在Cognos中,一个开关将是:当[Business Unit]=“Air Export”时为1,当[Business Unit]=“Air Import”时为1,然后0结束,您可以根据需要添加