So machen Sie es durch Bezugnahme auf das subreport direkt
Angeblich soll, können Sie access subreport items in the following way:
[Reports]![YourReportName]![YourSubReportName]![TheValueFromTheSubReportYouWantToReference]
Ich habe Hinweise auf diese Art der Sache in der Vergangenheit gesehen, aber ich habe nie in der Lage gewesen, reportItems Referenzen (oder so etwas) zu bekommen, um konsistent und in der Art zu arbeiten, wie ich es mir vorgestellt hatte.
Denken Sie natürlich daran, dass Sie sich auf einen Unterbericht beziehen, der sich vermutlich mehrmals wiederholt, welche Instanz des angegebenen Unterberichts würden Sie mit der obigen Referenz ziehen? Ich denke, du wirst mehr Ärger finden, als es wert ist.
Wie ich Ihnen empfehlen, nähern sie
Wie ich bereits erwähnt habe, ich glaube, Referenzierung der subreport direkt ist wahrscheinlich, wenn nicht unmöglich schwierig und unzuverlässig. Stattdessen geben Sie an, dass Sie @Number in Ihren Unterbericht eingeben. Wenn Sie eine Ansicht oder Funktion in Ihrem Unterbericht verwenden, um die Daten basierend auf @Number zu ziehen, können Sie problemlos die gleiche Logik und eine Aggregatfunktion in Ihren Hauptbericht einbetten. Auf diese Weise können Sie auf einen Aggregatwert aus einer Abfrage in Ihrem Hauptbericht verweisen, der dieselben Berechnungen und Daten wie Ihr Unterbericht verwendet.
Wenn Ihr Unterbericht keine Ansichten, Funktionen oder freigegebenen Datasets verwendet und Sie Ansichten, Funktionen oder freigegebene Datasets nicht verwenden können (oder sie nicht verwenden), bleiben Sie hängen Reproduzieren der SQL-Abfrage im Hauptbericht und Aufrufen der Abfragelogik und Aggregieren im Hauptbericht. Dies ist möglicherweise ein Wartungs-Albtraum (den ich aktiv in meiner eigenen Organisation zu minimieren versuche), da Sie an zwei Stellen die gleiche SQL-Logik beibehalten müssen. Das heißt, es kann relativ einfach durchgeführt und ausgeführt werden, abhängig von der Komplexität Ihrer SQL-Abfrage im Unterbericht.
Wenn Sie Fragen haben, lassen Sie sie als Kommentar und ich werde mein Bestes tun, um zu helfen.
Ja, ich habe eine Gruppierung auf Main-Bericht mit 'Number' Spalte, auch kann ich die ganze Nummer in einem Format wie' 102,103,104' haben (mit LookupSet und Join), aber wieder bin ich fest! Wie kann ich diesen Wert weitergeben, um ihn im Datensatz des Hauptberichts zu übergeben? Beispiel: Ich habe "102.103.104" in einem Textfeld des Hauptberichts festgelegt und ein neues Dataset erstellt, mit dem die Gesamtzahl abgerufen wird.Aber ich habe keine Idee, diesen Wert als Parameter an ein neues Dataset zu übergeben. Bitte helfen Sie und vielen Dank für Ihre Antwort! – pedram
Sie können keine Werte aus einem Textfeld in ein Dataset übernehmen. Datasets werden ausgeführt, bevor der Hauptteil des Berichts gerendert wird. Was Sie jedoch tun können, ist folgendes: Nehmen wir an, Datensatz A enthält die Nummer. Fügen Sie dem Dataset A ein CTE oder eine temporäre Tabelle hinzu, die dieselben Daten in Ihrem Unterbericht für alle in Dataset A abgerufenen Zahlenwerte enthält. Dann können Sie diesem CTE oder dieser temporären Tabelle in Dataset A beitreten und ein Aggregat für diesen CTE ausführen Temporäre Tabelle auf Datensatzebene (die dann bei Bedarf in der Tablix gruppiert und summiert werden kann). Ist das sinnvoll? –
yeah Ich habe es, ich habe gestern dasselbe getan, was du heute erwähnt hast. Ich habe einen anderen Datensatz erstellt und meine Logik des Unterbericht-Datasets in den neu erstellten Datensatz gemischt und nur den Gesamtwert zurückgegeben, nach dem ich gesucht habe. Aber der Reporting-Service sollte eine Möglichkeit bieten, um einen Unterbericht über den Hauptbericht zu erhalten ... Jedenfalls bin ich Ihnen wirklich dankbar ... – pedram