首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >交叉表Crystal Reports空值与零

交叉表Crystal Reports空值与零
EN

Stack Overflow用户
提问于 2015-04-22 03:27:04
回答 1查看 1.4K关注 0票数 0

我正在创建一个交叉表报告,显示地鼠龟(if you must know what that is)监测站的调查历史。对于给定的调查,并不是所有的站点都被监视,有时当我们监视时,我们没有发现任何站点,因此记录了一个0,这是一个有效的结果。

在交叉表中,当不使用工作站时,我希望它显示为"N/A“或其他等效项,但当它为零时,我希望它保持为零。

我已经找到了很多关于如何将空值更改为零的方法,但是当你想要保留零并以某种方式注意到空值时,我什么也找不到。

下面是交叉表应该是什么样子。你会看到2004年1月1日Station4中的0是“真实的”(意思是我们没有找到任何),但所有的N/A都是我们没有使用工作站时的。

代码语言:javascript
运行
复制
                          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表示例

代码语言:javascript
运行
复制
| SurveyID | StationID | Number |
|----------|-----------|--------|
| 1        | 1         | 9      |
| 1        | 2         | 5      |
| 1        | 4         | 6      |

那么,基本上如何在CR交叉表中保留零并在空值中放入一些文本呢?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-04-23 23:58:13

因为CR不区分交叉表中的空值和实际零,所以您可以尝试用占位符替换实际的零值,以便区分它们。请注意,只有当您尝试显示值而不进行任何聚合计算时,此解决方案才有效。

首先,创建一个用占位符值替换零的公式。在本例中,我使用-1,因为这个数字永远不会出现在数据库中。

代码语言:javascript
运行
复制
    //{@Survey Num}
    local numbervar totalSurvey;
    totalSurvey:={Table.ActiveBurrows} + {Table.InactiveBurrows};
    if totalSurvey=0 then -1 else totalSurvey

使用此公式创建交叉表。现在,您需要设置一个显示字符串,以便所有内容都能正确显示。右键单击你的交叉表中的一个单元格,点击"Format Field“→选择"Common”选项卡→,然后创建一个“显示字符串”公式。这个公式应该是这样的:

代码语言:javascript
运行
复制
if currentfieldvalue=-1 then "0" else if currentfieldvalue=0 then "N/A" else totext(currentfieldvalue,0,'')

现在,您基本上只是在占位符的顶部打印实际值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29781394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档