我正在创建一个交叉表报告,显示地鼠龟(if you must know what that is)监测站的调查历史记录。并非所有站点都针对给定的调查进行监控,有时当我们监控时,我们找不到任何站点,因此记录0是有效的结果。
在不使用电台的交叉表中,我希望它说“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 |
这是以1/1/2000调查的Oracle表格为例
| SurveyID | StationID | Number |
|----------|-----------|--------|
| 1 | 1 | 9 |
| 1 | 2 | 5 |
| 1 | 4 | 6 |
那么,基本上我如何保留零并在CR交叉表中的空值中加入一些文本?
谢谢!
答案 0 :(得分:0)
因为CR没有区分交叉表中的空值和实际零,所以可以尝试用占位符替换实际的零值,这样就可以区分出来。请注意,此解决方案仅在您尝试显示值而不进行任何聚合计算时才有效。
首先,创建一个用占位符值替换零的公式。在这种情况下,我使用-1,因为该数字永远不会出现在数据库中。
//{@Survey Num}
local numbervar totalSurvey;
totalSurvey:={Table.ActiveBurrows} + {Table.InactiveBurrows};
if totalSurvey=0 then -1 else totalSurvey
使用此公式创建交叉表。现在您需要设置一个显示字符串,以便一切正确显示。右键单击其中一个交叉表单元格→点击"格式字段" →选择" Common"选项卡→然后创建一个"显示字符串"式。那个公式应该是这样的:
if currentfieldvalue=-1 then "0" else if currentfieldvalue=0 then "N/A" else totext(currentfieldvalue,0,'')
现在,您基本上只是在占位符的顶部打印实际值。