/******************************************************************************************* * Basis-Daten aus der Kostenrechnung *******************************************************************************************/ with basis as( Select p.geschaeftsjahr as jahr, p.geschaeftsperiode as monat, p.periode_key, b.zgrp1, b.zgrp2, b.zgrp3, b.bezeichnung as Bereich, ko.kostenobjekt, ko.bezeichnung as obj_bezeichnung, ko.obj_text, ko.objektgruppe, ko.objekttyp, ko.verantwortlicher, ks.co_koa_grp, ks.co_grp_bez, ks.co_grp_text, ks.kostenart, ks.koa_text, coalesce(ws.uml_kz,'') as uml_kz, coalesce(ws.zgrp_1_entlastung, '') as zgrp1_entlastung, coalesce(ws.wert * -1, 0) as wert, coalesce(ws.wert_plan * -1, 0) as wert_plan, 0 as wert_forecast from co_dw.bi.fact_wertsummen ws left join co_dw.bi.dim_periode p on ws.periode_key = p.periode_key left join co_dw.bi.dim_kostenobjekt ko on ws.objekt_key = ko.objekt_key left join co_dw.bi.dim_koastruktur ks on ws.kostenart = ks.kostenart left join co_dw.bi.dim_bereich b on ko.bereich_key = b.bereich_key where ks.co_koa_grp_01 = 'GMN001' and ko.objektgruppe in ('HKST', 'VKST', 'KTRG', 'KtrBereich', 'KtrMNr') and p.geschaeftsperiode < 14 and (p.geschaeftsjahr = :jahr or p.geschaeftsjahr = :jahr -1) ), /******************************************************************************************* * Gesamtergebnis *******************************************************************************************/ ergebnis_gesamt as ( select zgrp1, zgrp2, zgrp3, kostenobjekt, obj_bezeichnung, obj_text, co_koa_grp, co_grp_bez, co_grp_text, 'Ergebnis' as main_kpi, 'Gesamtergebnis' as kpi, round(sum(case when jahr = :jahr-1 then wert else 0 end),0) as vor_jahr, round(sum(case when jahr = :jahr-1 and monat <= :monat then wert else 0 end),0) as vor_jahr_bis_monat, round(sum(case when jahr = :jahr-1 and monat = :monat then wert else 0 end),0) as vor_jahr_monat, round(sum(case when jahr = :jahr then wert else 0 end),0) as akt_jahr, round(sum(case when jahr = :jahr and monat <= :monat then wert else 0 end),0) as akt_jahr_bis_monat, round(sum(case when jahr = :jahr and monat = :monat then wert else 0 end),0) as akt_jahr_monat, round(sum(case when jahr = :jahr then wert_plan else 0 end),0) as plan_akt_jahr, round(sum(case when jahr = :jahr and monat <= :monat then wert_plan else 0 end),0) as plan_akt_jahr_bis_monat, round(sum(case when jahr = :jahr and monat = :monat then wert_plan else 0 end),0) as plan_akt_jahr_monat, round(sum(case when jahr = :jahr then wert_forecast else 0 end),0) as forecast_akt_jahr, round(sum(case when jahr = :jahr and monat <= :monat then wert_forecast else 0 end),0) as forecast_akt_jahr_bis_monat, round(sum(case when jahr = :jahr and monat = :monat then wert_forecast else 0 end),0) as forecast_akt_jahr_monat from basis group by zgrp1, zgrp2, zgrp3, kostenobjekt, obj_bezeichnung, obj_text, co_koa_grp, co_grp_bez, co_grp_text ) select * from ergebnis_gesamt select * from co_dw.bi.Fact_Wertsummen