2017-07-06 32 views
0

我的报告有2个必需的参数(Source; Location和2个可选的参数Access Type; Access Complication)我测试了这个查询并证明它可以正常工作。如果我填充每个参数,报告也可以工作。报告的多个可选参数

没有并发症param,所有并发症应该返回,但没有病人。如果只选择访问类型,则应该获得分配给所选访问类型的所有并发症的患者列表。但是如果其中任何一个参数被省略,我会得到没有记录。

我试图在选择专家hasvalue配方,无果

(not hasValue({?AccessType}) OR {Command.AccessType} = {?AccessType}) 
and 
(not hasValue({?AccessComplication) OR {Command.AccessComplication} <= {?AccessComplication}) 

如果我在选择专家设置一个新的公式访问类型,然后访问并发症上述hasvalue公式,然后取其我第二次覆盖第一个。它们似乎不能彼此并排存在

回答

2

在公式中使用时,可选参数成为强制参数。故事结局。

要实现类似的目标,请将您的参数作为all*(表示SQL中的所有记录)发送。在选择所有数据之前,请检查您的“可选”参数值,如果它们有all*,请在不包含这些参数的情况下编写选择公式。

伪代码看起来应该像这样2个强制性和2可选PARAMS:

if param3 = "all" or param4 = "all" 
    if param3 = "all" and param4 = "all" select data only with param1 and param 2 
    else 
     if param3 = "all" select data without param3 
     if param4 = "all" select data without param4 
else select data with all params 
+0

感谢KuKeC - 但鉴于报告我认为这是比较容易让所有PARAMS强制性的复杂性和用户只需选择所有的价值,如果那是什么是理想的。 –

+0

这将是最好的结果,所以你不必查找所有参数值,只需全部选择它们。4.希望它对你有所帮助 – KuKeC

+0

它的确如此 - 再次感谢。 –