报表上的一些背景SUM基于约束的公式字段: 这是对我们的员工在我们企业工作的生产率报告。我们根据客户访问的持续时间来确定他们的生产力。我们的一些员工提供小组会议。他们向小组内的每个客户收费,即使他们只给予例如一小时的服务,但如果小组中有10人,他们可以支付10小时的费用。我们确定他们通过服务代码提供的服务。试图从另一个领域
所以,我有这个公式,一个服务代码字段和持续时间字段中的两个字段。
持续时间字段最初是从数据库中一个字符串字段,即使只给数量的数据,所以我将其更改为numberVar。服务代码字段也是一个字符串字段,它有时确实包含字符和数字。
我需要Crystal Reports来做的是拿走持续时间的总和。但是,如果服务代码是例如“1000”,则它必须首先将持续时间除以3,然后对其进行求和。这是我陷入困境的地方。
这里是我的时间码:
local numbervar num1;
If GroupName ({billing_tx_charge_detail.v_SERVICE_CODE})="1530" then
num1 := ToNumber({billing_tx_charge_detail.v_duration})/3
else num1 := ToNumber({billing_tx_charge_detail.v_duration})
然后我做一个单独的公式的总和,命名sumDuration:
Sum(@duration)
我得到这个字段不能概括的错误。在Google搜索了两天之后,我发现Crystal无法总结涉及常量的字段或公式。如果我简单地说:
local numbervar num1;
num1 := ToNumber({billing_tx_charge_detail.v_duration})
然后我可以总结@duration。我错过了什么?它必须是简单的,但我只是没有看到它。有没有办法创建一个自定义函数来完成我想要获得的内容?或者它比这更简单?
一个人建议,为了做到计算之前的数据获取到报告创建一个SQL命令。我是一个SQL新手,所以我不知道该从哪里开始。
这工作就像一个魅力。除了3之后,我在声明中加入了“else”。所以引起我的麻烦的唯一原因是引用了组名?哇。 另外,如果我要引用几个服务代码而不是仅仅1530,那么我可以简单地通过添加AND或OR关键字来完成此操作吗?还是CR有一些特殊关键字用于在条件中包含多个值? –
{billing_tx_charge_detail.v_SERVICE_CODE})在( '1530', '1531', '1532', '等等...') – CoSpringsGuy
{billing_tx_charge_detail。('1530','1531','1532','等等')中的'v_SERVICE_CODE} – CoSpringsGuy