2016-01-12 4 views
1

J'ai besoin d'une valeur de ligne dans mon rapport SSRS calculée en fonction de quelques champs déjà utilisés dans le rapport. Je veux l'afficher dans la zone de texte nommée 'textboxPercentageValue'. En semi-plaine anglaise, l'expression/formule est:Comment puis-je "spécifier un agrégat de jeu de données" dans cette expression SSRS?

If the value of the "Week" field is "WK1", display the value of the Variance field divided by the value of the Price field; otherwise, just display the value from the Variance field. 

dans le script VB charabia, l'expression/formule que j'ai ajouter au propert Valeur de textboxPercentageValue est:

=IIF((Fields!Week.Value="WK1"), Fields!Variance.Value/Fields!Price.Value, Fields!Variance.Value) 

Pourtant, lorsque je tente Pour télécharger le fichier .rdl vers SQL Server Reporting Services, j'obtiens:

"L'expression de valeur de la zone de texte" textboxPercentageValue "fait directement référence au champ" Semaine "sans spécifier d'agrégat de jeu de données. ensembles de données , les références de champ à l'extérieur d'une région de données doivent être contenues dans des fonctions d'agrégation qui spécifient un ensemble de données. (rsFieldReferenceAmbiguous) Aide en ligne L'expression Value de la zone de texte 'textboxPercentageValue' fait directement référence au champ 'Variance' sans spécifier d'agrégat de jeu de données. Lorsque le rapport contient plusieurs ensembles de données, les références de zone en dehors d'une région de données doivent être contenues dans des fonctions d'agrégation qui spécifient une étendue de jeu de données. (rsFieldReferenceAmbiguous) Aide en ligne L'expression de valeur de la zone de texte 'textboxPercentageValue' fait directement référence au champ 'Price' sans spécifier d'agrégat de jeu de données. Lorsque le rapport contient plusieurs ensembles de données, les références de zone en dehors d'une région de données doivent être contenues dans des fonctions d'agrégation qui spécifient une étendue de jeu de données. (rsFieldReferenceAmbiguous) Aide en ligne L'expression de valeur de la zone de texte 'textboxPercentageValue' fait directement référence au champ 'Variance' sans spécifier d'agrégat de jeu de données. Lorsque le rapport contient plusieurs ensembles de données, les références de zone en dehors d'une région de données doivent être contenues dans des fonctions d'agrégation qui spécifient une étendue de jeu de données. (RsFieldReferenceAmbiguous) "

Alors, que dois-je faire pour cette expression/formule sans ambiguïté pour SQL Server Reporting Services ou l'analyseur VBScript ou « celui qui » se plaint-il?

Répondre

4

Il semble que votre zone de texte a été ajouté à une zone du rapport qui n'est pas une "région de données" (par exemple une table ou une liste) Une région de données aura une référence à un ensemble de données de rapport particulier comme l'une de ses propriétés. les références à l'intérieur de cette région de données se réfèrent à cet ensemble de données.Ce que cette erreur essaie de dire (d'une manière plutôt verbeuse) est:

  • si vous référencez un champ en dehors d'une région de données, cette référence doit figurer dans une expression agrégée telle que Sum() - car le jeu de données peut contenir plusieurs lignes pour le champ mais une zone de texte ne peut afficher qu'une zone de données une seule valeur.
  • cette expression globale doit également inclure une référence à l'ensemble de données de rapport que le champ vient

Donc, si le champ « WK1 » était de jeu de données « MyDataset1 », l'expression pour faire référence à ce champ ressemblerait à ceci:

=Sum(Fields!WK1, "MyDataset1") 

Voir aussi: Using Dataset Fields Collection References in Expressions