从Crystal Reports中提取数据

时间:2016-01-12 17:12:17

标签: oracle crystal-reports report

我的数据存储在Oracle中,我可以使用Crystal Reports运行报表的唯一方法。我有一组看起来像,,,,,,,,,,1,,1,,,,,,,,1,,,,,1,,,,1,的数据。还有更多变化。

每一个都意味着记录的值为true。有大约54'刻度/逗号'我想要的是所有记录与X点的一个。因此,对于一个报告,我可能希望第10个点中的所有记录都有1个。可能还有其他时间我想要记录,其中1是在36之后。我同意它会拉出其他记录,但主要的一次我想要的是X点。

我如何得到这个?我尝试了一个Like命令,但这并没有缩小数据范围。我熟悉SQL但不熟悉Crystal。

任何帮助都会很棒。 TIA

3 个答案:

答案 0 :(得分:0)

在Crystal中,您可以尝试设置参数字段以保存数值(1到54),然后在公式中将其用作记录选择。运行报告时,系统会提示您输入参数。

答案 1 :(得分:0)

在记录选择中,我最初会建议以下内容,这将带回12点中1的所有记录。但这使得很难恢复范围。

split({yourfield},",")[12] = 1

这将带回相同的

instr({@test},"1") = 12

然后根据您的建议,如果在36之后的任何一个地方有任何记录,您可以使用以下内容恢复任何记录

instr({@test},"1") >= 37

只要字段中只有一个1,您也可以将其用于其他范围。

答案 2 :(得分:0)

实际上,我不想通过Clayton MorrisCoSpringsGuy来打扰这两个回复,从而发布我的回答。

您需要将两种解决方案结合起来才能获得所需的结果。

  1. 创建一个数字参数并提供1到57个数字,或只保留一个字段以输入所需的数字。

  2. 现在在记录选择中使用CoSpringsGuy

  3. 给出的公式

    if instr({databasefield.column},"1") = {?Inputnumber} --parameter field then {databasefield.column}