J'ai un modèle de régression linéaire pour 4 températures différentes. J'ai mis un filtre de données local sur chacun d'eux qui me permet de préciser le segment de données.
Le code pour cela appelle chaque valeur de la colonne 2 de ma table source, comme indiqué ci-dessous. Je veux que cela soit automatisé pour qu'il y ait plus ou moins de températures et je ne veux pas modifier le code à chaque fois. Il existe probablement un moyen via le script JSL que j'essaie d'éviter d'écrire moi-même et d'utiliser à la place le workflow. J'ai ajouté un filtre de données qui fonctionne exactement comme souhaité tant que les filtres locaux sont également présents. Si je supprime les filtres locaux, le filtre de données cesse de fonctionner de la même manière.
Comment puis-je modifier le filtre de données pour rendre les filtres locaux redondants ?
Si ce n'est pas possible, comment pourrais-je coder les filtres locaux pour qu'ils soient automatiques ?
Table de données ( "Triées" ) << Filtre de données (
Emplacement ({890, 387} ),
Mode( Inclure( 1 ) ),
Ajouter un filtre (
colonnes( :Segment ),
Où( :Segment == -100 ),
Affichage( :Segment, N éléments( 8 ) )
)
);
Tableau de données ( "Trié" ) << Ajuster le modèle (
SendToByGroup (par défaut du groupe),
Y( :VCE),
Par( :Source Tableau 2),
Effets ( :ICE ),
Personnalité( "Moins carrés standards"),
//Emphasis( "Levier d'effet" ),
Courir(
:VCE << {Résumé de l'ajustement ( 0 ), Analyse de la variance ( 0 ),
Estimations de paramètres ( 0 ), manque d'ajustement ( 0 ), estimations mises à l'échelle ( 0 ),
Tracer le réel par prévu ( 0 ), Tracer le résidu par prévu ( 0 ),
Tracer les résidus étudiants (0), effet de levier de l'effet de tracé (0),
Tracer le résidu par quantiles normaux (0), transformation Box Cox Y (0)}
),
EnvoyerVersByGroup(
{:Tableau Source 2 == "25C"},
Filtre de données locales (
Ajouter un filtre (colonnes ( : Segment ), Affichage ( : Segment, N éléments ( 8 ) ) )
)
),
EnvoyerVersByGroup(
{:Tableau source 2 == "150C"},
Filtre de données locales (
Ajouter un filtre (colonnes ( : Segment ), Affichage ( : Segment, N éléments ( 8 ) ) )
)
),
EnvoyerVersByGroup(
{:Tableau source 2 == "125C"},
Filtre de données locales (
Ajouter un filtre (colonnes ( : Segment ), Affichage ( : Segment, N éléments ( 8 ) ) )
)
),
EnvoyerVersByGroup(
{:Tableau source 2 == "100C"},
Filtre de données locales (
Ajouter un filtre (colonnes ( : Segment ), Affichage ( : Segment, N éléments ( 8 ) ) )
)
)
Je ne suis pas exactement sûr de ce que vous essayez de faire ici ? Manque-t-il peut-être simplement Show(1) de votre filtre de données pour masquer les valeurs exclues ?

Utilisez-vous des clauses Where différentes dans les multiples filtres, ou sélectionnez-vous la même plage dans chacun d'eux ?Je demande parce qu'il pourrait être plus facile d'avoir un seul filtre au lieu de plusieurs si vous voulez les mêmes conditions pour chaque sous-groupe.
Désolé pour la confusion!
Oui, je veux la même condition pour chacun. J'aimerais avoir 1 filtre qui les change tous.
J'ai essayé le filtre de données et je peux l'utiliser correctement lorsqu'il existe des filtres locaux. Si je supprime les filtres locaux, le filtre de données ne modifie pas l'analyse et met simplement en évidence les points.
Désolé, je n'ai pas été clair dans mon explication. J'ai maintenant sélectionné show et include et cela fonctionne mieux. Le filtre de données ajuste l'analyse tant qu'il existe un filtre local.
Soit je veux ne pas avoir besoin des filtres locaux (mais je pense que c'est plus difficile pour vous de m'aider). Ou je souhaite que les filtres locaux n'appellent pas spécifiquement les valeurs de la table source (car cela change à chaque fois).
Je soupçonne que le problème vient de l'option Automatic ReCalc sur la ou les plates-formes JMP que vous utilisez.
Allez dans le triangle rouge et sélectionnez
Refaire => ReCalc automatique
Cela devrait permettre de modifier tout l'affichage en modifiant le filtre de données.
Pour avoir un filtre par groupe, je suggérerais quelque chose comme ceci :
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("report",
Data Filter Context Box(
HListBox(
dt << Data Filter(Local, Columns(:age)),
VListBox(
dt << Bivariate(X(:height),Y(:weight),By(:sex))
)
)
)
);
Dans JMP18, il sera plus facile de partager un seul filtre au sein d'un groupe de manière interactive plutôt que via un script, mais ce script devrait fonctionner sur plusieurs versions et fonctionnera également à l'avenir.