Le script ne traite pas directement de données SAS. Il configure les références aux sources de données (bibliothèque et table) qui seront utilisées par un rapport Visual Analytics existant. Ces sources de données sont définies par l'utilisateur et peuvent être des tables CAS, comme indiqué par le serveur 'cas-shared-default' dans la charge utile JSON.
1 Bloc de code
DATA STEP (macro call)
Explication : Ce bloc initialise les variables globales `report` (l'URI du rapport Visual Analytics à modifier) et `url` (l'URL de base des services Viya, obtenue automatiquement). Il inclut ensuite et appelle la macro `%get_etag` depuis un dépôt GitHub externe, qui est utilisée pour récupérer l'Etag (Entity Tag) du rapport. L'Etag est nécessaire pour les requêtes HTTP PUT afin d'éviter les conflits de version lors de la mise à jour des ressources.
Copié !
%let report = CHANGEME: REPORT URI HERE; * URI of the report. Not the name. Get this from Copy Link in VA;
%let url = %sysfunc(getoption(SERVICESBASEURL)); * Automaticaly get the URL from the SAS server;
/***** Get etag *****/
filename etagmac url "https://raw.githubusercontent.com/stu-code/sas/refs/heads/master/utility-macros/va_api_get_etag.sas";
%include etagmac;
%get_etag(&report);
1
%let report = CHANGEME: REPORT URI HERE; * URI of the report. Not the name. Get this from Copy Link in VA;
2
%let url = %sysfunc(getoption(SERVICESBASEURL)); * Automaticaly get the URL from the SAS server;
Explication : Ce bloc utilise `PROC HTTP` pour envoyer une requête `PUT` à l'API `reportTransforms` de SAS Viya. La requête vise à mettre à jour la source de données du rapport spécifié par `&report`. Le corps de la requête est un payload JSON qui définit la source de données originale ('original') et la nouvelle source de données de remplacement ('replacement'), incluant le serveur (ici 'cas-shared-default'), la bibliothèque et la table. L'authentification est gérée par `oauth_bearer=sas_services`. L'Etag récupéré précédemment est inclus dans l'en-tête `If-Match` pour garantir l'intégrité de la mise à jour.
Copié !
proc http
url = "&url/reportTransforms/dataMappedReports/&report"
method = PUT
out = resp
oauth_bearer=sas_services
in='
{
"dataSources": [
{
"purpose": "original",
"namePattern": "serverLibraryTable",
"server": "cas-shared-default",
"library": "***** CHANGEME: ORIGINAL LIBRARY *****",
"table": "***** CHANGEME: ORIGINAL TABLE *****"
},
{
"purpose": "replacement",
"namePattern": "serverLibraryTable",
"server": "cas-shared-default",
"library": "***** CHANGEME: NEW LIBRARY *****",
"table": "***** CHANGEME: NEW TABLE *****",
"replacementLabel": "***** CHANGEME: THE SAME NAME AS NEW TABLE *****"
}
]
}
';
headers
"If-Match"=%tslit(&etag)
"Content-Type"="application/json"
"Accept"="application/json"
;
run;
"library": "***** CHANGEME: ORIGINAL LIBRARY *****",
15
"TABLE": "***** CHANGEME: ORIGINAL TABLE *****"
16
},
17
{
18
"purpose": "replacement",
19
"namePattern": "serverLibraryTable",
20
"server": "cas-shared-default",
21
"library": "***** CHANGEME: NEW LIBRARY *****",
22
"TABLE": "***** CHANGEME: NEW TABLE *****",
23
"replacementLabel": "***** CHANGEME: THE SAME NAME AS NEW TABLE *****"
24
}
25
]
26
}
27
28
';
29
headers
30
"If-Match"=%tslit(&etag)
31
"Content-Type"="application/json"
32
"Accept"="application/json"
33
;
34
RUN;
3 Bloc de code
DATA STEP
Explication : Ce simple DATA step lit le contenu du fichier temporaire `resp` (qui contient la réponse JSON de la requête HTTP) et l'affiche dans le log SAS. Cela permet de vérifier le succès ou l'échec de l'opération de modification de la source de données du rapport Visual Analytics.
Copié !
/* Print the result to the log */
data _null_;
infile resp;
input;
put _INFILE_;
run;
1
/* Print the result to the log */
2
DATA _null_;
3
INFILE resp;
4
INPUT;
5
put _INFILE_;
6
RUN;
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.
Informations de Copyright : Name: va_legacy_api_change_datasource.sas, Purpose: Skeleton code to change the data source of a Visual Analytics report using the legacy reportTransforms API, Author: Stu Sztukowski
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.