JMP 12 n'enregistre pas le rapport. Attend un code d'erreur d'objet scriptable.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous,
Je suis un nouvel utilisateur de JMP et j'étais en train de craquer pour jsl lorsque j'ai rencontré un problème.
Objectif : 1) Ouvrir un fichier
2) Effectuer la distribution de vie
3) Cliquez sur le bouton approprié pour le format dans lequel l'utilisateur souhaite exporter le rapport de distribution.
Problème : je ne parviens pas à faire en sorte que JMP enregistre le rapport généré ci-dessous par la distribution Life.
Le concept derrière cet exercice pratique était simple, mais je ne vois pas pourquoi la dernière fonctionnalité ne fonctionne pas ou comment la résoudre.
De temps en temps, j'obtiendrai l'erreur : Send Expects Scriptable Object in access or evaluation of 'Send'....
================================================= ========================
//Algorithme : 1. Ouvrir un fichier de données approprié spécifié par l'utilisateur.
// 2. Importez le fichier en tant que table de données JMP.
// 3. Effectuez la distribution de la durée de vie sur la table de données donnée.
// 4. Autoriser l'utilisateur à manipuler le fichier si nécessaire.
// 5. Une fois les modifications nécessaires apportées, offrez à l'utilisateur la possibilité d'enregistrer le rapport sous le type de fichier souhaité
// L'utilisateur choisira le fichier qu'il souhaite ouvrir
dt1 = Ouvert ( ) ;
// La plate-forme intégrée Life Distribution est exécutée sur la table de données choisie
LD = Répartition de la vie (
dt1 ,
Oui ( 1 ) , //Colonne d'heure
Censurer ( 6 ) , // Colonne de danger cumulé
Code de censure ( 1 ) ,
<< Ajustement Weibull ,
Méthode de l'intervalle de confiance ( Wald ) ,
<< Définir l'échelle ( Non paramétrique ) ,
Type d'intervalle ( Simultané ) ,
Afficher l'étiquette de fréquence du tracé d'événement ( 0 ) ,
<< Définir les scripts (
{ Papier de probabilité ( Profileur ( 1 , Intervalles de confiance ( 1 ) , Valeur du terme ( Colonne 1 ( 80,85 , Bloquer ( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Répartition de Weibull ( Profileur ( 1 , Intervalles de confiance ( 1 ) , Valeur du terme ( Colonne 1 ( 80,85 , Bloquer ( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Quantile de Weibull ( Profileur ( 1 , Intervalles de confiance ( 1 ) , Valeur du terme ( Probabilité ( 0,5 , Bloquer ( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Danger de Weibull ( Profileur ( 1 , Intervalles de confiance ( 1 ) , Valeur du terme ( Colonne 1 ( 80,85 , Bloquer ( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Densité de Weibull ( Profileur ( 1 , Valeur du terme ( Colonne 1 ( 80,85 , Bloquer ( 0 ) , Spectacle ( 1 ) ) ) ) ) , Estimation personnalisée ( Weibull , 0 )}
) ,
Expédition ( { "Comparer les distributions" } , "Répartition de la vie" , FrameBox , { Ordre des lignes de grille ( 2 ) , Ordre de la ligne de référence ( 3 )} ) ,
Expédition ( { "Statistiques" , « Comparaisons de modèles » } , "" , TableBox , { Trier par colonne ( 2 , 1 )} )
);
LD << A la fermeture(
w1 = Nouvelle fenêtre( "Exportation du rapport",
Text Box("Souhaitez-vous exporter ce rapport dans un autre format ? \!n (Remarque : Il existe des limitations quant aux types de formats de fichier \!n que ce rapport peut être exporté. ) \!n"),
Boîte à boutons ("Oui",
w2 = Nouvelle fenêtre( "Exporter le rapport",
Button Box( "Word", LD << enregistrer MSword("$DESKTOP\mon_fichier.doc")),
Boîte à boutons( "Power Point", LD << enregistrer la présentation("$DESKTOP\mon_fichier.pptx")),
Boîte à boutons( "Fermer", << Fermer la fenêtre())
),
Afficher(w2);
w1 << Fermer la fenêtre();
),
Boîte à boutons ("Non",
w1 << Fermer la fenêtre()
),
);
Re : JMP 12 n'enregistre pas le rapport. Attend un code d'erreur d'objet scriptable.Super! Ça marche. Merci Jim.
La dernière chose que je voudrais faire avec ce filtre de données est de sélectionner les 10 premiers modèles via un script.
Exemple 1 : Dans cet exemple, le filtre de données sélectionnera et inclura les données liées à l'ID de modèle spécifié.
dt1 << Filtre de données (
Emplacement ( { 1000 , 50 } ) ,
Mode ( Spectacle ( 1 ) , Comprendre ( 1 ) ) ,
Colonnes ( : Article ) ,
Où ( : Article == {"ID de modèle 1", "ID de modèle 2", "ID de modèle 3", "ID de modèle (n)"} ) ,
Affichage ( : Article , Taille ( 204 , 140 ) , Affichage de la liste )
) ;
// Je voudrais faire quelque chose de similaire à ceci mais sans avoir à spécifier l'ID exact du modèle. Je voudrais dire inclure les données des premiers (n) ID de modèle.
Exemple 2 : Une de mes nombreuses tentatives expérimentales.
Des modèles = Carboniser ( Tableau de données actuel () << sélectionner où ( eval ( Article [] < 3 ))) ; // Sélectionnez les trois premiers ID de modèle uniques et tracez-les
dt1 << Filtre de données (
Emplacement ( { 1000 , 50 } ) ,
Mode ( Spectacle ( 1 ) , Comprendre ( 1 ) ) ,
Colonnes ( : Article ) ,
Où ( : Article == Des modèles ) ,
Affichage ( : Article , Taille ( 204 , 140 ) , Affichage de la liste )
) ;
S'il vous plaît laissez-moi savoir si vous avez des suggestions.
Re : JMP 12 n'enregistre pas le rapport. Attend un code d'erreur d'objet scriptable.Parce que vous générez votre propre fenêtre de sortie, avec vos propres spécifications dans la fenêtre, vous devrez prendre en charge tout le contrôle de la fenêtre et détecter quand vous modifiez quelque chose dans le filtre de données.Cela signifie donc que vous devrez ajouter à votre code,
rs = dt<
et d'ajouter une fonction "f" qui recrée les composants dans votre fenêtre d'affichage lorsqu'elle détecte le changement.
Je configure généralement un modèle dans mes fenêtres d'affichage, qui contient des zones de liste V et des zones de liste H auxquelles j'ajoute/supprime des composants.Ainsi, lorsqu'un changement d'état de ligne est détecté, je supprime les éléments nécessaires de la fenêtre d'affichage, les recrée dans les coulisses et les rajoute dans la fenêtre d'affichage.
Re : JMP 12 n'enregistre pas le rapport. Attend un code d'erreur d'objet scriptable.Deux choses se produisent lorsque je tente cela.
(1) La boîte du panneau disparaît
(2) Le filtre de données n'apporte aucune modification visible au tracé.

(Image 1)

(Image 2)
Dans l'image un, aucun filtre de données n'est appliqué. Lorsque le filtre de données est appliqué (Image 2), les options Enregistrer sous disparaissent. J'essayais d'utiliser le filtre de données pour sélectionner un modèle ou un groupe de modèles spécifique à afficher lorsqu'il est sélectionné. Existe-t-il des options qui me permettent de mieux contrôler l'utilisation de JMP 12 ? Je comprends que la version (JMP 12.2) dont je dispose peut être limitée.
Merci pour toute votre aide jusqu'à présent !
Re : JMP 12 n'enregistre pas le rapport. Attend un code d'erreur d'objet scriptable.Un filtre de données est appliqué à la table de données, pas à la plate-forme.Ce qui doit se passer dans la plate-forme de distribution de vie, c'est que vous devez activer l'option de recalcul automatique, de sorte que lorsque la plate-forme détecte un changement dans la table de données (c'est-à-dire que vous avez modifié quelque chose dans le filtre de données), elle recalcule la plate-forme affichage.

Une fois que vous avez défini votre filtre de données, vous pouvez lui demander de vous donner le script qui le recréera.

Désormais, vous pouvez également choisir d'utiliser un filtre de données local.

Dans ce cas, lorsque vous demanderez à la plateforme de générer le script qui reproduira la distribution de vie que vous avez configurée, elle inclura le code du filtre de données local

Re : JMP 12 n'enregistre pas le rapport. Attend un code d'erreur d'objet scriptable.Merci beaucoup! ça a parfaitement fonctionné !
Je n'étais pas sûr que JMP autoriserait la mise en œuvre de filtres de données sur sa plate-forme de distribution de vie. Je suis actuellement à la recherche d'une option de script, mais je n'ai pas eu de chance. Pourriez-vous éventuellement me diriger dans la bonne direction?
Filtres de données : Le filtre de données
Je suis actuellement en train de parcourir le guide de script : Guide de script
en complément du guide de référence Syntaxe : Référence de la syntaxe JSL
Re : JMP 12 n'enregistre pas le rapport. Attend un code d'erreur d'objet scriptable.Vous trouverez ci-dessous deux versions de votre script.Le premier fonctionne comme vous l'avez conçu, tandis que le second est la façon dont je préfère faire ce genre de choses, en intégrant les demandes de sauvegarde directement dans la sortie Life Distribution.
//Algorithme : 1. Ouvrir un fichier de données approprié spécifié par l'utilisateur.
// 2. Importez le fichier en tant que table de données JMP.
// 3. Effectuez la distribution de la durée de vie sur la table de données donnée.
// 4. Autoriser l'utilisateur à manipuler le fichier si nécessaire.
// 5. Une fois les modifications nécessaires apportées, offrez à l'utilisateur la possibilité d'enregistrer le rapport sous le type de fichier souhaité
// L'utilisateur choisira le fichier qu'il souhaite ouvrir
dt1 = Ouvert () ;
// La plate-forme intégrée Life Distribution est exécutée sur la table de données choisie
LD = dt1 << Répartition de la vie (
Oui( Colonne ( 1 ) ) , //Colonne d'heure
Censurer( Colonne ( 6 ) ) , // Colonne de danger cumulé
Code de censure( 1 ) ,
<
Méthode de l'intervalle de confiance ( Wald ) ,
< ( Non paramétrique ) ,
Type d'intervalle (simultané) ,
Afficher l'étiquette de fréquence du tracé d'événement( 0 ) ,
< (
{Papier de probabilité( Profiler( 1 , Intervalles de confiance( 1 ) , Valeur du terme( Colonne 1( 80,85 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Répartition de Weibull ( Profileur( 1 , Intervalles de confiance( 1 ) , Valeur du terme( Colonne 1( 80,85 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Quantile de Weibull ( Profileur( 1 , Intervalles de confiance( 1 ) , Terme Valeur( Probabilité( 0,5 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Weibull Hazard (Profileur) 1 , Intervalles de confiance( 1 ) , Valeur du terme( Colonne 1( 80,85 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Densité de Weibull ( Profileur( 1 , Valeur du terme( Colonne 1( 80,85 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) , Estimation personnalisée (Weibull , 0 )}
) ,
Expédition( { "Comparer les distributions" } , "Répartition de la vie" , FrameBox , {Ordre des lignes de grille( 2 ) , Ordre de ligne de référence( 3 )} ) ,
Expédition( { "Statistiques" , « Comparaisons de modèles » } , "" , TableBox , {Trier par colonne( 2 , 1 )} )
) ;
LD << À la fermeture (
w1 = Nouvelle fenetre ( "Exportation du rapport" ,
Zone de texte (
"Souhaitez-vous exporter ce rapport dans un autre format ? \!n (Remarque : Il existe des limitations quant aux types de formats de fichiers \!n que ce rapport peut être exporté. ) \!n"
) ,
Boîte à boutons ( "Oui" , w1 << Fermer la fenêtre () ;
w2 = Nouvelle fenetre ( "Rapport d'exportation" ,
Boîte à boutons ( "Mot" , rapport (LD) << enregistrer MSword ( "$DESKTOP\mon_fichier.doc" ) ) ,
Boîte à boutons ( "Power Point" , rapport (LD) << enregistrer la présentation ( "$DESKTOP\mon_fichier.pptx" ) ) ,
Boîte à boutons ( "Proche" , < () )
)
) ,
Boîte à boutons ( "Non" , w1 << Fermer la fenêtre () ) ,
)
) ;
Deuxième scénario :
//Algorithme : 1. Ouvrir un fichier de données approprié spécifié par l'utilisateur.
// 2. Importez le fichier en tant que table de données JMP.
// 3. Effectuez la distribution de la durée de vie sur la table de données donnée.
// 4. Autoriser l'utilisateur à manipuler le fichier si nécessaire.
// 5. Une fois les modifications nécessaires apportées, offrez à l'utilisateur la possibilité d'enregistrer le rapport sous le type de fichier souhaité
// L'utilisateur choisira le fichier qu'il souhaite ouvrir
dt1 = Ouvert () ;
// La plate-forme intégrée Life Distribution est exécutée sur la table de données choisie
LD = dt1 << Répartition de la vie (
Oui( Colonne ( 1 ) ) , //Colonne d'heure
Censurer( Colonne ( 6 ) ) , // Colonne de danger cumulé
Code de censure( 1 ) ,
<
Méthode de l'intervalle de confiance ( Wald ) ,
< ( Non paramétrique ) ,
Type d'intervalle (simultané) ,
Afficher l'étiquette de fréquence du tracé d'événement( 0 ) ,
< (
{Papier de probabilité( Profiler( 1 , Intervalles de confiance( 1 ) , Valeur du terme( Colonne 1( 80,85 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Répartition de Weibull ( Profileur( 1 , Intervalles de confiance( 1 ) , Valeur du terme( Colonne 1( 80,85 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Quantile de Weibull ( Profileur( 1 , Intervalles de confiance( 1 ) , Terme Valeur( Probabilité( 0,5 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Weibull Hazard (Profileur) 1 , Intervalles de confiance( 1 ) , Valeur du terme( Colonne 1( 80,85 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) ,
Densité de Weibull ( Profileur( 1 , Valeur du terme( Colonne 1( 80,85 , Bloquer( 0 ) , Spectacle ( 1 ) ) ) ) ) , Estimation personnalisée (Weibull , 0 )}
) ,
Expédition( { "Comparer les distributions" } , "Répartition de la vie" , FrameBox , {Ordre des lignes de grille( 2 ) , Ordre de ligne de référence( 3 )} ) ,
Expédition( { "Statistiques" , « Comparaisons de modèles » } , "" , TableBox , {Trier par colonne( 2 , 1 )} )
) ;
w2 = Zone de liste V (
Boîte à boutons ( "Enregistrer dans Word" , rapport (LD) << enregistrer MSword ( "$DESKTOP\mon_fichier.doc" ) ) ,
Boîte à boutons ( "Enregistrer sur PowerPoint" , rapport (LD) << enregistrer la présentation ( "$DESKTOP\mon_fichier.pptx" ) ) ,
Boîte à boutons ( "Proche" , LD < () )
) ;
Signaler (ld)[ "Répartition de la vie" ] < (w2) ;