Enregistrer le nouveau graphique au lieu d'écraser ceux déjà enregistrésBonjour,
Je travaille avec une énorme base de données comme ci-dessous.
Fabricant : Produit : Modèle : Quantité
A : X:G1 : 1 000
B : S:F2 : 5 000
C : Y:N5 : 2500
A : R:G5 : 6 000
et ainsi de suite..
Maintenant, au début de ma requête, je filtre les Fabricant. Avec les colonnes restantes, je fais quelques calculs et trace des graphiques, puis je les enregistre sous forme de fichier image. Par ex.
pc = générateur de graphes(...);
rapport(pc) << enregistrer l'image("D:\ Graphique .jpg");
J'ai 2 questions liées à la modification de ce script
1. Chaque fois que j'exécute le script, le graphique enregistré précédent Graphique.jpg est écrasé. Est-il possible d'enregistrer un nouveau graphique en gardant les anciens intacts ?
2. Puisque je filtre les Fabricant au début, est-il possible d'enregistrer le graphique automatiquement avec un titre en fonction du fabricant choisi et de la date du jour, par ex. A_29032018.jpg ?
Merci d'avance.
Re : Enregistrer un nouveau graphique au lieu d'écraser ceux déjà enregistrésen supposant que la variable de votre table de données contenant le fabricant s'appelle Manufacture et que chaque ligne de la table de données contient le "A" ou "B", etc., vous pouvez utiliser ce qui suit
report(pc) << save picture("D:\" || :Manufacturer[1] || _" || format(today(),"mmddyyyy",8) || ".jpg");
Je vous encourage fortement à lire le Guide de script pour vous fournir les structures et la syntaxe de JSL.Il est disponible sur :
Aide==Livres==>Guide de script
Re : Enregistrer un nouveau graphique au lieu d'écraser ceux déjà enregistrésBonjour Jim,
Merci pour votre réponse.
<SPAN class="token function">report</SPAN><SPAN class="token punctuation">(</SPAN>pc<SPAN class="token punctuation">)</SPAN> <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> save picture<SPAN class="token punctuation">(</SPAN><SPAN class="token string">"D:\<FONT color="#FF0000"><STRONG>A_</STRONG></FONT>"</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token function">format</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token function">today</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN><SPAN class="token string">"mmddyyyy"</SPAN><SPAN class="token punctuation">,</SPAN><SPAN class="token number">8</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token string">".jpg"</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Si je relance la requête et filtre Fabricant C cette fois, je dois changer manuellement le script en
<SPAN class="token function">report</SPAN><SPAN class="token punctuation">(</SPAN>pc<SPAN class="token punctuation">)</SPAN> <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN> save picture<SPAN class="token punctuation">(</SPAN><SPAN class="token string">"D:\<FONT color="#FF0000">C<STRONG>_</STRONG></FONT>"</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token function">format</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token function">today</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN><SPAN class="token string">"mmddyyyy"</SPAN><SPAN class="token punctuation">,</SPAN><SPAN class="token number">8</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token string">".jpg"</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Est-il possible d'une manière ou d'une autre que je puisse dire au programme de trouver le fabricant que j'ai filtré au début et de changer automatiquement le nom du fichier ?
Re : Enregistrer un nouveau graphique au lieu d'écraser ceux déjà enregistrésLe changement suivant devrait vous permettre de sauvegarder les graphiques comme vous l'avez dit :
report(pc) << save picture("D:\A_" || format(today(),"mmddyyyy",8) || ".jpg");