Le script utilise le jeu de données intégré 'iris' disponible dans la librairie SASHELP, qui contient des mesures de différentes variétés d'iris.
1 Bloc de code
MACRO
Explication : Définit une macro nommée 'ods_html_sort_table'. Cette macro inclut deux scripts JavaScript externes et une initialisation jQuery. L'objectif est d'appliquer la librairie 'tablesorter' aux tableaux HTML générés par ODS, leur conférant ainsi des fonctionnalités de tri interactif et un style visuel avec l'effet zèbre.
Explication : Configure la sortie ODS pour générer un fichier HTML interactif nommé 'a:\test\iris.html', en appliquant un style 'sasweb' et en incluant la macro pour les tableaux triables. Le script utilise ensuite un `DATA _NULL_` pour lire le jeu de données `sashelp.iris` et le traiter par groupe d'espèce (`Species`). Il utilise la classe ODS Report Writing (`odsout`) pour construire dynamiquement le rapport : ajout d'une image spécifique pour chaque espèce, d'un titre, d'un tableau de statistiques de base, et d'un tableau avec les mesures des sépales et pétales. Le traitement avec `first.Species` et `last.Species` permet de gérer les en-têtes de tableau, les notes et les pieds de page. Finalement, la sortie HTML est fermée et le système ODS revient au mode 'listing' par défaut.
Copié !
title ;
odslisting close;
odsh tml file="a:\test\iris.html" style=sasweb headtext="%ods_html_sort_table";
data _null_;
set sashelp.iris;
by Species;
/* create an object, obj, based on the ODS Report Writing class, odsout*/
if _n_ = 1 then do;
dcl odsout obj();
end;
if (first.Species) then do; /*by group processing*/
obj.title(text: "Fisher's Iris Data Set by Species"); /*title*/
/* start a table*/
obj.table_start();
obj.row_start();
if (Species = "Setosa") then
obj.image(file: "Iris_setosa.jpg" );*insert image;
else if (Species = "Versicolor") then
obj.image(file: "Iris_versicolor.jpg" );
else if (Species = "Virginica") then
obj.image(file: "Iris_virginica.jpg" );
obj.row_end();
obj.row_start();
obj.format_cell(text: "Iris Species", overrides: "fontweight=bold just=right" );
obj.format_cell(text: Species, column_span: 3, overrides: "just=left");
obj.row_end();
obj.row_start();
obj.format_cell(text: "Unit", overrides: "fontweight=bold just=right" );
obj.format_cell(text: "(mm)", column_span: 3, overrides: "just=left");
obj.row_end();
obj.table_end();
/* start another table */
obj.table_start();
obj.head_start();
obj.row_start();
obj.format_cell(text: "Sepal Length" , overrides: "fontweight=bold");
obj.format_cell(text: "Sepal Width" , overrides: "fontweight=bold");
obj.format_cell(text: "Petal Length" , overrides: "fontweight=bold");
obj.format_cell(text: "Petal Width" , overrides: "fontweight=bold");
obj.row_end();
obj.head_end();
end;
obj.row_start();
obj.format_cell(data: SepalLength);
obj.format_cell(data: SepalWidth);
obj.format_cell(data: PetalWidth);
obj.format_cell(data: SepalLength);
obj.row_end();
if (last.Species) then do;
obj.table_end();
obj.note(data: "Note: These Tables are Sortable."); /*note*/
obj.foot_start(); /*footer*/
obj.row_start();
obj.cell_start();
obj.format_text(data: "Footer: Data from SAS V&sysver at &sysscp &sysscpl Sashelp.iris",just:"C");
obj.cell_end();
obj.row_end();
obj.foot_end();
obj.page();
end;
run;
odsh tml close;
odslisting;
obj.note(data: "Note: These Tables are Sortable."); /*note*/
62
63
obj.foot_start(); /*footer*/
64
obj.row_start();
65
obj.cell_start();
66
obj.format_text(data: "Footer: DATA from SAS V&sysver at &sysscp &sysscpl Sashelp.iris",just:"C");
67
obj.cell_end();
68
obj.row_end();
69
obj.foot_end();
70
71
obj.page();
72
END;
73
RUN;
74
75
odsh tml close;
76
odslisting;
77
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
« Lorsque vous utilisez des ressources externes (JavaScript via CDN ou images locales), assurez-vous que les chemins sont relatifs ou accessibles pour vos utilisateurs finaux. Si vous déployez ce rapport sur un serveur d'entreprise, vérifiez que le dossier a:\test\ est correctement mappé pour que les images s'affichent chez tout le monde. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.