License [fr]
English version [en]

FONCTIONNALITES  STATISTIQUES : MODE  SIMPLE


IDSS utilise des questionnaires en html (.doc converti sous Word ou html produit en format natif par un logiciel du type NVU ou KOMPOZER, disponible gratuitement http://www.kompozer.net).

Deux types de modes de lecture sont prévus : le mode simple et le mode questionnaire. Cette page présente le mode simple.

1. Input

Le questionnaire est lu à partir de l'input :

-i  (chemin du questionnaire)

L'application détermine la valeur des items de saisie ainsi que leur cumul par ligne, variable et question.

                 1.1 Lecture des lignes de commentaire

Il est possible de spécifier manuellement les noms de variable, labels et formats correspondants, par lecture d'une ligne de commentaires introduite par le digraphe //  comme suit :

//  variable    label    format    modification

Le champ modification correspond à  des items de saisie supplémentaires demandés par les opérateurs de saisie, et qui s'ajoutent aux formats prévus lors de la conception du questionnaire. Il n'est lu sur les questionnaires qu'en dernière position des lignes de commentaires, avant une balise de paragraphe fermante (</p>). L'option -M doit être spécifiée en ligne de commande pour que la lecture de ce champ soit effective.
Le format réel est donc la somme du format et du champ modification.
Il peut être codé selon les conventions du langage C :

%Ns    champ de N caractères (%s pour un seul caractère)
%Nd    champ de N chiffres (%d pour un seul chiffre)

ou du logiciel SAS :

$N.      champ de N caractères ($1. pour un seul caractère)
N.        champ de N chiffres (1. pour un seul chiffre)

Les notations relatives aux décimales de C ou de SAS ne sont toutefois pas utilisées ; une entrée décimale du type :

            3.3   ou   3,3

sera ainsi enregistrée par le format %3d,  ou 3. sous SAS (R), le séparateur des décimales comptant pour une position de saisie/lecture.

    Cliquer ici pour voir l'exemple 1
                                     

                1.2 Génération automatique des noms de variable et des labels

Les noms de variable, labels et informats peuvent être lus sur le questionnaire. Il suffit alors d'insérer des doubles symboles // avant chaque variable dans le questionnaire :

    Cliquer ici pour voir l'exemple 2

Lorsqu'il y a une et une seule variable par question, il est possible de ne pas insérer des doubles caractères // pour isoler les variables sur le questionnaire, en utilisant l'option -O. Ce n'est pas le cas dans l'exemple 2, puisque nous avons deux variables pour la même question.
Pour chacune des variables introduites par //, un nom de variable automatique est créé en l'absence de nom explicitement renseigné.
L'automatisation du nom de variable produit des noms du type VAR1, VAR2, ..., VARN (option -A).
L'informat est automatiquement calculé : les cases de tableau sont par défaut du format numérique, sauf lorsqu'un caractère alphabétique y est détecté.                                                                                               
                                                                                               Revenir au début
Dans ce cas, l'informat est automatiquement converti en chaîne de caractères.
L'automatisation des labels permet de récupérer dans le texte de la question des segments de texte entre accolades (option -U).
Dans le cas où cette fonctionnalité est activée, il importe de n'utiliser les accolades que pour cet emploi. L'utilisation d'accolades ouvrantes ou fermantes non refermées/non ouvertes produira un message d'erreur et la sortie de l'application.
Lorsque le questionnaire est mis en forme (option -o) le nouveau questionnaire ainsi produit ne comporte plus aucune accolade. Ces caractères sont remplacés par le sépareteur ASCII de code hexadécimal 0x1F, qui n'apparaît pas à l'impression. Les questionnaires ainsi mis en forme peuvent être utilisés avec l'option -i ou -ir, les séparateurs 0x1F jouant le même rôle que les accolades. Il est également possible d'utiliser ces séparateurs à la place des accolades dès la conception du questionnaire.

    Cliquer ici pour voir l'exemple 3

Lorsque plusieurs variables sont introduites dans la même question, les accolades ne doivent pas figurer dans le texte de la question entre le numéro N. et la fin du premier paragraphe de la question. Cette possibilité est ouverte lorsqu'il y a une seule variable par question :

    Cliquer ici pour voir l'exemple 4

                1.3 Automatisation partielle

Il est possible d'utiliser une combinaison des options d'automatisation et de la saisie manuelle des noms de variable, labels et informats sur les lignes de commentaire.
L'option -H permet d'ignorer les noms de variable, labels et informats de la ligne de commentaire pour ne lire que les modifications demandées par l'opérateur de saisie (dans le cas où le dessin d'enregistrement effectif serait différent de celui qui était prévu).
Le tableau 3 résume les différentes combinaisons possibles des options d'automatisation et du format des lignes de commentaire.

               1.4 Génération automatique des formats

