Filtre de données : comment spécifier les limitesDans un filtre de données, un utilisateur est limité par les valeurs qui peuvent être saisies comme limites.
Si la limite saisie est en dehors de la plage des points de données disponibles, la valeur est automatiquement remplacée par min ou max.
L'utilisateur peut modifier le code JSL - mais lorsque le graphique s'ouvre, les valeurs sont à nouveau définies sur min et max.
a) Existe-t-il une astuce cachée pour saisir n'importe quel nombre ? shift enter n'a pas fonctionné
b) Existe-t-il une astuce pour générer un tableau de bord avec des spécifications de filtre définies par l'utilisateur - qui restent telles quelles ?

Exploration et visualisation des donnéesRe : Filtre de données : comment spécifier les limites@hogi quelqu'un de mon équipe au support technique devrait fournir son évaluation sur la question a) grâce à votre e-mail à support@jmp.com (en date du 16/06/23) concernant la question a), mais pour la question b) "Existe-t-il une astuce pour générer un tableau de bord avec des spécifications de filtre définies par l'utilisateur - qui restent telles quelles ?"
Il semble que les spécifications persistent pour moi après les avoir définies.Pouvez-vous fournir plus d'informations avec un exemple pour décrire ce que vous voyez ?
Re : Filtre de données : comment spécifier les limitesPour générer un tableau de bord avec un filtre au-delà de la plage de données actuelle, j'ai généré un tracé GraphBuilder avec une spécification inférieure = 1 via
Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Conditional,
Add Filter( columns( :height ), Where( :height >= 1 ) )
)
)
le résultat n'a pas l'air prometteur:

puis je l'ai ajouté à un tableau de bord

et vérifié le code - et en effet - Jmp a ajusté mes spécifications :

J'ai remis la limite à 1 et utilisé le code pour générer un nouveau tableau de bord, vérifié à nouveau le code et c'était à nouveau 51.
Re : Filtre de données : comment spécifier les limitesEnsuite, j'ai ajouté une fausse ligne avec hauteur =1, ce qui m'a permis de définir un filtre de données avec une spécification inférieure =1 :

mais dès que j'ai supprimé la ligne, le filtre de données a de nouveau été changé en 51 ...
Un filtre de données avec des spécifications en dehors de la plage de données actuelle semble être un objet assez fragile.
Jusqu'à présent, j'ai généré des tableaux de bord, les ai sauvegardés sous forme de scripts de table, chargé de nouvelles données au fil des semaines, optimisé les tableaux de bord, les ai sauvegardés à nouveau sous forme de script de table ...
Dangereux si les filtres de données s'ajustent dynamiquement aux plages de données actuelles.
Re : Filtre de données : comment spécifier les limites@hogi - Dans JMP 17, si vous ne modifiez pas une des valeurs min/max :

Ils n'apparaissent pas dans le script :
Bivariate(
Y( :weight ),
X( :height ),
Fit Line( {Line Color( {212, 73, 88} )} ),
Local Data Filter( Add Filter( columns( :height ), Where( :height <= 65 ) ) )
);
Cela aide lorsque vous avez des données changeantes et que vous avez besoin de limites unilatérales.Cependant, si vous modifiez les deux valeurs et que vous les faites ensuite glisser vers les points extrêmes, les deux valeurs apparaîtront dans le script.Je suggérerais qu'après avoir fait cela, vous pourriez "Effacer" l'élément de filtre, ce qui entraînera la génération d'aucune clause Where().Malheureusement, la présence de la clause Where() est l'indicateur qui nous indique si les conditions de filtre ont été définies, et c'est pourquoi vous voyez les deux valeurs dans le scénario que vous montrez.
Re : Filtre de données : comment spécifier les limites@hogi - Merci pour le contexte - le nettoyage des données est souvent effectué en dehors de l'analyse, mais une façon d'intégrer ces conditions dans le filtre consiste à définir une colonne de transformation avec les conditions que vous souhaitez supprimer.Cela vous donne la possibilité d'utiliser une clause Where() arbitraire comme condition booléenne :
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Graph Builder(
Transform Column(
"Invalid Data",
Nominal,
Formula( :age > 18 | Starts With( :name, "Teacher" ) )
),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :age, :Invalid Data ),
Where( :Invalid Data == 0 ),
Display( :age, N Items( 6 ) )
)
)
);
Cela suppose que vous n'avez pas de table avec toutes les données invalides.Une autre approche consisterait à utiliser le LDF en combinaison avec un filtre de données global pour supprimer les données non valides de tous les rapports.Les états de ligne globaux se combinent avec les conditions de filtre utilisées dans chaque plate-forme.
Re : Filtre de données : comment spécifier les limitesMerci @danschikore , quelle solution de contournement élégante 
Le seul cas où il échouera : s'il existe un jeu de données sans valide données, c'est-à-dire pas de données
Where( :Invalid Data == 0 )
mais de toute façon, personne n'oserait sauvegarder le tableau de bord 
Re : Filtre de données : comment spécifier les limitesMerci @danschikore pour l'explication.
Lorsque j'ai posté ma question, je n'ai pas pensé à ouvrir un côté du filtre.
L'idée était :
si je veux que le filtre de données supprime automatiquement les mauvais points de données (<0) ou d'autres données bien définies (données manquantes, entrée d'indicateur), ces données doivent être dans l'ensemble de données actuel - sinon le filtre de données s'adaptera automatiquement.
Dans ce cas, je veux supprimer toutes les lignes avec des noms "référence" et des noms manquants :
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Data Table( "Big Class" ):name << Set Modeling Type( "Multiple Response" );
Graph Builder(
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Add Filter(
columns( :name ),
Match None( Where( :name == "reference","" ) ),
Display( :name, Find( Set Text( "" ) ) )
)
)
);
mais s'il n'y a pas une telle ligne dans l'ensemble de données actuel, le filtre de données sera simplement ignoré - et l'utilisateur perdra cette partie lorsqu'il enregistrera la version actuelle du graphique ou du tableau de bord.Exécutez simplement le code et enregistrez le script résultant.
La prochaine fois que l'utilisateur ouvrira le graphique, les lignes avec un nom manquant et des données de "référence" seront affichées par défaut et l'utilisateur devra les exclure manuellement.
Ce problème s'aggravera dès que l'option pas devient disponible pour plus de types de modélisation :
filtres de données, nouvelle option : "not"
Ré: Filtre de données : comment spécifier les limites:folded_hands: Propriété de colonne : les valeurs inclusives (également appelées valeurs forcées ) résoudront ce problème.