如何从 Cognos 10 Report Studio 中的多 select 参数中删除逗号?

How can I remove the commas from a multi-select parameter in Cognos 10 Report Studio?

我从文本提示开始,用户可以在其中输入表示一周中天数的字符串。例如M=星期一,输入MWF可以选择星期一、星期三、星期五。

我刚刚将提示更改为多 select 值提示,并修改了我的过滤器以使其正常工作。现在我的提示是这样的:

当用户 select 星期一、星期三、星期五的项目时,ParamValue 列表是 M,W,F.

如何将 MWF 显示为数据项?

具体来说,我想将新的日期与 selected 的时间结合起来,这样我可以获得 MWF 0800 - 1100 的输出结果,但时间值已经被处理了。

我能以某种方式索引多select值中的值吗?

编辑: 我还应该提到

的变体
?p_NewDays? ||  ' ' || ?p_NewStartTime? || '-' || ?p_NewEndTime? 

似乎不​​起作用,它只会列出 selection 中的第一项。 TO_CHAR 仅适用于日期。

您可以使用供应商提供的 replace() 函数将每个逗号替换为空字符串来完成此操作。但是,这种功能的实现因供应商而异。对于供应商中立的解决方案,您可以使用此表达式来做同样的事情:

CASE 
WHEN 'M' in ?param? THEN 'M' 
ELSE ''  
END 
||
CASE 
WHEN 'T' in ?param? THEN 'T' 
ELSE ''  
END 
|| 
CASE 
WHEN 'W' in ?param? THEN 'W' 
ELSE ''  
END 
|| 
CASE 
WHEN 'Th' in ?param? THEN 'Th' 
ELSE ''  
END 
|| 
CASE 
WHEN 'F' in ?param? THEN 'F' 
ELSE '' 
END 
|| 
CASE 
WHEN 'S' in ?param? THEN 'S' 
ELSE '' 
END 
|| 
CASE 
WHEN 'Su' in ?param? THEN 'Su' 
ELSE '' 
END 

我使用了通用的 ?param?对于参数名称。您必须更改它以匹配您的特定参数。

您没有说明如何区分周二和周四以及周六和周日。我简单地使用了一周的第一天的第一个首字母作为该字母的开头,并为第二个实例使用了一个常见的双字母缩写。