rekursiv auf eine Hierarchie joinen?

J.Roca

Benutzer
Beiträge
7
Hallo

in der Tabelle DimBuchungskonten besteht eine Hierarchie, die durch BuchungskontenAlternateKey und KategorieNr gebildet wird.

Nun soll eine alternatvie Hierarchie hinzugefügt werden, um eine bereits definierte Bilanz abzubilden.
In der Tabelle DimBilanzReimport wird die KategorieNr der Buchungskonten, die für eine Bilanzposition relevant sind, in 6 Spalten mit 'Von' 'Bis gespeichert.
Diese werden über folgenden JOIN den Werten aus DimBuchungskonten hinzugefügt.
Code:
Select b.[BuchungskontenAlternateKey], b.[Buchungskontenname], b.[Kontenart], b.[KategorieNr], b.Einrueckung, bh.[Kontenname] AS [Bilanzschema]
FROM [dbo].[DimBuchungskonten] b
LEFT OUTER JOIN [dbo].[DimBilanzReimport] bh ON b.[KategorieNr] BETWEEN bh.[Von1] AND bh.[Bis1]
                                                       OR b.[KategorieNr] BETWEEN bh.[Von2] AND bh.[Bis2]
                                                       OR b.[KategorieNr] BETWEEN bh.[Von3] AND bh.[Bis3]
ORDER BY [BuchungskontenAlternateKey], KategorieNr


Wie im Anhang zu sehen, wird die neue Spalte 'Bilanzschema' nur der Kategorie-Ebene zugeordnet, die über den Join vorgegeben ist.
Es sollen jedoch auch die untergeordneten KategorieNr in die Bilanzposition mit aufgenommen werden.(Also gleicher Wert in 'Bilanzschema')

Bsp: Zeile 19-22 besiten die KategorieNr 0079. 0079 ist KategorieNr 0200 zugeordnet und soll den Wert "BautenauffremdenGrundstuecken" beinhalten.
Kann dieser JOIN erweitert werden?

VG
Jörg
 

Anhänge

  • rekursiv.png
    rekursiv.png
    14,8 KB · Aufrufe: 4
Werbung:
Sry aber das raffe ich noch nicht. Wenn ich das richtig verstehe ist die bisherig existirerende Hirachie für uns irrelevant und es soll eine neue (alternative) geschaffen werden. Oder basiert die neue Hirarchie auch auf der Alten?

Kannst du mal Beispieldaten aus DimBuchungskonten und DimBilanzReimport posten? Ich verstehe den Sinn des Joins noch nicht so ganz bzw. was der Join noch zusätzlich ausgeben soll.
 
Werbung:
Hallo Jörg,

ich habe das (nach längerem Nachdenken) nun so verstanden, dass du gerne die Bezeichnung der Summe auch bei den Unterkategorien angegeben haben möchtest.
So würde zumindest für mich aus der Fragestellung auch ein Endziel erkennbar. Nach meinem Verständnis möchstest du aus den Einzeldaten der Buchungen dann eine Summe der Bilanzwerte ermitteln, was ja nur über eine Aggregation der Unterkategorien möglich ist.

Meines Erachtens würde dieser Fall schon gelöst, wenn die Von-Bis-Felder korrekt gepflegt wären und in der Tabelle für die Bilanz-Zusammenfassung die entsprechenden Kategorien, die zusammengeführt werden sollen, angegeben werden. Dann muss an der bestehenden Abfrage auch nicht viel geändert werden

Wenn ich das falsch verstanden habe , würde ich schon ganz gerne aufgeklärt werden

Viele Grüße,
Tommi
 
Zurück
Oben