上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
rusifar
註冊時間: 2012-11-06 文章: 7
第 1 樓
|
發表於: 星期二 十一月 06, 2012 2:30 pm 文章主題: 相同的條件式 SCOPE不同 結果差很大 |
|
|
使用AVERAGE,用了ALL可以正確的運算
但相同條件式,只有SCOPE不同 改為NEXT 10
照理來說最少要有個值 但竟然是0 真不知道怎麼回事
AVERAGE S ALL FOR A_csr.AA=B_csr.BB TO Avg
AVERAGE S NEXT 10 FOR A_csr.AA=B_csr.BB TO Avg2
兩句結果是ALL正確運算 NEXT不管多少全都是0
請問為何會這樣? |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 2 樓
|
發表於: 星期二 十一月 06, 2012 3:21 pm 文章主題: |
|
|
執行 AVERAGE S NEXT 10 FOR A_csr.AA=B_csr.BB TO Avg2 之前,
有沒有先 Go Top |
|
回頂端 |
|
 |
rusifar
註冊時間: 2012-11-06 文章: 7
第 3 樓
|
發表於: 星期二 十一月 06, 2012 3:26 pm 文章主題: |
|
|
有的 |
|
回頂端 |
|
 |
bx1166
註冊時間: 2011-12-06 文章: 273
第 4 樓
|
發表於: 星期二 十一月 06, 2012 3:43 pm 文章主題: |
|
|
你可能有開啟索引檔
所以你的next 10指標是跟著索引檔的指標
因為有時候會開啟多個索引檔 那麼你的next 10 就很複雜
看你需要的是哪個 next 10 |
|
回頂端 |
|
 |
rusifar
註冊時間: 2012-11-06 文章: 7
第 5 樓
|
發表於: 星期二 十一月 06, 2012 4:16 pm 文章主題: |
|
|
兩行中間有GO TOP 那NEXT 10應該是用在TOP的指標吧? |
|
回頂端 |
|
 |
bx1166
註冊時間: 2011-12-06 文章: 273
第 6 樓
|
發表於: 星期二 十一月 06, 2012 4:27 pm 文章主題: |
|
|
go top
那麼接下來的 10筆 就可能是索引檔的 next 10
重要的是 你只想算原來的 下10筆 不是索引檔的下10筆
把檔案的道理搞清楚之後 就可以了
你可以寫一段試看看
go top
x=1
do while .not. eof()
if (你的條件)
x=x+1
if x>11
exit
endif
? str(s)
endif
skip
enddo
wait
接著
close index
go top
x=1
do while .not. eof()
if (你的條件)
x=x+1
if x>11
exit
endif
? str(s)
endif
skip
enddo
wait |
|
回頂端 |
|
 |
rusifar
註冊時間: 2012-11-06 文章: 7
第 7 樓
|
發表於: 星期二 十一月 06, 2012 4:39 pm 文章主題: |
|
|
抱歉 b大
不過我要算的是從頭開始的下10筆
我需要的就是Avg=全體平均
Avg2=前10筆平均 |
|
回頂端 |
|
 |
bx1166
註冊時間: 2011-12-06 文章: 273
第 8 樓
|
發表於: 星期二 十一月 06, 2012 4:47 pm 文章主題: |
|
|
把那兩段加進去跑跑看 就知道是不是你要的結果了
加在go top後面
看看兩次結果是不是一樣 就可以了解了 |
|
回頂端 |
|
 |
bx1166
註冊時間: 2011-12-06 文章: 273
第 9 樓
|
發表於: 星期二 十一月 06, 2012 4:48 pm 文章主題: |
|
|
sele 1
use yourfile
go top
AVERAGE S ALL FOR A_csr.AA=B_csr.BB TO Avg
go top
AVERAGE S NEXT 10 FOR A_csr.AA=B_csr.BB TO Avg2
? str(avg)
? str(avg2)
wait
之所以avg2=0
是因為 next 10裡面 A_csr.AA=B_csr.BB 的筆數為0 |
|
回頂端 |
|
 |
rusifar
註冊時間: 2012-11-06 文章: 7
第 10 樓
|
發表於: 星期二 十一月 06, 2012 5:34 pm 文章主題: |
|
|
小子粗淺還是不了解
b大可否解惑為何筆數為0 |
|
回頂端 |
|
 |
bx1166
註冊時間: 2011-12-06 文章: 273
第 11 樓
|
發表於: 星期二 十一月 06, 2012 5:38 pm 文章主題: |
|
|
也就是 1-˙10筆裡面 符合 AA=BB 的 一筆也沒有 |
|
回頂端 |
|
 |
rusifar
註冊時間: 2012-11-06 文章: 7
第 12 樓
|
發表於: 星期二 十一月 06, 2012 5:42 pm 文章主題: |
|
|
原來是這樣!!
我看語法 一直以為是他會去抓AA=BB的前10筆
原來是我完全搞錯
小子厚顏
請問我該如何下手
才能抓AA=BB前10筆 |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 13 樓
|
發表於: 星期二 十一月 06, 2012 5:49 pm 文章主題: |
|
|
試看看
set filter to A_csr.AA=B_csr.BB
go top
AVERAGE S NEXT 10 TO Avg2 |
|
回頂端 |
|
 |
rusifar
註冊時間: 2012-11-06 文章: 7
第 14 樓
|
發表於: 星期二 十一月 06, 2012 6:04 pm 文章主題: |
|
|
感謝b大 c大 準確無誤完成所需! |
|
回頂端 |
|
 |
|