script d'analyse catégorielle de plusieurs colonnesBonjour,
J'ai une table de données (en pièce jointe) avec la première colonne (COD CAMP) qui est toujours la même mais les autres colonnes peuvent être différentes dans différentes tables (numéro différent et noms différents). Je veux scénariser l'analyse catégorique des autres colonnes par rapport à COD CAMP. De cette façon, l'analyse peut fonctionner quelle que soit la table de données (bien sûr, elle doit contenir COD CAMP). J'ai essayé le code jsl suivant avec plusieurs variantes mais sans succès. Quelqu'un peut-il aider? Merci beaucoup.
dt3 = Current Data Table();
n3 = dt3 << Get Column Names();
Show( n3 );
lstColNames_n3 = dt3 << Get Column Names();
Show( lstColNames_n3 );
Show( lstCols_n3 );
lstCols_n3 = {};
For( i = 1, i <= N Items( lstColNames_n3 ), i++,
colName = lstColNames_n3[i];
col = Column( dt3, i );
Insert Into( lstCols_n3, col );
);
Show( lstCols_n3 );
For( i = 1, i <= N Items( lstColNames_n3 ), i++,
colName = lstColNames_n3[i];
col = Column( dt3, colName );
Insert Into( n2, col );
);
dt3 << New Script(
"Categorical by COD CAMP",
Categorical( X( :COD CAMP ), Responses( Eval( n2 ) ), Legend( 0 ) )
);
ScriptRe: analyse catégorique de script de plusieurs colonnesÇa a marché! Merci beaucoup. Je n'avais qu'à changer une ligne, sinon le script pour l'analyse apparaissait dans la table de données mais une fois que je l'exécutais la fenêtre de la plateforme s'ouvrait (et je devais remplir tous les champs) pas le rapport de l'analyse.
j'ai changé cette ligne
theExpr = theExpr || "\[Name( "Responses,!Responses" )(:]\" || n3[i] || "),";
dans celui-ci
theExpr = theExpr || "\[Name( "Réponses" )(:]\" || lstColNames_n3[i] || ")," ;
Re: analyse catégorique de script de plusieurs colonnesVoici un script qui produit votre requête d'origine, en utilisant 1 exécution de la plateforme Categorical.
Names Default To Here( 1 );
dt3 = Current Data Table();
n3 = dt3 << Get Column Names();
Remove From( n3, 1, 1 );
theExpr =
"\[
dt3<<NEW script=""></NEW>
Re: analyse catégorique de script de plusieurs colonnesBonjour Jim,
J'ai trouvé un moyen de contourner le problème en renonçant à la plate-forme catégorielle et en utilisant celle de la contingence. J'ai utilisé la méthode de combiner plusieurs rapports ensemble. Voici mon scénario. La sortie est différente de la plate-forme catégorielle mais c'est ce dont j'avais besoin.
Merci beaucoup.
dt1 << New Script(
"Analisi categorica LIKERT",
nw = New Window( "Analisi categorica LIKERT",
container = V List Box()
);
For( i = 1, i <= N Items( lstColNames_n2 ), i++,
content = V List Box(
Contingency(
Y( lstColNames_n2[i] ),
X( :COD CAMP ),
Contingency Table,
Cochran Mantel Haenszel( :COD GIUD ),
SendToReport(
Dispatch( {}, "Tests", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Cochran-Mantel-Haenszel Tests", OutlineBox, {Close( 1 )} )
)
);
container << Append( content )
;
)
);
);
Re: analyse catégorique de script de plusieurs colonnesJe suis exactement ce que vous suggérez pour capturer le script et jusqu'à présent, cela a
a bien fonctionné. Je suis parti de cela aussi dans ce projet particulier. Alors je
commencé à modifier la partie où se trouvent les noms de réponse. En fait, je veux
faites un code qui fonctionne quels que soient le nom et le nombre de réponses.
J'ai donc commencé à utiliser le concept de liste de noms et de références à
variables. Je l'ai fait avec succès avec d'autres plateformes. Dans ce projet, je
charger les variables à partir d'un fichier excel (il peut s'agir d'une variable ou de 10 et le
les noms peuvent changer). Et je veux effectuer l'analyse catégorique sur le
variables qui sont sur ce fichier excel. Pour le modèle d'ajustement, l'explorateur de texte, l'ajustement y
par x, j'ai pu atteindre mon objectif. Avec le catégorique je n'étais pas.
Merci beaucoup.
Re: analyse catégorique de script de plusieurs colonnesJe pense que la meilleure chose à faire, c'est de recommencer.
À l'aide de votre exemple de tableau de données, pouvez-vous exécuter de manière interactive la plate-forme catégorielle et produire les résultats souhaités ?
Si vous pouvez le faire, cliquez sur le triangle rouge et enregistrez le script dans une fenêtre de script.Cela fournira le point de départ de ce que le JSL doit être pour répliquer les résultats de la table de données sur laquelle vous souhaitez exécuter l'analyse.
Si vous pouvez fournir ce JSL, je peux vous aider.
J'ai exécuté la plate-forme de manière interactive et j'ai produit les résultats ci-dessous.Je ne suis pas sûr que ce soit ce que vous voulez.Sous la sortie se trouve le JSL requis pour produire la sortie.

Categorical(
X( :COD CAMP ),
Name( "Responses,!Responses" )(:INTENSITA' PROFUMO IN APPLICAZIONE),
Name( "Responses,!Responses" )(:QUANTITA' EROGATA),
Name( "Responses,!Responses" )(:PERSISTENZA PROFUMO DURANTE LA GIORNATA),
Name( "Responses,!Responses" )(:INTENSITA' PROFUMO A FINE GIORNATA),
Legend( 0 )
);
Re: analyse catégorique de script de plusieurs colonnesBonjour Jim,
J'apprécie ton aide. Je ne suis pas expert en JSL, j'essaie d'extraire le code de JMP et des suggestions postées sur la communauté JMP. Je suis conscient qu'il y a quelques répétitions dans le code, désolé de ne pas l'avoir nettoyé. Ce type de codage (probablement avec quelques différences car à un moment donné j'ai essayé de changer différentes choses avec une procédure d'essai et d'erreur) a fonctionné pour certaines plates-formes lorsque j'ai une liste de colonnes (liste de références ou liste de noms .. selon le plate-forme si je me souviens bien) mais pas pour les autres. Bien sûr, je dois approfondir le codage JSL ... Mais jusqu'à présent, il m'a donné beaucoup de satisfaction !!
J'ai essayé le code que vous avez écrit mais l'analyse n'est effectuée que pour le premier attribut (INTENSITA' PROFUMO IN APPLICAZIONE), pas pour tous. Je ne reçois aucun message d'erreur.
Merci beaucoup pour votre temps,
Re: analyse catégorique de script de plusieurs colonnesVoici une solution à votre question.
La plupart du code que vous avez fourni a répété plusieurs fois la même récupération des noms de colonne.Je soupçonne que vous ne comprenez pas ce que fait le code.Le script ci-dessous simplifie votre script.
Names Default To Here( 1 );
dt3 = Current Data Table();
n3 = dt3 << Get Column Names();
Remove From( n3, 1, 1 );
Eval(
Parse(
Eval Insert(
"\[
dt3<<NEW script=""></NEW>
Je vous suggère fortement de prendre le temps de lire le Guide de script.