Est-il possible d'incorporer javascript dans un rapport SSRS?

Les rapports SQL Server peuvent intégrer vbscript et exécuter le côté client, mais peut-on faire avec javascript? Je pense qu'il y aurait une excellente utilité pour pouvoir exécuter jQuery et côté client de la manipulation CSS pour créer une expérience d'analyse plus interactive.

Il me semble que Reporting Services est la mauvaise façade pour votre travail. Les fichiers RDL (définition de rapport) sont essentiellement XML. Je ne connais pas un moyen d'ajouter du code à XML.

Si vous considérez la sortie RDL comme vos "données", il n'est pas vraiment logique de traiter n'importe quel comportement ici. Au lieu de cela, vous voudrez peut-être construire un front-end qui peut consommer la sortie du rapport final, puis fournir l'expérience que vous recherchez.

Parlons-nous de SQL Server Reporting Services?

Si oui, je n'ai jamais vu de méthode pour le faire. J'avouerai que la notion de ma peau s'emboîte cependant.

modifier

Voici un petit exemple d'utilisation de JavaScript pour ouvrir une fenêtre distincte dans un lien hypertexte.

Cet article de blog peut contenir des informations encore meilleures pour certaines techniques JavaScript intéressantes dans les services de reporting.

Je sais que c'est un ancien poste, mais quelque chose comme ça fonctionne bien

= "Javascript: void (window.open ('https: //" + Paramètres! ServerName.Value + "/ReportServer/Pages/ReportViewer.aspx?%2f" + Paramètres! Environment.Value + "% 2fSSRS + Reports% 2fReports % 2fVE% 2fMy + Reports% 2fData + View% 2fReport + Nom% 2f60-Your-Report & rs: Command = Render ',' _ blank ')) "

J'ai une note importante à ajouter à propos de cette publication, si vous essayez de tester le javascript dans votre rapport SSRS en utilisant PREVIEW dans Visual Studio (BIDS), il ne fonctionnera PAS en mode prévisualisation, mais après avoir déployé le rapport sur un serveur de rapports réel , Alors le javascript fonctionnera lors de l'affichage du rapport dans le navigateur Web. Cela m'a causé beaucoup de confusion, j'espère épargner d'autres problèmes.

Voici un exemple spécifique quand et pourquoi j'utilise souvent javascript dans SSRS. Sur les rapports SSRS, il est agréable d'avoir des hyperliens vers des services Web ou d'autres applications en dehors de SSRS. Dans l'exemple ci-dessous, un champ "lien" est créé en SQL et utilisé dans le rapport SSRS pour créer un lien hypertexte vers MS Dynamics CRM vers une opportunité spécifique d'un responsable spécifique.

Tout d'abord, créez le champ de lien http avec quelque chose comme ça … ignorez l'énoncé de cas si vous n'avez pas besoin d'avoir un lien différent pour différents environnements.

,case when @@SERVERNAME like '%CF-PROD%' then 'http://cf-prod-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36)) when @@SERVERNAME like '%CF-STG%' then 'http://cf-stg-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36)) when @@SERVERNAME like '%CF-QA%' then 'http://cf-qa-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36)) when @@SERVERNAME like '%CF-DEV%' then 'http://cf-dev-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36)) END AS 'CRMOpportunityLink' 

Pour tester, ce lien devrait fonctionner si vous deviez le copier et le mettre manuellement dans un navigateur pour votre application spécifique.

Dans un rapport, tel que SSRS, vous pouvez créer un lien hypertexte en utilisant Javascript dans la zone Action dans TextBox, sélectionnez "Aller à l'URL" et insérez ce qui suit:

 "javascript:void(window.open('" + Fields!CRMOpportunityLink.Value + "','_blank'))")