我正在创建一个交叉表报告,显示地鼠龟(if you must know what that is)监测站的调查历史。对于给定的调查,并不是所有的站点都被监视,有时当我们监视时,我们没有发现任何站点,因此记录了一个0,这是一个有效的结果。
在交叉表中,当不使用工作站时,我希望它显示为"N/A“或其他等效项,但当它为零时,我希望它保持为零。
我已经找到了很多关于如何将空值更改为零的方法,但是当你想要保留零并以某种方式注意到空值时,我什么也找不到。
下面是交叉表应该是什么样子。你会看到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交叉表中保留零并在空值中放入一些文本呢?
谢谢!
发布于 2015-04-23 23:58:13
因为CR不区分交叉表中的空值和实际零,所以您可以尝试用占位符替换实际的零值,以便区分它们。请注意,只有当您尝试显示值而不进行任何聚合计算时,此解决方案才有效。
首先,创建一个用占位符值替换零的公式。在本例中,我使用-1,因为这个数字永远不会出现在数据库中。
//{@Survey Num}
local numbervar totalSurvey;
totalSurvey:={Table.ActiveBurrows} + {Table.InactiveBurrows};
if totalSurvey=0 then -1 else totalSurvey
使用此公式创建交叉表。现在,您需要设置一个显示字符串,以便所有内容都能正确显示。右键单击你的交叉表中的一个单元格,点击"Format Field“→选择"Common”选项卡→,然后创建一个“显示字符串”公式。这个公式应该是这样的:
if currentfieldvalue=-1 then "0" else if currentfieldvalue=0 then "N/A" else totext(currentfieldvalue,0,'')
现在,您基本上只是在占位符的顶部打印实际值。
https://stackoverflow.com/questions/29781394
复制相似问题