2014-04-21 3 views
1

J'essaie de créer un jeu de données à l'aide de l'option Dataline basée sur les données que l'utilisateur saisit. Est-il possible d'ajouter dynamiquement les valeurs dans Dataline dans le processus stocké? Si non, comment vais-je faire cela?Comment ajouter dynamiquement des éléments aux datalines

EDIT: Je reçois l'entrée de l'utilisateur sous la forme d'un tableau de nombres. Je veux ajouter quelques champs supplémentaires pour former mon ensemble de données. Donc, en bref, l'ensemble de données que j'essaie de créer est une combinaison d'éléments de tableau de l'utilisateur et d'autres données basées sur ces nombres d'entrée.

entrées de l'utilisateur: 1234, 2345, 3456

Dataset: nombre | texte | id
1234 | "Quelque chose 1" | 1
2345 | "Quelque chose 2" | 2
3456 | "Quelque chose 3" | Les cartes Datalines/cartes ne doivent pas être utilisées dans les systèmes de production de quelque type que ce soit.

Répondre

0

Entre autres choses, ils sont illégaux dans un% include, qui est souvent utilisé dans les systèmes de production.

Je crois que la valeur par défaut dans une procédure stockée est de renvoyer des variables de macro (basé sur le name donné au champ dans le formulaire de saisie). Vous pouvez soit l'affecter directement à une variable de jeu de données, soit si c'est beaucoup de texte à analyser, écrire la variable de macro dans un fichier texte et la lire. Plus d'informations sur la manière appropriée de gérer cela pour votre cas peuvent être disponible avec plus d'informations dans la question.

Compte tenu des modifications, et en supposant que vous obtenez la valeur 1234, 2345, 3456 dans une variable macro &number, vous pouvez faire quelque chose comme ceci:

data want; 
_numvar = "&number."; 
do _t = 1 to countc(_numvar,",")+1; 
    number = scan(_numvar,_t,","); 
    text = catx(" ","Something",substr(number,1,1); 
    id = input(substr(number,1,1)); 
    output; 
    keep number text id; 
end; 
run; 

Je ne sais pas comment vous construisez text et donc je id juste fait quelque chose là-haut.

+0

Edité la question pour une meilleure compréhension –

+0

Je vais essayer dans cette direction. Juste une petite chose, le & & est un tableau et non une chaîne. Mais je suppose que je serai capable de gérer ça. Merci. –

+0

Cela a fonctionné. Merci mec. –

Questions connexes