Certains champs du questionnaire correspondent à des zones de saisie. Ces champs sont identifiés et le nombre de caractères (positions de saisie) correspondant à chaque champ de saisie est automatiquement calculé.
Trois types de champs peuvent être identifiés :

                1. les grilles de saisie

Supposons qu'une variable contient une grille de saisie ("peigne") constituée de N cases de tableau, réparties dans un nombre quelconque de lignes.
Ces cases peuvent être séparées ou non par du texte, contiguës ou non. La variable aura alors pour format %Nd (ou %Ns, ou $N., ou N., selon les cas). Un exemple de calcul du format pour les grilles de saisie est donné en annexe.

                2. les cases à cocher

La même option permet également d'identifier les cases à cocher (checkboxes), utilisées pour les réponses fermées binaires (oui/non).
Le format de ces cases à cocher est du type %s (ou $1.)

                3. les caractères diacritiques

Des caractères diacritiques sont prévus pour signaler à l'application que la ligne qui suit ce caractère contient une question fermée. Le caractère '-' (tiret simple) est réservé par l'application. Deux autres caractères réservés peuvent être spécifiés à l'étape de compilation par des directives.
Des précisions sur les caractères diacritiques sont données dans la rubrique Spécifications.
Un exemple de calcul de formats pour les questions fermées est donné en annexe.

Lorsque l'option -A est activée, le calcul automatique des formats, qui est réalisé dans tous les cas de figure, est utilisé pour écrire l'étape DATA d'importation du fichier plat en base SAS (voir 4). Inversement, lorsque cette option n'est pas activée, le format doit être explicitement renseigné sur la ligne de commentaires introduite par le digraphe //

2. Output : questionnaire mis en forme

La mise en forme du questionnaire d'enquête comprend :
    - la mise en forme (couleur, style, taille de police) des questions et numéros de question ;
    - l'actualisation des numéros de questions ;
    - l'insertion d'informations nouvelles, à titre optionnel, ainsi que leur mise en forme : numéros de ligne du questionnaire,
      lignes de commentaires, compteurs d'items de saisie.

Un exemple de mise en forme est donné ici ainsi que dans l'exemple 5 et dans l'exemple 6.
Cette opération de mise en forme produit un nouveau questionnaire, sauf si l'option -r est activée. Dans ce cas, le fichier initial est transformé et la version d'origine est perdue.
La mise en forme des questionnaires peut être désactivée par l'option -a.
Une fois le questionnaire lu, il peut être reformaté pour donner un questionnaire colorisé. Il faut alors activer l'option :

-o  (chemin du formulaire reformaté)

Les couleurs sont paramétrables pour le numéro de question, les questions, les numéros de lignes, les zones de commentaires (noms de variable, labels, informats) et les compteurs d'items par question.
                                        Revenir au début
Elles peuvent être choisies dans la liste suivante (termes anglais liés au codage HTML) :

rgb(x%, y%, z%) : spécification RVB
                                 x, pourcentage de rouge ; y, pourcentage de vert ; z, pourcentage de bleu

