Crystal - 根据同一表中的另一个值选择特定字段值

时间:2016-04-27 22:26:51

标签: crystal-reports crystal-reports-xi

我正在尝试在我的报告中添加一个公式,该公式查看具有多个值的表,并返回与我的if语句匹配的值。

以下是表(选择)数据的示例

客户 - ItemID - Field1

12 _________ 05 ______红色

12 _________ 06 ______蓝色

12_________ 07 ______绿色

12 _________ 08 ______黑色

客户编号已传递到报告中。当我将此值添加到报表时,它会正确列出12

现在,我想添加一个公式,说“if({Selections.ItemID} = 05)”,然后选择.Field1 else'0'

在SQl中,这有效..它知道客户是12而ItemID是5,所以当我使用(从客户= 12和itemID = 5的选择中选择Field1)时,只返回单个值(红色)查询结果

然而,每当我将此公式添加到我的报告中时,它只显示0。 如果我只是将字段1添加到报表中,则只返回最高值。

需要做些什么才能使“逻辑查找”起作用。我希望能够在if / then中添加多行来检查每个ItemID值,然后显示该值的相应Field1数据。

1 个答案:

答案 0 :(得分:0)

如果可以的话,我会评论,但是如果我试图返回字符串,如果为true,则返回字符串时,我会遇到问题。 if语句只能返回一种数据类型,所以如果true返回一个数字(id)而false则返回字符串' test'你需要将id转换为字符串。

看看这是否有效。

if ({CustomerGROUPINFO.ITEMID}='25-Siding') then ToText({CUSTOMERGROUPINFO.FIELD1}) else 'test'