Si vous souhaitez consulter des classeurs Excel directement depuis le portail web de Power BI Report Server (PBIRS), sans avoir à les télécharger puis les ouvrir avec l’application du bureau Excel, cet article est fait pour vous ! Nous allons voir comment grâce à Office Online Serveur (OOS), nous allons pouvoir répondre à ce besoin.
Pour cela, nous allons commencer par vous présenter :
Architecture
Dans notre exemple, nous avons un environnement avec 2 serveurs « On premise » :
- un premier serveur S1 sur lequel est installé des instances SQL et SQL Server Analysis Services (SSAS)
- et un second serveur S2 dédié à l’instance PBIRS (sur-ensemble de SQL Server Reporting Services (SSRS))
Le besoin exprimé est d’installer une instance OOS sur un troisième serveur S3 (de type Windows Server 2019 x64). OOS est une solution de serveur proposée par Microsoft qui permet aux utilisateurs d’accéder à des applications Office en ligne telles que Word, Excel et PowerPoint à partir d’un navigateur web. Le but ici est donc de permettre à notre portail web PBIRS d’utiliser OOS pour lui permettre d’afficher le contenu de documents Excel.
Installation et configuration d’OOS
Prérequis
La première étape consiste à installer les logiciels prérequis pour OOS, sur notre serveur S3. Pour cela il faut exécuter les commandes PowerShell suivantes :
Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev Add-WindowsFeature Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes, Windows-Identity-Foundation,Server-Media-Foundation Add-WindowsFeature NET-Framework-Features,NET-Framework-Core, NET-HTTP-Activation,NET-Non-HTTP-Activ, Web-Net-Ext45,Web-Asp-Net45, NET-Framework-45-Features, NET-Framework-45-Core, NET-WCF-HTTP-Activation45
A la fin de l’installation, Internet Information Services (IIS) est installé sur notre serveur avec les fonctionnalités nécessaires à l’hébergement d’OOS.
Il nous faut également installer les logiciels suivants en prérequis :
- .NET Framework 4.5.2 (déjà installé sur Win2019)
- Visual C++ Redistributable Packages pour Visual Studio 2013
- Redistribuable Visual C++ pour Visual Studio 2015 (déjà installé sur Win2019)
- Microsoft.IdentityModel.Extension.dll
Installation d’OOS
Nous allons passer maintenant à l’installation d’OOS. Pour cela, il faut télécharger la dernière version d’Office Online Server ainsi que le langage Pack :
- Office Online Server : à partir du Centre de gestion des licences en volume (VLSC) (dans notre exemple : en_office_online_server_last_updated_november_2018_x64_dvd_1b5ae10d.iso)
- Modules linguistiques : wacserverlanguagepack.exe
Il suffit ensuite de monter l’ISO, d’exécuter le setup.exe et de suivre les étapes.
Une fois les binaires installés, lançons l’installation du langage Pack. A la fin, redémarrer le serveur. Le service Office Online doit être démarré avec le compte Local System.
Configuration de la ferme OOS
Dans une console PowerShell en tant qu’Administrateur, exécutons les commandes suivantes :
- Pour charger le module PowerShell pour OOS
Import-Module -Name OfficeWebApps
- Pour créer la WebApp OOS avec l’URL https://oos.maWebApp.fr accessible en http. Il est également possible de créer une connexion https si nous disposons d’un certificat.
New-OfficeWebAppsFarm -InternalURL "https://oos.maWebApp.fr" -AllowHttp -EditingEnabled
Une fois la commande terminée, l’application web est accessible via un navigateur et peut être validée via l’URL https://oos.maWebApp.fr/hosting/discovery. Si OOS fonctionne comme prévu, nous voyons apparaître un fichier XML de découverte WOPI dans le navigateur web.
Customisation de la ferme OOS
Dans une console PowerShell en tant qu’Administrateur, exécutons les commandes suivantes :
- Pour configurer la taille maximale de classeur Excel. Sachant que la taille maximale pour tous les fichiers dans Power BI Report Server est de 100 Mo.
Set-OfficeWebAppsFarm -ExcelWorkbookSizeMax 100
- Pour autoriser des connexions actives à Analysis Services des classeurs Excel avec EffectiveUserName
Set-OfficeWebAppsFarm -ExcelUseEffectiveUserName:$true Set-OfficeWebAppsFarm -ExcelAllowExternalData:$true Set-OfficeWebAppsFarm -ExcelWarnOnDataRefresh:$false
Configuration de Power BI Report Server
Configuration du serveur OOS sur Power BI
Pour configurer le portail web PBIRS, il suffit de sélectionner « la roue » de Paramètres puis « Paramètres de site ».
Dans l’URL du point de terminaison de découverte d’OOS, renseignons l’URL du serveur OOS. Dans notre exemple nous indiquons : https://oos.maWebApp.fr/hosting/discovery
Configuration supplémentaire d’Analysis Service
Pour permettre d’actualiser une connexion à un cube Analysis Service (AS) dans un fichier Excel sur le portail web PBIRS, il est nécessaire de renseigner le compte machine du serveur OOS comme administrateur de l’instance AS.
Dans l’exemple ci-dessous, nous ajoutons le compte CONTOSOSSAS-Admin en tant qu’administrateur de l’instance AS, il convient donc de renseigner ici le compte de service OOS.
Affichage d’Excel dans PBIRS
Nous pouvons désormais ouvrir un classeur Excel directement dans PBIRS.
Limitations et difficultés rencontrées
Difficultés rencontrées
Nous avons créer des SPN et délégations Active Directory afin de tester la connexion d’un fichier Excel à une base de données SQL. Tests qui se sont avérés non concluants : impossibilité de rafraichir un classeur Excel connecté à une base de données SQL via le portail PBIRS.
La propagation de l’identité de l’utilisateur « PC > serveur PBIRS > serveur OOS > cube » ne se fait pas nativement. Il faut utiliser une des deux solutions suivantes :
- Activation de Kerberos. C’est un protocole d’authentification utilisé pour vérifier l’identité d’un utilisateur ou d’un hôte
- Utilisation de la propriété EffectiveUserName. C’est une propriété de chaîne de connexion SSAS contenant le nom de l’utilisateur qui accède à un rapport. Dans OOS, nous pouvons utiliser cette propriété pour transférer l’identité de l’utilisateur qui affiche le rapport dans Analysis Services. L’identité par utilisateur est ainsi permise sans devoir configurer la délégation Kerberos contrainte.
Limitations rencontrées
Si l’ouverture des fichiers Excel se fait sans souci sur le portail web, il n’est pas possible de faire tout ce que nous pourrions faire dans l’application Excel. En effet, l’utilisation d’Excel dans PBIRS est limité :
- à l’accès aux classeurs en lecture seule : nous ne pouvons pas saisir de données dans le fichier
- s’il est possible de modifier les données d’un Tableau Croisé Dynamique (TDC) en jouant sur les filtres, les mesures et les axes à afficher, en revanche :
- lorsque nous téléchargeons le fichier, nous récupérons la version d’origine, non modifiée
- il ne s’enregistre pas sur le serveur à la fermeture du fichier, ainsi lorsque nous ouvrons à nouveau le fichier, nous retrouvons la version d’origine
- l’actualisation planifiée n’est pas prise en charge pour les classeurs Excel dans PBIRS
Pour aller plus loin, nous abordons dans un autre article « Batch PowerShell d’envoi de fichiers Excel actualisés depuis PBIRS » le sujet de la récupération, l’actualisation et le chargement de classeurs Excel sur PBIRS ainsi que l’envoi de ces fichiers par mail de manière automatisée.
Merci de nous avoir lu !
Découvrez en plus sur notre offre Modernisation Data en vous rendant sur notre page dédiée.
0 commentaires