2012-04-27 35 views
1

因此,與我已經創建了自己有一組參數,當沒有具體的數值是過去進去,那麼報告會將它,就好像你對所有可能的解決方案的數據報告。水晶報表當參數中沒有值時,參數顯示「全部」?

例如:您有機器名稱作爲參數,並且您沒有放入傳遞給參數的特定機器名稱。然後你得到數據庫中所有可能的機器名稱返回的數據。下面是我正在談論的一個例子。

enter image description here

然而,當我把沒有價值到參數字段沒有值被顯示在報告中。我想讓它將「全部」顯示到該字段中,而不是將其重新顯示爲空白。

所以我的問題是如何將我去顯示「所有」裏的紅圈報告,而不是它的到來爲空白時,沒有值被放在一個參數?

任何幫助或建議,非常感謝。謝謝。

回答

8

這聽起來像你已經有記錄選擇排序。在紅色圓圈四個字段會像:

if hasvalue({?param}) then 
{?param} 
else 
'All'; 

如果其中任何一個都沒有,你可能需要做字符串值:

if hasvalue({?param}) then 
cStr({?param}) 
else 
'All'; 
+0

這應該被標記爲答案,它的工作原理其中'ISNULL()'不會。 – 2013-12-17 20:19:54

2

可選參數要求您使用hasvalue()功能檢查的情況下,當沒有使用的價值。所以你的情況,如果你有

{table.machine_name} = {?machine_name_param}

你反而會不得不使用

(not(hasvalue({?machine_name_param})) 
or {table.machine_name} = {?machine_name_param})

這基本上就像在做一個空檢查,就像您對任何數據庫字段。

-1

水晶2008語法 如果參數的類型是數字 語法 ({2 P#} = 0或{Command.p} = {2 P#})

如果參數是字符串類型 SYNTAX (未的HasValue({?d})OR {命令的。 d} = {?D})