[問題] SAS變數的尾數篩選

看板Statistics作者 (小情歌)時間16年前 (2007/12/03 16:43), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/2 (看更多)
我們想分析一連串期貨結算價 (VAR 9) 結算價為4位數的阿拉伯數字 而且是數字格式(ex 9236 8737) 不是文字格式 現在我們想整理100萬筆結算價的資料 想把資料分為尾數為分別為0 1 2 3 4 ... 9的次數 我們在書上查到的指令為 substr 我們想挑出結算價中的最後一位數為y 指令如下 y=substr(var9,4,1); output; 在output後 有新增y欄位 可是欄位中卻沒有數字 請問這是什麼原因 該怎麼解決呢 還是我們可以利用其他的指令呢 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.186.167

12/03 17:16, , 1F
因為你在資料裡面看到的數字長度不等於實際欄位長度
12/03 17:16, 1F

12/03 17:17, , 2F
如果實際欄位長度是5,但所有數據都只有四碼的話,第一個
12/03 17:17, 2F

12/03 17:18, , 3F
位元會變成空白,但在substr時還是要納入計算
12/03 17:18, 3F

12/03 23:04, , 4F
如果你確定你的數字都是四位的話,可以試一下下面指令:
12/03 23:04, 4F

12/03 23:04, , 5F
y=substr(left(var9),4,1);
12/03 23:04, 5F

12/03 23:05, , 6F
將var9 靠左對齊,然後取第四位, 有效的話就喊一聲吧
12/03 23:05, 6F
文章代碼(AID): #17Ky6rTr (Statistics)
文章代碼(AID): #17Ky6rTr (Statistics)