IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSRS Discussion :

Détourner le calcul automatique des totaux des enfant d'un niveau parent [2008R2]


Sujet :

SSRS

  1. #1
    Membre à l'essai
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 17
    Points
    17
    Par défaut Détourner le calcul automatique des totaux des enfant d'un niveau parent
    Bonjour tout le monde, voila après avoir cherché presque partout, je poste ici ma question en espérant trouver enfin la solution à mon problème.
    Voilà, j’ai un cube SSAS version 2008R2, qui contient 1 table de fait, 4 dimensions avec une hiérarchie dans l’une de ces dimensions.

    Je veux créer un rapport SSRS, en attaquant le cube (donc j’ai utilisé un DataSet qui récupère les données du cube).

    Dans la partie groupe de lignes, j’ai créé 3 groupes (avec le contenu de la hiérarchie précédente).

    J’ai un problème lors de l’affichage du contenu des niveaux supérieur c'est-à-dire à la réduction du Niveau1, j’ai un total de tous les sous-totaux des enfants du Niveau1, mais pour mon besoin, je dois choisir moi-même les enfants à additionner.
    PS : Sous SSAS j’ai réussis à faire ça avec des scope.

    Merci pour votre lecture, j’espère trouver une solution par ici.
    Bonne soirée à tous et à toutes

  2. #2
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Si je comprends bien a requête renvoie un truc hiérarchisé du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    -Fruits
       +Pommes 200
       +Poires 300
       +Scoubidous 400
       Total 900
    que tu arrives à rendre sous SSRS dans une table avec des groupes.
    Mais le calcul du total (900 dans mon exemple) n'est pas le comportement que tu souhaiterais?
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  3. #3
    Membre à l'essai
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Bonjour,
    Oui c'est exactement ça , par exemple dans Fruits il faut afficher 500, pas 900

    Merci

  4. #4
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    D'accord. Ce que je retiens c'est donc que ton rapport affiche des chiffres mais que le total que tu veux n'est pas la somme mais une valeur, potentiellement sortie du cube puisque je te cite:

    Sous SSAS j’ai réussis à faire ça avec des scope.
    Question bête: ton expression de Total c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Sum(Fields!Produits.Value)
    ? Parce que si tu veux l'aggrégat du serveur AS (celui potentiellement recalculé par tes SCOPE en MDX) c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Aggregate(Fields!Produits.Value)
    Qu'il faut utiliser
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  5. #5
    Membre à l'essai
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    merci pour ta réponse, mais ta fonction c'est ce que j'ai essayé en premier, en fait, on va dire que je veux addition juste les fruits, l'enfant Scoubidou c'est l'enfant que je ne veux pas ajouter au total

    Merci

  6. #6
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Hmmm. Il y a deux choses que je n'ai pas compris alors.

    1) La personne qui consulte ton rapport, est ce que tu lui affiches tout le niveau (y compris des lignes qui ne doivent pas être comptées dans le sous-total) tout en voulant lui afficher un sous-total qui est inférieur à la somme de ce qu'elle voit?

    2) Si tu arrives à le calculer dans le cube (je reviens à ton "côté SSAS je l'ai fait avec des SCOPE") tu l'interroges depuis Excel ou une requête MDX et ça marche c'est ça? Et Aggregate ne te renvoie pas le calcul issu de ce fameux SCOPE? Au pire des cas tu pourrais le poster ce code MDX?
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  7. #7
    Membre à l'essai
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    1-Oui j'affiche tous les niveaux (y compris les lignes qui ne doivent pas être comptées dans le sous-total).
    2- oui en SSAS, j'ai pu faire ça (injecter des données calculées dans une ligne de dimension, ça se fait avec la syntaxe SCOPE).
    Enf ait avec Excel,ça marche oui, aussi quand on parcourt le cube dans slq server Management studio ou Visuel studio ça marche nickel.
    Mais des que je passe à la création du rapport SSRS, ça ne marche plus.

    Pour Aggregate, me renvois rien, il affiche la case vide pour le niveau1

  8. #8
    Membre à l'essai
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Voici mon code MDX que je veux remplacer avec une expression dans SSRS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Chiffre d'affaire
    scope([Nomenclature Restitution].[Hiérarchie].[Niveau 1].&[Chiffre d'affaire]);                
    this=([Nomenclature Restitution].[Hiérarchie].[Niveau 2].&[Chiffre d'affaire d'exploitation])+([Nomenclature Restitution].[Niveau 2].&[Autres produits]);                
    end scope;
    J'ai essayé de faire ça en SSRS mais ça ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    =IIF(Fields!Niveau_1.Value="Chiffre d'affaire",                
    (Fields!test_MENSUEL.Value,Fields!Niveau_2.Value="Chiffre d'affaire d'exploitation")+
    (Fields!test_MENSUEL.Valu,Fields!Niveau_2.Value="Autres produits"),1)
    Merci

  9. #9
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Si ta requête est faite au designer, active l'affichage des sous-totaux (bouton dans la barre), sinon poste là qu'on regarde, mais clairement il faut que tu utilises Aggregate, ton expression serait trop chiante à refaire en expressions RS. D'autant que doublonner les calculs quand on sait qu'on peut les récupérer...
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  10. #10
    Membre à l'essai
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    bonjour,

    en fait j'ai trouvé la solution de mon probleme.
    Finalement il existe en SSRS ce qu'on appel les Somme conditionnelle c'est à dire SUM(IIF()).

    donc pour mon problème, il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =IIF(Fields!Niveau_1.Value="Chiffre d'affaire",
    Sum(IIF(Fields!Niveau_3.Value="Sous/Total CA",Fields!test_MENSUEL.Value,0)+IIF(Fields!Niveau_2.Value="Autres produits",Fields!test_MENSUEL.Value,0)),
    Fields!test_MENSUEL.Value) .

    Merci
    à la prochaine fois

  11. #11
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Bien pour toi. Après je persiste à penser que ça n'est pas une bonne solution quand tu as un cube qui fait déjà le calcul de ne pas le récupérer du cube...
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/03/2014, 16h36
  2. Réponses: 10
    Dernier message: 12/03/2013, 13h23
  3. TCD : "Calculer les sous-totaux des éléments filtrées" grisé
    Par White Clust dans le forum Conception
    Réponses: 2
    Dernier message: 29/06/2012, 10h30
  4. Réponses: 0
    Dernier message: 29/01/2012, 16h43
  5. calcule automatique du nombre des caractères
    Par orandriam dans le forum Excel
    Réponses: 1
    Dernier message: 20/03/2007, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo