2016-07-08 19 views
0

Ich habe zwei Tabellen in SSRS 2010 aus zwei verschiedenen Datasets.Wie kann ich Verhältnisse basierend auf Werte für jedes Jahr und Monat berechnen? In Excel ist es ziemlich einfach, eine Zelle durch eine andere Zelle zu teilen. Aber wie erreichen Sie das in SSRS? enter image description hereWie die Verwendung von Lookup in SSRS erhalten das Verhältnis basierend auf Jahr und Monat aus verschiedenen Datensätzen

Der Versuch, Lookup-Funktion verwenden, aber es geht bisher nicht sehr gut.

Tische sind in einer Gruppe in SSRS enter image description here

und Summen enter image description here

Antwort

1

eine dritte Matrix zu dem Bericht hinzufügen, der Datensatz für die dieser Matrix machen den Namen des Datensatzes entsprechen, die Sie für die verwendete zweite Matrix. Oder Sie können einfach die zweite Matrix kopieren und einfügen und sie unter die anderen verschieben. Verwenden Sie dann diesen Ausdruck, um die Berechnungen durchzuführen.

Sie müssen die Feldnamen anpassen, da ich nicht alle Namen in der Bildschirmobergrenze sehen kann. Passen Sie auch den Namen des Datensatzes an. Formatieren Sie die Nummer, die als Prozentsatz angezeigt werden soll. (0%)

Sie verketten das Jahr und den Monat, um hier einen korrekten Lookup zu erhalten. Das sollte es funktionieren lassen. Sie müssen möglicherweise damit herumspielen, ist es nicht das erste Mal richtig.

Viel Glück!

EDIT: Mögliche Gesamt Ausdruck (nicht getestet!):

=Sum(Fields!PaidLoss.Value)/(Lookup(Fields!AccidentYear.Value & 1, Fields!YearStartRisk.Value & 1, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 2, Fields!YearStartRisk.Value & 2, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 3, Fields!YearStartRisk.Value & 3, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 4, Fields!YearStartRisk.Value & 4, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 5, Fields!YearStartRisk.Value & 5, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 6, Fields!YearStartRisk.Value & 6, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 7, Fields!YearStartRisk.Value & 7, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 8, Fields!YearStartRisk.Value & 8, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 9, Fields!YearStartRisk.Value & 9, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 10, Fields!YearStartRisk.Value & 10, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 11, Fields!YearStartRisk.Value & 11, Fields!EarnedPr.Value, "DataSet1") + 
    Lookup(Fields!AccidentYear.Value & 12, Fields!YearStartRisk.Value & 12, Fields!EarnedPr.Value, "DataSet1")) 
+0

Es funktioniert! Genial!!! Vielen Dank Richards !!! – Oleg

+0

Hey, tut mir leid, aber vielleicht gibst du mir auch Ratschläge, wie man in diesem Fall mit Summen umgehen kann? Ich werde es einfach machen, füge einfach 'SUM' am Anfang der 'Suche' hinzu, aber es gibt mir kein korrektes Ergebnis. '= SUMME (Felder! PaidLoss.Value)/SUM (Suche (Felder! AccidentYear.Value & Felder! AccidentMonth.Value, Felder! YearStartRisk.Value & Felder! MonthStartRisk.Value, Felder! EarnedPr.Value," DataSet1 ")) ' – Oleg

+0

Ich habe eine mögliche Lösung dafür hinzugefügt. Die einzige andere Sache, die vielleicht funktionieren könnte, ist das Hinzufügen von 2 weiteren Datensätzen, die die Gesamtsummen pro Jahr zusammenfassen, aus denen Sie suchen könnten. Ich habe vorher nicht über die Summen nachgedacht. Es wird hässlich! :) –