Abonnement à des rapports dans sccm (mecm) avec des dates en paramètres

BOETSCH Sebastien 20 Points de réputation
2024-12-20T09:49:55.05+00:00

Bonjour,

j'ai des rapports sccm avec des dates en paramètres. Lors de l'abonnement à ceux-ci il demande de renseigner des valeurs pour les dates, elles restent donc fixes.

Je voudrais pouvoir changer dynamiquement ces valeurs, par exemple avec la date du jour, comment procéder ?

J'ai déjà modifié le rapport dans Microsoft SQL Report Builder pour changer les valeurs par défaut dans les paramètres EndDate et StartDate (par exemple) en indiquant une expression du genre :

EndDate, expression de la valeur par défaut =Today

StartDate, expression de la valeur par défaut =Today.AddDays(-7)

Cela fonctionne bien pour l'exécution du rapport (en mode web ou pas) mais lors de l'abonnement il me demande toujours des valeurs pour les dates.

J'ai donc modifier l'onglet Général des paramètres du rapport dans Microsoft SQL Report Builder pour spécifier "internal" (plutôt que "visible") pour les 2 paramètres mais rien n'y fait, il me demande toujours de saisir des valeurs lors de l'abonnement au rapport... De plus, forcement il ne sont plus paramétrables à l'exécution du rapport

Que faire ?

Microsoft System Center
Microsoft System Center
Suite de produits de gestion des systèmes Microsoft qui offre des solutions pour la gestion des ressources des centres de données, des clouds privés et des appareils clients.
16 questions
0 commentaires Aucun commentaire
{count} votes

Réponse acceptée
  1. Signalé
    JERRY DAVIS NDJANA MENGUE 80 Points de réputation
    2024-12-22T22:47:59.3833333+00:00
    1. Problème

    Les paramètres dynamiques que vous configurez dans SQL Report Builder (comme =Today ou =Today.AddDays(-7)) fonctionnent lors de l'exécution manuelle d'un rapport, mais SSRS ne supporte pas directement les expressions dynamiques dans les abonnements planifiés. Lors de la création d'un abonnement, SSRS attend des valeurs fixes pour les paramètres.


    1. Solution : Utiliser un Data-Driven Subscription

    Pour contourner ce problème, vous pouvez utiliser un abonnement basé sur les données (Data-Driven Subscription). Cette approche vous permet de générer des valeurs dynamiques pour les paramètres au moment de l'exécution de l'abonnement.

    Étapes :

    Créez une source de données externe :

    • Utilisez une base de données SQL où vous configurez une table pour stocker les dates dynamiques nécessaires (StartDate et EndDate).
      • Par exemple :
            CREATE TABLE SubscriptionParameters (
      
    StartDate DATE,
    EndDate DATE
    

    );

    INSERT INTO SubscriptionParameters (StartDate, EndDate) VALUES (GETDATE() - 7, GETDATE()); ```

      **Configurez l'abonnement basé sur les données** :
      
         - Dans SSRS (portail web ou via SQL Server Management Studio), créez un abonnement de type *Data-Driven*.
         
            - Spécifiez la requête SQL qui fournit les paramètres dynamiques : 
            
            ```sql
            SELECT StartDate, EndDate
    

    FROM SubscriptionParameters; ```

               - Mappez les colonnes de la requête aux paramètres `StartDate` et `EndDate` du rapport.
               
               **Planifiez l'abonnement** :
               
                  - Configurez une planification pour exécuter l'abonnement à intervalles réguliers (par exemple, tous les jours).
                  
    

    1. Alternative : Script SQL pour Mise à Jour des Paramètres

    Si les abonnements basés sur les données ne sont pas possibles (par exemple, avec une édition Standard de SQL Server), vous pouvez :

    Configurer des paramètres par défaut dans le rapport (=Today et =Today.AddDays(-7)).

    Écrire un script SQL ou un script PowerShell qui met à jour automatiquement les paramètres d'abonnement dans la base de données SSRS.

    Par exemple, pour modifier les paramètres d'un abonnement existant :

    UPDATE Subscriptions
    SET Parameters = '<nouvelle configuration des paramètres>'
    WHERE SubscriptionID = '<ID de l’abonnement>';
    

    Vous devrez spécifier les valeurs de Parameters dans un format XML. Ce format peut être récupéré en explorant la base de données SSRS.

    0 commentaires Aucun commentaire

0 réponses supplémentaires

Trier par : Le plus utile

Votre réponse

Les réponses peuvent être marquées comme Réponses acceptées par l’auteur de la question, ce qui permet aux utilisateurs de connaître la réponse qui a résolu le problème de l’auteur.