black : "noir" ; navy : "bleu marine" ; green :"vert" ; teal : "bleu" ;
maroon : "marron" ; purple : "violet" ; olive : "vert olive"; silver : "argent" ;
gray : "gris" ; lime : "vert clair" ; aqua : "bleu turquoise" ; red : "rouge" ;
 
orange: "orange" ; white : "blanc" ; yellow : "jaune" 


Les couleurs de numéros de questions et des questions sont introduites par -q (couleur du n°) (couleur de la question).
La couleur des numéros de ligne est donnée par -l (couleur).
La couleur des compteurs d'items de saisie est donnée par -n (couleur).
Enfin, la couleur des lignes de commentaire peut être spécifiée par -c (couleur).
Lorsque  -l, -n ou -c ne sont pas utilisés, les informations correspondantes ne sont pas insérées dans la mise en forme du questionnaire. Lorsque -q n'est pas utilisé, le texte du numéro de question et de la question elle-même n'est pas colorisé.
Lorsque -q est utilisé avec une seule couleur, cette couleur est affectée au numéro de question. Le couleur de la question sera la couleur par défaut de la question.
Lorsque -l, -n, ou -c sont utilisés sans spécification de la couleur, c'est également la couleur par défaut pour chacune de ces options qui est utilisée. Ces couleurs peuvent être différentes.
Les couleurs par défaut sont définies par le fichier constants.h. Elles sont rappelées ci-dessous, pour chacune des options :

-q (numéro de question) navy
    (question) lime
-l red
-n orange
-c maroon

En outre, les balises HTML de ces zones peuvent être partiellement spécifiées :
    - la grasse (option -K1) et le style de la police des lignes de commentaires (option -K2) ;
    - la taille de la police des numéros de ligne (option -K3), des lignes de commentaire  (option -K4) ;
    - le style (neutre, gras, italique) des questions (option -K5), des numéros de question (option -K6).

L'option K1 est suivie d'un nombre (typiquement entre 500 et 1000) ; l'option K2 d'une mention de style (italic, bold).
Des nombres typiquement compris entre 6 et 12 suivent K3 et K4. Les options K5 et K6 utilisent des têtes de balise (b pour bold, "gras" ; i pour italic, "italiques" ; span pour "étendue neutre");

Lorsque l'option de formatage du questionnaire est activée, les numéros de question sont réactualisés.
L'original peut ainsi simplement comporter des 1. (ou n'importe quel numéro inférieur à 1000), suivis du texte de la question courante, pour chaque question.

3. Output : fichier plat et fichier à séparateurs

Les informations collectées sur le questionnaire permettent ensuite de traiter la base (fichier plat) issue des opérations de saisie pour produire des fichiers de type .csv, .txt, ou avec un séparateur spécifié quelconque (mono-caractère) pour importation sous tableur de type MS-Excel ou Calc.
Ces bases sont produites par l'activation des options :

-B  -e  (chemin du fichier plat)  -s  (chemin de la base à séparateurs)

et, optionnellement :

-$  (caractère séparateur de variables)   -d  (caractère séparateur des décimales)

Les séparateurs de décimales peuvent être transformés (par exemple . en ,) ce qui est utile par exemple pour passer de SAS à  Excel. Il convient d'éviter de confondre les séparateurs de décimales et de champs.
Pour éviter ce problème sous csv, le format csv (ligne de commande -$ "," ) est converti en séparateurs à  point-virgule lorsque le format des décimales est également la virgule (ligne de commande -, ",").
Par défaut, le séparateur des variables est la tabulation, et le séparateur des décimales est la virgule.

Dans certains cas, le fichier plat peut contenir des espaces blancs à la place de valeurs nulles, ou vice-versa. Pour éviter des erreurs d'interprétation, il est alors nécessaire de convertir les espaces blancs en valeurs nulles. Cette transformation est automatiquement effectuée par l'option -z, avant l'insertion des séparateurs.

