Après avoir validé drillthrough et configuré la sécurité, vous allez mettre en oeuvre drillthrough pour les applications. Pour démontrer les étapes d'implémentation de drillthrough, j'ai ajouté la fonction drillthrough à une page ASP (Active Server Pages) d'après la page ASPADOComplex.asp livrée avec Analysis Services. Cette page exécute une requête qui
Drillthrough pour développeurs
montre les emplacements
de Quilogy, le nombre de
jours étudiants inscrits à chaque endroit
et le montant du revenu (fictif,
bien entendu) que les cours de chaque
lieu ont généré.
Dans une application de type Web,
le moyen le plus naturel d’assurer le
drillthrough dans l’UI (User Interface)
consiste à placer un hyperlien sur la
cellule et à laisser l’utilisateur cliquer
sur le lien pour afficher des données
détaillées. A noter que chaque cellule
de la figure 3 contient un hyperlien.
Pour générer l’hyperlien, vous pouvez
modifier l’instruction suivante pour inclure
ou remplacer le code
ASPADOComplex.asp qui imprime la valeur de la cellule :
Response.Write "<a
href=Drillthrough.asp?colName=" & _
colName(k) & "&rowName=" & rowName(j)
& _
"&cube=Enrollment&Where=" &
Server.URLEncode(strWhere) & ">" _
& cst(k, j),FormattedValue & "</a>"
A noter que l'hyperlien appelle la page Drillthrough.asp et transmet à cette page, par l'intermédiaire de la chaîne de requête, les noms des membres de la colonne et de la ligne courante, le cube, et toute clause WHERE éventuelle que l'instruction MDX a utilisée pour générer l'ensemble de cellules. Le code dans la page ASPADOComplex.asp stocke les noms de lignes et de colonnes sous forme d'arrays peuplés quand il construit les en-têtes de lignes et de colonnes de la table dans la page ASP. Le code ci-dessous extrait la clause WHERE de l'instruction MDX, puis envoie les valeurs à la page Drillthrough.asp, que montre le listing 1.page ASPADOComplex.asp stocke les noms de lignes et de colonnes sous forme d'arrays peuplés quand il construit les en-têtes de lignes et de colonnes de la table dans la page ASP. Le code ci-dessous extrait la clause WHERE de l'instruction MDX, puis envoie les valeurs à la page Drillthrough.asp, que montre le listing 1.
intPos = Instr(Session("MDXQuery"), "WHERE")
If IntPos > 0 Then strWhere = Mid(Session("MDXQuery"),intPos)
Drillthrough bâtit une instruction MDX qui inclut le mot-clé DRILLTHROUGH pour ordonner au serveur OLAP de construire et d'exécuter une requête pour renvoyer les données détaillées demandées. Vous pouvez accoler le mot-clé DRILLTHROUGH comme préfixe d'une instruction MDX, laquelle peut contenir des arguments MAXROWS et FIRSTROWSET pour limiter le nombre de lignes renvoyées au client et pour déterminer la partition dont les données doivent être renvoyées en premier si le cube contient de multiples partitions. Le serveur OLAP applique MAXROWS après avoir appliqué le filtre pour le cube ou la partition. En A du listing 1, on voit que la page limite le nombre de lignes à renvoyer à 5 000. Pour bâtir l'instruction MDX, la page ajoute à la variable strSource les arguments transmis dans la chaîne de requête (nom de colonne, nom de ligne, cube et clause WHERE) et atteints par l'intermédiaire de l'objet ASP Request. Ainsi, si vous cliquez sur la colonne Days pour Cincinnati, la page construit l'instruction MDX suivante :
DRILLTHROUGH MAXROWS 5000
SELECT {[Measures].[Days]} ON COLUMNS,
{[Location].[All
Location].[N].[Cincinnati]}
ON ROWS
FROM Enrollment
Pour exécuter l'instruction MDX,
vous invoquez la méthode Execute
d'un objet Connection. Cet exemple
définit la propriété ActiveConnection
de l'objet ADOMD.Catalog d'après le
nom du serveur et du catalogue que la
session de l'utilisateur contenait avant
qu'il n'appelle Execute. Dans des applications
Web, la valeur renvoyée à
partir de la méthode Execute est un
ADO Recordset, pas un cellset comme
dans ADO MD. Comme un drillthrough
dans des applications Web
peut renvoyer des recordsets multiples,
il vaut mieux écrire le code en
double pour extraire les résultats et les
formater dans une table HTML,
comme le montre le renvoi B du listing
1.
La méthode NextRecordset de l'objet
Recordset renvoie les recordsets
créés pour des partitions supplémentaires,
ou elle renvoie Nothing quand il
n'existe plus de recordsets. Si vous
êtes certains que les recordsets pour
les différentes partitions contiennent
les mêmes colonnes, vous pouvez fusionner
les résultats en utilisant le code
ASP. Toutefois, dans ce cas, la procédure
PrintTable place simplement une
table HTML supplémentaire sur la page
renvoyée à l'utilisateur. La figure 4
montre les données détaillées résultantes.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Chiffrements symétrique vs asymétrique
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Les 6 étapes vers un diagnostic réussi
Les plus consultés sur iTPro.fr
- IA : la sécurité se prépare aux accès agentiques
- De l’adoption à la maîtrise : le véritable défi de l’IA en entreprise
- Microsoft Digital Defense Report 2026 : dix priorités pour bâtir une cyber résilience durable
- L’IA ne manque pas d’intelligence mais les entreprises manquent de préparation
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
