2015-11-11 3 views
1

У меня есть набор данных, который имеет много переменных, все с числовыми значениями с десятичными знаками.десятичные точки в SAS

A 
12.456756 
134.677546 
1.44563 
86.56674998675 

Я хочу только два десятичных знака в переменной я использовал формат, но это только для отображения.

data want; 
set have; 
format A best5.2; 
run; 

Но когда я копирую набор данных в другую библиотеку или Oracle это показывает целые десятичные значения., Как можно сократить значение только до двух знаков после запятой?

ответ

0

Одним простым способом было бы преобразование форматированного числового значения в значение символа. При импорте этого в другую базу данных значение символа не связано ни с каким форматом, а только с строкой. Вы должны преобразовать его обратно в числовое то, но, по крайней мере, другая базе данных не нужно знать что-то о SAS-формиатах:

data want; 
set have (rename=A=Atemp); 
A= put(Atemp,best5.2); 
drop Atemp; 
run; 
3

Используйте функцию ROUND().

data have ; 
    input A; 
cards; 
12.456756 
134.677546 
1.44563 
86.56674998675 
; 

data want ; 
    set have ; 
    b = round(a,0.01); 
    put @5 a @20 b ; 
run; 

12.456756  12.46 
134.677546  134.68 
1.44563  1.45 
86.566749987 86.57 
Смежные вопросы