2016-01-12 82 views
0

我的數據存儲在Oracle中,我可以使用Crystal Reports運行報表的唯一方法是使用Crystal Reports。我有一組數據,看起來像這樣,,,,,,,,,,1,,1,,,,,,,,1,,,,,1,,,,1,。有更多的變化。從Crystal Reports中提取數據

每一個意味着一個值是真實的記錄。大約有54個'ticks/commas'我想要的是所有記錄都在X點上。因此,對於一個報告,我可能希望第10個點中的所有記錄具有1.可能有其他時間,我希望記錄中的第1個點在第36個點之後。我同意它會拉出其他記錄,但是主要的一次我想要的是X點。

我該如何得到這個?我嘗試了一個Like命令,但是這並沒有將數據範圍縮小得足夠遠。我熟悉SQL,但不熟悉Crystal。

任何幫助將是偉大的。 TIA

+0

對我來說,如果你選擇了存儲過程中的數據將是舒適,從你會調用該存儲程序水晶報告 – Juran

回答

0

在Crystal中,您可以嘗試設置一個參數字段以保存一個數值(1到54),然後在公式中將其用作記錄選擇。運行報告時系統會提示您輸入參數。

0

在記錄選擇中,我最初會提出以下建議,以便在12點中帶回1的所有記錄。但是這使得很難恢復一個範圍。

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

這將會帶回同一

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

那麼對於您的建議上面,你可以使用以下帶回任何記錄,如果它有一個在任何點後36

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

只要在該字段中只有一個1,您也可以將其用於其他範圍。

0

其實我不想打擾兩個回答Clayton MorrisCoSpringsGuy因此張貼我的答案。

您需要結合兩種解決方案才能獲得所需的結果。

  1. 創造了多項參數,並指定1到57倍的數字或只保留一個申請輸入所需的數字。

  2. 現在記錄選擇使用給出的公式由CoSpringsGuy

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