2015-12-09 1 views
0

Je travaille actuellement à l'intégration d'un outil de mappage tiers dans mon système actuel.Chaînes de calcul de variables avec opérateurs variables

Problème est l'outil lui-même car il remplace un système existant a besoin de certains réglages, ainsi qu'une version résumée des données pour rendre les rapports SSRS beaucoup plus rapide.

En ce moment, tout ce que je voudrais faire du point de vue d'ensemble de données est de retour quelque chose de similaire à Somme (Numerator1) & premier (Opérateur1) & Somme (Numerator2) & premier (Operator2) & Somme (Numerator3) & First (Operator3) Le problème que j'ai est mon calcul peut en théorie être n'importe quoi, donc même le stocker comme ceci sera une énorme douleur. Je passe des balances dans chacun de ces champs, les numérateurs étant des nombres et les opérateurs étant (+, -, *, /). La raison pour laquelle je vois cela comme étant ma seule option est que j'ai besoin de Numérateur pour pouvoir fluctuer entre les groupes, donc si je groupais 5 lignes contre 10 lignes ou un total complet, je fais toujours le même calcul que mes soldes.

Problème est comment puis-je faire SSRS évaluer tout ce que j'ai à passer ici, et est-ce possible de le faire comme une chaîne. Division est le kicker ici et la principale raison pour laquelle je dois le faire dans le rapport que je pourrais avoir des données pour 20 unités. Je dois fournir le calcul initial pour chaque unité ainsi que fournir le calcul avec chacun des soldes totalisés pour les 20 unités pour représenter un pourcentage des ventes ou quelque chose. Si je fais cela dans le rapport, je devrais avoir un total pour chaque unité, puis pour le total général. Je ne veux pas faire cela parce que le rapport aura une quantité incalculable de sous-totaux supplémentaires et essayer de ramener le solde final dans la requête ne fonctionnera tout simplement pas.

J'apprécie n'importe quelle aide ou idées que n'importe qui a pour ceci.

Merci, Striker ~

Répondre

0

Vous ne pouvez pas évaluer une chaîne comme une expression dans SSRS.

Si vous avez le temps et le savoir-faire, alors vous pouvez écrire une fonction dans VB.net qui analyse l'expression et renvoie le résultat.

Vous pouvez ensuite appeler cette fonction de votre rapport comme ceci:

=Code.ParseString(Fields!MyStringExpression.Value) 

sans nous dire pourquoi votre calcul pourrait être quelque chose, nous ne pouvons pas fournir beaucoup plus d'informations!