Exclure des données lors du chargement de données avec un script<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut communauté
Lorsque j'ouvre une table avec une base de données avec le script suivant enregistré dans le datatable, cela fonctionne. Lorsque j'enregistre le script dans un élément de menu d'un complément, il extrait simplement les données et ne l'exclut pas. Quoi de neuf?
Ouvrir la base de données (
"DSN = Laboratoire de connexion PI SQL; Description = Laboratoire de connexion PI SQL; UID =; Connexion_sirée = Oui; APP = JMP; WSID = SFX-5GCN2M1; DATABASE = LabData",
"SELECT * FROM dbo.NSI_Discovered_Factors_Lab_Data",
"NSI_Discovered_Factors_Lab_Data",
"Base de données NSI"
)
dt = CurrentDataTable ();
dt << Sélectionnez où (Exclure == "Exclure") << masquer << Exclure;
Re: Exclure des données lors du chargement de données avec un scriptMerci pour la moindre idée de son fonctionnement lorsqu'il est exécuté à partir d'un éditeur de script, mais pas en tant que complément.
Cela indique généralement un problème de portée pour les références de variable dans votre JSL. Par défaut, les compléments sont exécutés avec l'option "Noms par défaut pour Here (1)", de sorte que les références non définies atteignent l'espace de noms "Here".
Votre Sélectionnez Où () a une variable non délimitée en elle sous la forme de Exclure .
Si vous incluez un: avant de l'étendre à une colonne de table de données, cela fonctionne dans les deux cas (éditeur de script et complément).
dt<<Select Where(:Exclude=="Exclude")<<hide<<Exclude;
-Jeff
Re: Exclure des données lors du chargement de données avec un scriptBonjour Byron,
Quand je copie et colle la requête dans un script qui est exactement le suivant:
dt = CurrentDataTable ();
dt << Sélectionnez où (Exclure == "Exclure") << masquer << Exclure;
Ça marche. Mais lorsque je sauvegarde le script dans un complément jsl, curieusement, il ne le fait pas. Le nom de la colonne, la casse et les espaces correspondent. Il en va de même pour les lignes. Son très étrange que cela fonctionne dans jsl non-addin mais pas dans addin. Je n'ai pas généré cette forme jsl du filtre de données.
Re: Exclure des données lors du chargement de données avec un scriptIl y a peut-être quelques autres petites choses à vérifier, et je m'excuse par avance d'être si élémentaire.
La table de données importée a une colonne nommée "Exclure"
Le nom de colonne actuel a-t-il des espaces de début?
-Est-ce que le nom de colonne actuel correspond? p.ex. titre et orthographe.
Les valeurs à filtrer dans la colonne nommée "Exclure"
-do les valeurs dans la colonne ont-elles des espaces de début ou de fin?
- L'orthographe et le titre sont-ils exacts pour le niveau "Exclure"?
Le script dans la table de données fonctionne, vient-il du filtre de données?
Re: Exclure des données lors du chargement de données avec un scriptC’est une option PMroz, mais je préférerais extraire toutes les données et laisser aux gens l’option pour annuler l’exclusion.
Re: Exclure des données lors du chargement de données avec un scriptVoici une pensée. Puisque vous extrayez les données avec SQL, pourquoi n'excluez-vous pas les lignes dans SQL? De plus, je pense que vous avez un paramètre supplémentaire pour Open Database (base de données NSI).
dt = Ouvrir la base de données (
"DSN = Laboratoire de connexion PI SQL; Description = Laboratoire de connexion PI SQL; UID =; Connexion_sirée = Oui; APP = JMP; WSID = SFX-5GCN2M1; DATABASE = LabData" ,
"SELECT * FROM dbo.NSI_Discovered_Factors_Lab_Data WHERE exclude! = 'Exclude'" ,
"NSI_Discovered_Factors_Lab_Data" ,
"Base de données NSI" ) ;
Re: Exclure des données lors du chargement de données avec un scriptMême problème PMroz. Bizarrement cela ne fonctionne toujours pas.
Re: Exclure des données lors du chargement de données avec un scriptEssayez d’utiliser wait (0) au lieu d’exécuter des formules. Je suis d'accord avec Byron - supprime la table de données dt = actuelle et définit dt = sur les résultats de la base de données ouverte. Comme ça:
dt = Ouvrir la base de données (
"DSN = Laboratoire de connexion PI SQL; Description = Laboratoire de connexion PI SQL; UID =; Connexion_sirée = Oui; APP = JMP; WSID = SFX-5GCN2M1; DATABASE = LabData" ,
"SELECT * FROM dbo.NSI_Discovered_Factors_Lab_Data" ,
"NSI_Discovered_Factors_Lab_Data" ,
"Base de données NSI" ) ;
attendre ( 0 ) ;
dt << Sélectionnez Où ( Exclure == "Exclure" ) << cacher << Exclure ;
Re: Exclure des données lors du chargement de données avec un scriptBonjour Byron,
Cela n'a pas résolu le problème. J'ai également fait un complément séparé qui devrait fonctionner étant donné ce que vous dites est vrai et que j'exécute après le chargement du jeu de données, qui est juste le suivant.
dt = CurrentDataTable ();
dt << Sélectionnez où (Exclure == "Exclure") << masquer << Exclure;
Bizarrement, ça ne marche pas non plus.
Re: Exclure des données lors du chargement de données avec un scriptIl est possible que l’ouverture ne soit pas terminée lorsque la sélection est exécutée?
Je n'ai pas vu ce problème, mais quelque chose de similaire quand je travaille avec des tables qui ont beaucoup de lignes.
Deux suggestions:
Commencez par affecter le tableau de données à une variable lors de son ouverture. De cette façon, dt = table de données actuelle (); ne pointe pas accidentellement vers la table en cours pendant l’ouverture de la table de base de données.
dt = base de données ouverte ("DNS ....
Laissez la table de données dt = actuelle ();
Deuxièmement, forcez dt à être évalué avant de sélectionner des lignes. Il ne peut pas être évalué avant la fin de l'ouverture
dt << Exécuter les formules; // inclure cette première
dt << Sélectionnez où (Exclure == "Exclure") << masquer << Exclure;