Comment éviter la sommation de nombres dans le modèle de rapport dans SQL Server Reporting Services

StackOverflow https://stackoverflow.com/questions/1803459

  •  05-07-2019
  •  | 
  •  

Question

Dans un modèle de rapport, certaines entités ont des attributs qui sont des entiers (définis sur un type de données entier), mais ne doivent en aucun cas être additionnées ou agrégées. Pour des exemples d'identification. Mais lorsque je crée des rapports avec l'assistant, le générateur de rapports essaie parfois de faire la somme des valeurs, même s'il n'a pas de sens de faire la somme des ID. Par exemple, disons que j'ai une liste de voitures vendues dans un mois. En janvier, j'ai vendu 2 voitures, l'une avec l'ID 101 et l'autre avec l'ID 210. Dans l'éditeur de rapport, j'obtiendrai ensuite - lors de l'utilisation de l'assistant - le nombre 311 pour les valeurs additionnées. Je peux l'enlever par la suite, mais j'aimerais que cela ne se produise pas du tout (car les utilisateurs finaux seront confus)

J'ai besoin d'un moyen de dire au modèle de rapport: c'est un nombre entier, mais ce n'est pas vraiment un nombre que vous devriez résumer

Était-ce utile?

La solution

L’assistant n’est pas parfait comme vous l’avez découvert. C'est ce qu'il y a de mieux pour essayer de savoir quoi faire. Tout ce que vous pouvez réellement faire est de supprimer = Sum (carID.value, & Quot; datasetname & Quot;) lorsqu'il le met automatiquement là. Ou si vous n'avez rien à ajouter, supprimez le pied de page du tableau. Une solution de contournement consisterait peut-être à effectuer une conversion dans votre code SQL pour transformer votre identifiant en varchar.

Autres conseils

Si vous faites glisser un champ entier sur la table, il génère une somme par défaut. Ce n'est pas toujours ce que vous voulez - par exemple lorsque le champ est un identifiant ou un code de statut identique pour toutes les lignes affichées.

Cliquez avec le bouton droit sur le " <<Expr>> " et amenez le " Expression ... " dialogue. Remplacez & Quot; Sum & Quot; avec " premier " - par exemple. =Sum(carID.value, "datasetname") devient =First(carID.value, "datasetname") Si les valeurs sont identiques dans toutes les lignes, la première valeur fera l'affaire. Sinon, il existe également d'autres fonctions telles que Last, Min, Max.

C’est un peu maladroit, mais cela fonctionne pour moi. J'ai utilisé mon éditeur de texte pour modifier le fichier RDL (XML) et remplacer & "Sum (&" Avec & "! &"; Puis j'ai recherché (soigneusement) le & " ;) " et remplacé par " " ;. J'ai seulement remplacé cela à l'intérieur du ... Rouvrir dans le générateur de rapport sans problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top