Il est possible d'extraire une sous-base de X lignes et Y colonnes de la base à séparateurs, constituée des lignes L à L+X-1 incluses et des colonnes C à C+Y-1 incluses, où L et C sont respectivement le rang de la première ligne et de la première colonne extraite (de haut en bas pour les lignes et de gauche à droite pour les colonnes).
Il suffit pour cela de spécifier :

-P  L  L+X-1   pour l'extraction des lignes,  et/ou

-I   C  C+Y-1  pour l'extraction des colonnes.                                      

La numérotation des lignes et des colonnes commence à  0, conformément aux conventions de type "langage C".

  Revenir au début

4. Output : étape SAS(R) DATA 

En outre, l'étape DATA d'importation des données sous SAS (R) peut être automatiquement générée.
La structure de ce programme SAS est la suivante :

        DATA  nom_de_bibliothèque(library).nom_de_base ;

            ATTRIB 
                NOM_DE_VARIABLE_1    LABEL_1
                NOM_DE_VARIABLE_2    LABEL_2
                NOM_DE_VARIABLE_3    LABEL_3
                    (...)
            ;
            INFILE  chemin_du_fichier_plat_à_importer
            options_sas
            ;

            INPUT 
           
            NOM_DE_VARIABLE_1     INFORMAT_1
            NOM_DE_VARIABLE_2     INFORMAT_2
            NOM_DE_VARIABLE_3     INFORMAT_3
                    (...)
            ;
            RUN;

L'exécution d'une étape DATA de ce type sous SAS permet d'importer un fichier plat et de le transformer en base SAS.  Les noms de variables et labels sont lus dans le questionnaire. Ils sont importés comme noms de variable et comme labels SAS. Les valeurs de chaque variable reçoivent l'informat SAS correspondant à l'informat lu dans le questionnaire (ou automatiquement calculé si l'option -A est activée).
Les informats peuvent être aussi spécifiés dans les lignes de commentaire introduites par //  après le noms de variable et le label. Dans ce cas l'option -A ne doit pas être utilisée. S'il existe un champ modification en dernière position de ligne de commentaire, l'informat transmis au programme SAS est la somme de l'informat et de la modification (voir 1.1)
 Si l'informat est spécifié selon les conventions du langage C, il est possible de convertir les valeurs portées dans le questionnaire en informats de type SAS en utilisant l'option -X. Cette option n'est activée que pour la génération d'étapes DATA du logiciel SAS.
Les paramètres du programme SAS sont spécifiés comme suit :

    -Ts    nom_de_bibliothèque(library).nom_de_base
    -To   options_sas
    -Te   chemin_du_fichier_plat_à_importer
    -T     chemin du programme .sas généré par cette option

 5. Output : table de correspondance

Une table de correspondance  peut être produite, qui donne le dessin d'enregistrement et son cumul, par ligne de questionnaire, variable et question (au choix). La table renseigne également les noms de variable, les labels, informats et modifications de l'informat demandées par l'opérateur de saisie.
La génération des tables est assurée par l'option -t et le répertoire qui contient les tables peut être spécifié par l'option -tp (chemin du répertoire)

    Cliquer ici pour voir l'exemple 7

Les trois colonnes #VAR (rang de la variable), #QUEST (rang de la question) et #LIGNE (numéro de ligne) sont toujours générées. Pour placer la colonne #VAR à gauche de la table, et ainsi obtenir l'ensemble des valeurs des autres colonnes pour chaque variable, l'option -Z sera sélectionnée.
Pour obtenir un affichage par ligne de questionnaire, il suffit de choisir -L à la place de -Z. L'option -Q permet d'afficher une table plus compacte, qui ne comporte que les valeurs des champs pour chaque question du formulaire.

    Cliquer ici pour voir le tableau des options de table

Revenir au début