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

SSAS Discussion :

Expression d'un calcul nommé avec un autre calcul nommé [2012]


Sujet :

SSAS

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut Expression d'un calcul nommé avec un autre calcul nommé
    Bonjour à tous,

    Je rencontre un petit problème (qui n'en est peut-être pas un) avec un calcul nommé dans une table de ma SDV. J'ai une colonne de ma table qui contient un tarif mensuel (Cotisation) et j'ai créé un calcul nommé "CotisationAnnuelle" avec l'expression suivante :
    Jusque là rien de bien compliquer.

    Ensuite je voudrai pouvoir réutiliser le calcul nommé "CotisationAnnuelle" dans un autre calcul nommé mais là ça ne fonctionne pas, j'ai un message d'erreur :
    Impossible de terminer la préparation différée.
    Impossible de préparer les instructions.
    Nom de colonne non valide : 'CotisationAnnuelle'


    Déjà, est-ce qu'il est possible de faire cela ? Si non, il y a-t-il un autre moyen ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut
    Le calcul nommé se faitau nouveau de la ligne de la table donc vous pouvez bêtement dupliquer le code entre les deux calculs nommé ou utiliser un membre calculé directement dans le cube.

    A+

  3. #3
    Membre éclairé Avatar de GeekMokona
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2011
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2011
    Messages : 327
    Points : 817
    Points
    817
    Par défaut
    Bonjour,

    Les calcules nommés dans une DataSourveView ne peuvent pas être basé sur d'autre calcule nommé :

    les Solutions des contournements :

    1° De créer Le 2éme calcule nommé avec le détail de calcule du premier :
    exemple :
    Si les calcule nommé sont :
    CotisationAnnuel = Cotisation*12
    CotisationTriAnnuel= cotisationAnnuel * Alors il faut créé ce Calcule Nommé de la sorte CotisationTriAnnuel=12*3*Cotisation

    Avec cotisation une colonne la tables sur laquelle est basé ces calcules nommé

    => Cette Solution en terme de maintenabilité n'étant pas optimale Voici une 2éme solutions , Si je dois modifié le calcule de la cotisationAnnuel , je dois faire cette modif à plusieurs endroit

    2° Créé un membre Calculé dans le cube et là la formule du membre calculé sera bien CotisationTriAnnuel = CotisationAnnuel * 3

    A savoir qu'un membre calculé peut en référencé un autre ...
    Séverine Capon - Consultante MS BI
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Merci de dés que le commentaire vous a aidé ou de marquer si votre problème est résolu

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut
    Effectivement dans ce cas là ça fonctionne, j'aurai dû prendre un autre exemple. Par exemple, j'ai besoin de déterminer la tranche tarifaire directement supérieur et inférieur par rapport à une cotisation annuelle, exemples :

    Cas 1 :
    Cotisation annuelle = 150€
    Pas de la tranche : 100€
    Tranche tarifaire = 100<PM<200

    Cas 2 :
    Cotisation annuelle = 75€
    Pas de la tranche : 100€
    Tranche tarifaire = 0<PM<100

    Cas 3 :
    Cotisation annuelle = 223€
    Pas de la tranche : 50€
    Tranche tarifaire = 200<PM<250


    Pour le moment, j'ai 3 pas de tranche différent (100, 50 et 25). J'ai créé des calculs nommés sur mes tables pour déterminer la tranche min et la tranche max en fonction d'un pas. Pour le cas 1, la tranche min sera 100 et la tranche max sera 200 pour le pas de 100. Cela me fait donc 2 champs nommés. Ce que j'aurai voulu c'est créé un 3è champs nommé qui utiliserait la tranche min et la tranche max du pas de 100 pour afficher la donnée sous la format 100<PM<200, et là ça ne fonctionne pas car tranche min et tranche max du pas de 100 sont déjà des champs calculés.

    Et je me vois mal remettre l'expression pour ces 2 champs calculés dans le 3è car cela n'est pas "propre" au niveau de la lecture et de la compréhension de l'expression.

  5. #5
    Membre éclairé Avatar de GeekMokona
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2011
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2011
    Messages : 327
    Points : 817
    Points
    817
    Par défaut
    Dans votre Exemple vois plutôts une dimension Tranche tarifaire ayant comme attribut min Tranche et max Tranche et le label '100<MP<200' , donc pour ce faire il vous faut une table de référence Tranche Tarifaire dans votre entrepôt de données ayant comme colonnes IdTranche , Label , minTranche et maxTranche .
    Ceci car une Tranche tarifaire ne peux être une mesure.


    le lien entre cette nouvelle table de référence (dimension) et votre table de fait(groupes de mesures) seras sur l'ID de tranche que vous pouvez dans le meilleur des mondes le calculer dans votre ETL vers votre entrepôt de donné sinon via un calcule nommé sur votre table de fait ...
    Séverine Capon - Consultante MS BI
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Merci de dés que le commentaire vous a aidé ou de marquer si votre problème est résolu

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

Discussions similaires

  1. [AC-2010] Calcul champ avec Coef dans autre table
    Par Mathieu51 dans le forum Access
    Réponses: 4
    Dernier message: 12/09/2011, 17h14
  2. [XL-2007] Calcul de la valeur d'un crédit à 0% avec un autre crédit
    Par uffo86 dans le forum Conception
    Réponses: 8
    Dernier message: 17/04/2011, 14h31
  3. Interchanger un JPanel avec un autre
    Par jfz dans le forum Agents de placement/Fenêtres
    Réponses: 10
    Dernier message: 09/01/2010, 20h38
  4. [calcul] pb avec la syntaxe d'une expression calulée
    Par gloogloo dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 29/06/2005, 17h14
  5. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52

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