如何在COGNOS中使用IF和CAST功能?

时间:2018-06-10 17:07:59

标签: if-statement casting cognos cognos-10

如果[业务部门] ='空运出口'则'1' ELSE [业务部门] END

业务部门包括   - 空运出口   - 空运进口   - 海运出口   - 海上进口

我的目标是描绘仅限航空出口的过境目标天数,该天数始终为1天。

目前,我正在做一个名为“ Transit Target 1 ”的数据项。

将会有一个名为“总运输目标”的数据项,其中包括“运输目标1”,“运输目标2”和“运输目标3”。

我想施放'1'作为浮动,以便我稍后对“总运输目标”进行计算。

我该怎么做呢?请帮忙。

2 个答案:

答案 0 :(得分:1)

您将遇到投射结果的问题。问题是结果,因为编码将导致五个可能的值:

  • Air Export
  • Air Import
  • 海上出口
  • 海上进口
  • 1

只有最后一个值可以成功转换为数字(或浮点)类型。

我要做的是修改你的IF ...然后输出1或0,两个整数,因此已经采用适当的形式进行计算:

IF ([Business Unit] = 'Air Export')
THEN (1) 
ELSE (0)

请注意,两个结果值都没有引号。它们将是整数类型,可以在caclulations中使用

Cognos中IF..THEN的一些提示。所有条件和结果都必须用括号括起来。此外,还必须有一个ELSE子句。最后,没有END。这在CASE声明中使用。

答案 1 :(得分:0)

我不想让我听起来像是被动地 - 无益地帮助我,但我想我可能想从探索CAST功能开始。

你将在哪里获得" Total Transit Target"的其他价值?即在哪里"过境目标2"和#34;过境目标3"来自(哪里?基于业务部门的其他计算?案例函数是否比IF更有用?

谁在确定目标?对象的目标值是否会发生变化?未来的空气出口是否有可能成为另一个价值,至少在某些情况下如此?如果在您的数据库中捕获此信息会更好,至少因为它可见,可在其他报告上下文中使用,并且可维护吗?另外,在处理时节省了一点点。