2015-04-21 77 views
1

我正在創建顯示地鼠龜(if you must know what that is)監測站的調查歷史的交叉表報告。並不是所有的電臺都對特定的調查進行監控,有時當我們監控時我們沒有發現任何電臺,因此記錄爲0,這是一個有效的結果。交叉表水晶報告空值vs零

在不使用電臺的交叉表中,我希望它說「N/A」或其他等價物,但當它爲零時,我希望它保持爲零。

我已經找到了如何將null更改爲零,但沒有什麼時,當你想保持零並以某種方式記下空。

以下是交叉表的樣子。你會發現2004年1月1日在Station4的0是「真實的」(意思是我們沒有找到),但是所有的N/A都是我們沒有使用該站的時候。

      Survey Dates 
|   | 1/1/2000 | 1/1/2002 | 1/1/2004 | 1/1/2006 | 
|----------|----------|----------|----------|----------| 
| Station1 | 9  | 5  | N/A  | N/A  | 
| Station2 | 5  | 7  | 2  | 6  | 
| Station3 | N/A  | N/A  | 6  | 9  | 
| Station4 | 10  | 9  | 0  | 11  | 

這是Oracle表是什麼樣子的1/1/2000調查爲例

| SurveyID | StationID | Number | 
|----------|-----------|--------| 
| 1  | 1   | 9  | 
| 1  | 2   | 5  | 
| 1  | 4   | 6  | 

所以,基本上怎麼我保持零的,並放置在空一些文字一個CR交叉表?

謝謝!

+0

您是否在交叉表中的任意位置彙總了這些調查號碼?換句話說,每個工作站在交叉表中的每列中只有一個數據庫值? – Ryan

+0

其實不......我試圖保持簡單,因爲我不認爲它很重要。 Oracle表格實際上看起來像 – opuntia

+0

讓我開始我的評論,因爲我被打斷了,並且我通過了5分鐘的標記...... @ ryan感謝您的回覆。其實不......我試圖保持簡單,因爲我認爲它不重要。 Oracle表實際上有兩個「數字」字段(一個用於活動的洞穴,另一個用於非活動的洞穴)。然後,我創建了一個公式字段,將這兩個字段相加。這是我在交叉表中包含的公式字段。但是,我還創建了另一個報告,將非活動字段和活動字段分別放在交叉表中,我仍然遇到同樣的問題。 – opuntia

回答

0

由於CR不會區分交叉表中的零和實際零,因此您可以嘗試用佔位符替換實際的零值,以便區分差異。請注意,只有在您嘗試顯示值並且不執行任何聚合計算時,此解決方案纔會起作用。

首先,創建一個將用一個佔位符值替換零的公式。在這種情況下,我使用-1,因爲該數字永遠不會出現在數據庫中。

//{@Survey Num} 
    local numbervar totalSurvey; 
    totalSurvey:={Table.ActiveBurrows} + {Table.InactiveBurrows}; 
    if totalSurvey=0 then -1 else totalSurvey 

使用此公式創建您的交叉表。現在你需要設置一個顯示字符串,以便一切都正確顯示。右鍵單擊您的一個交叉表單元格→點擊「格式字段」→選擇「常用」選項卡→然後創建一個「顯示字符串」公式。該公式應該是這樣的:

if currentfieldvalue=-1 then "0" else if currentfieldvalue=0 then "N/A" else totext(currentfieldvalue,0,'') 

現在,您基本上只是在真實值上方打印佔位符。