Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/06/2008, 10h08   #1
Membre actif
 
Inscription : avril 2008
Messages : 526
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 526
Points : 169
Points : 169
Par défaut Augmenter le nombre de chiffres après la virgule

Salut,

Dans mes tables, j'ai des données qui ont 10 chiffres après la virgule.
Je voudrais savoir si on pouvait régler ce nombre pour atteindre 15 chiffres après la virgule.

Merci.
stefsas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h06   #2
Membre confirmé
 
Inscription : avril 2008
Messages : 233
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2008
Messages : 233
Points : 216
Points : 216
Par défaut la longueur des variables numériques est au maximum des capacités de SAS, à savoir - 8 octets. Ce qui donne à peu près 16 chiffres significatives (52 bit pour la mantisse). L'exposant prend les 11 bits qu'il reste, plus 1 bit pour le signe. Les chiffres sont valables pour Windows / UNIX. Sous z/OS c'est un peu différent.

Je ne suis pas sûr que je suis clair...

C'est à dire, il n'y a pas de notion de "nombre de chiffres après la virgule" dans le stockage de SAS, c'est une notion d'affichage uniquement. Par contre au niveau de stockage tu dispose d'un certain nombre de chiffres au total plus l'exposant.

Pour illustrer cette notion, il vaut mieux prendre des nombres a 3 octets uniquement. Là on a 24 octets dont 1 est pour le signe, 13 pour la mantisse et le reste est pour l'exposant.
13 bits de la mantisse nous donne le nombre entier maximal qu'on peut représenter exactement à 4096. C'est à dire qu'on ne peut pas mettre même une chiffre après la virgule. Essaie
Code :
1
2
3
4
DATA TEST;
	length x 3;
	x = 8096.1;
run;
Mais ça ne veut pas dire du tout qu'on a toujours 0 chiffres après la virgule:
Code :
1
2
3
4
DATA TEST;
	length x 3;
	x = 80.96;
run;
Il faut pas s'étonner de l'arrondi pas très orthodoxe de SAS - il est fait en binaire et il n'est pas toujours intuitif en décimal.
green_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 11h19   #3
Membre actif
 
Inscription : avril 2008
Messages : 526
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 526
Points : 169
Points : 169
Est-ce que c'est normal si dans toutes mes tables, il n'y a au maximun que 10 chiffres significatifs.
Y-a-t-il moyen de les mettre à 16 chiffres.
Merci.
stefsas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2008, 15h03   #4
Membre confirmé
 
Inscription : avril 2008
Messages : 233
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2008
Messages : 233
Points : 216
Points : 216
Comment tu sais qu'il n'y a que 10 chiffres ? A l'œil ? Ça ne donne que le nombre de chiffres du format appliqué, c'est à dire juste le nombre de chiffres visibles.
green_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 08h59   #5
Membre actif
 
Inscription : avril 2008
Messages : 526
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 526
Points : 169
Points : 169
Ok d'accord, mais alors est-il possible d'avoir l'affichage des 16 chiffres?
Merci.
stefsas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 09h43   #6
Membre confirmé
 
Inscription : avril 2008
Messages : 233
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2008
Messages : 233
Points : 216
Points : 216
Il faut appliquer un format à la colonne. Par exemple :
Code :
1
2
3
4
DATA SOURCE;
	SET SOURCE;
	format client 32.16;
run;
green_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 10h01   #7
Membre actif
 
Inscription : avril 2008
Messages : 526
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 526
Points : 169
Points : 169
Ok d'accord, mais je pensais plutôt à un réglage sur SAS ou une option de sorte que toutes les tables que je crée aient 16 chiffres.

C'est pas grave, merci quand même.
stefsas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 15h33   #8
Membre confirmé
 
Inscription : avril 2008
Messages : 233
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2008
Messages : 233
Points : 216
Points : 216
Encore une fois - juste pour être sûr que je me suis fais bien comprendre - il s'agit juste de réglage d'affichage. Pas du tout de précision des données.
green_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h10.


 
 
 
 
Partenaires

Hébergement Web