我的数据存储在Oracle中,我可以使用Crystal Reports运行报表的唯一方法。我有一组看起来像,,,,,,,,,,1,
或,1,,,,,,,
或,1,,,,,1,,,,1,
的数据。还有更多变化。
每一个都意味着记录的值为true。有大约54'刻度/逗号'我想要的是所有记录与X点的一个。因此,对于一个报告,我可能希望第10个点中的所有记录都有1个。可能还有其他时间我想要记录,其中1是在36之后。我同意它会拉出其他记录,但主要的一次我想要的是X点。
我如何得到这个?我尝试了一个Like命令,但这并没有缩小数据范围。我熟悉SQL但不熟悉Crystal。
任何帮助都会很棒。 TIA
答案 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 Morris
和CoSpringsGuy
来打扰这两个回复,从而发布我的回答。
您需要将两种解决方案结合起来才能获得所需的结果。
创建一个数字参数并提供1到57个数字,或只保留一个字段以输入所需的数字。
现在在记录选择中使用CoSpringsGuy
if instr({databasefield.column},"1") = {?Inputnumber} --parameter field
then {databasefield.column}