Sql 有没有办法避免在Cognos报告提示值中具有一个列值(表业务键之一)的空值的顶行

Sql 有没有办法避免在Cognos报告提示值中具有一个列值(表业务键之一)的空值的顶行,sql,cognos,cognos-10,cognos-bi,Sql,Cognos,Cognos 10,Cognos Bi,有没有办法避免在Cognos报告提示值中具有一个列值(表业务键之一)的空值的顶行 当用户在值提示(Cognos Report Portal)中未选择任何值并单击FINISH按钮时,结果包括包含其他具有空值的列的列(具有值的业务键之一) 选择整张桌子也一样 `Select * From InsuranceTable` 在Cognos中,当用户选择不在值提示中选择任何内容时,是否有办法避免前10行 Business_Sub_Division Business_Division_Name

有没有办法避免在Cognos报告提示值中具有一个列值(表业务键之一)的空值的顶行

当用户在值提示(Cognos Report Portal)中未选择任何值并单击FINISH按钮时,结果包括包含其他具有空值的列的列(具有值的业务键之一)

选择整张桌子也一样

`Select * From InsuranceTable`
在Cognos中,当用户选择不在值提示中选择任何内容时,是否有办法避免前10行

     Business_Sub_Division  Business_Division_Name  Claim_Handling_Unit
   1 NULL                   Construction            NULL
   2 NULL                   Binding Operations      NULL
   3 NULL                   E&S Casualty            NULL
   4 NULL                   Executive Assurance     NULL
   5 NULL                   Facultative Reinsurance NULL
   6 NULL                   Healthcare              NULL
   7 NULL                   Professional Liability  NULL
   8 NULL                   Open Brokerage          NULL
   9 NULL                   Property                NULL
  10 NULL                   Special Risks           NULL
  11 Asset Protection       Executive Assurance     Canada - Claims
  12 Captive Agents         Property                Executive Assurance
  13 Excess Casualty        Healthcare              Europe - Claims
  14 Financial Institutions E&S Casualty            Executive Assurance

我对你想要达到的目标有点困惑。但是,如果您只是想筛选出第1列和第2列为NULL的行,即使用户没有从提示中选择值,那么您的筛选结果可能如下所示(假设您在值提示中选择Claim_Handling_Unit):

您有两个逻辑位,一个不选择任何内容,另一个选择值。如果没有选择任何值,那么我们只选择其他两个值都不为null的行。关键是这两个条件不重叠。不是吗?波拉姆?丢失或不丢失

您还可以使用IF…来完成相同的逻辑,如下所示:

IF (?param? IS MISSING) 
THEN ([Businss_Sub_Division] IS NOT NULL AND [Claim_Handling_Unit] IS NOT NULL) 
ELSE ([Claim_Handling_Unit] = ?param?)
…或与案例陈述一起

CASE 
WHEN (?param? IS MISSING) THEN ([Businss_Sub_Division] IS NOT NULL AND [Claim_Handling_Unit] IS NOT NULL) 
ELSE ([Claim_Handling_Unit] = ?param?) 
END

你真棒!非常感谢。那个?波拉姆?在cognos为我工作。(?参数缺失,[Businss_Sub_Division]不为空,[Claim_Handling_Unit]不为空)或(?param?不缺失,[Claim_Handling_Unit]=?参数?)
CASE 
WHEN (?param? IS MISSING) THEN ([Businss_Sub_Division] IS NOT NULL AND [Claim_Handling_Unit] IS NOT NULL) 
ELSE ([Claim_Handling_Unit] = ?param?) 
END