目前,我试图过滤输出,只显示折扣大于或等于60%的产品。变量折扣以50%,60%等格式列出所有值。
PROC SQL;
SELECT discount.Product_ID,Product_Name,Start_Date,End_Date,Discount
FROM Final.discount AS d, Final.product_dim AS p
WHERE d.Product_ID=p.Product_ID
AND Discount >= 60%;
QUIT;
我不知道为什么这不起作用,但是日志中的错误告诉我百分号无法识别?我如何解决这个问题以获得我想要的输出?
答案 0 :(得分:1)
假设变量是数字且应用了PERCENTw.d
格式(很可能PERCENT5.
给出了显示),你可以这样写:
Discount >= 0.6;
PERCENTw.d
格式显示0到1之间的数字为0% - 100%。
如果您的变量是字符,那么您可能需要先将其转换为数字(因为'100%' > '60%'
为false)。
input(Discount, PERCENT5.) >= 0.6
Rick Wicklin在the Do Loop的博文中详细介绍了这一点。