DROP DIMENSION dim_partner;

CREATE DIMENSION dim_partner

   LEVEL partner       IS verbundpartner.bezeichnung_partner;

   



DROP DIMENSION dim_organisation;

CREATE DIMENSION dim_organisation

   LEVEL beraterschluessel  IS organisation.beraterschluessel

   LEVEL geschaeftsstelle   IS organisation.geschaeftsstelle

   LEVEL groessenklasse     IS organisation.groessenklasse

   LEVEL bereich            IS organisation.bereich

   LEVEL direktion          IS organisation.direktion

   HIERARCHY rollup_orga_geogr 

   (

      beraterschluessel     CHILD OF

      geschaeftsstelle      CHILD OF

      bereich               CHILD OF

      direktion

   )

   HIERARCHY rollup_orga_groesse 

   (

      beraterschluessel     CHILD OF

      geschaeftsstelle      CHILD OF

      groessenklasse

   )

   ATTRIBUTE beraterschluessel DETERMINES organisation.name_berater;





DROP DIMENSION dim_zeit;

CREATE DIMENSION dim_zeit

   LEVEL datum         IS zeit.tag

   LEVEL woche         IS zeit.woche

   LEVEL quartal       IS zeit.quartal

   LEVEL jahr          IS zeit.jahr

   HIERARCHY rollup_zeit 

   (

      datum            CHILD OF

      woche            CHILD OF

      quartal          CHILD OF

      jahr

   );

   



DROP DIMENSION dim_kunden_kg;

CREATE DIMENSION dim_kunden_kg

   LEVEL kd_name       IS fakten_kundengeschaeft.kundenname

   LEVEL bonitaet      IS fakten_kundengeschaeft.bonitaet

   LEVEL rechtsform    IS fakten_kundengeschaeft.rechtsform

   LEVEL kundentyp     IS fakten_kundengeschaeft.kundentyp

   LEVEL kundenart_id  IS kundenart.kundenart_id

   LEVEL kundenklasse  IS kundenart.kundenklasse

   LEVEL kundengruppe  IS kundenart.kundengruppe

   HIERARCHY rollup_privatkunden_kg 

   (

      kd_name            CHILD OF

      bonitaet           CHILD OF

      kundenart_id       CHILD OF

      kundenklasse       CHILD OF

      kundengruppe

      JOIN KEY fakten_kundengeschaeft.kundenart_id REFERENCES kundenart_id

   )

   HIERARCHY rollup_firmenkunden_kg 

   (

      kd_name            CHILD OF

      rechtsform         CHILD OF

      kundenart_id       CHILD OF

      kundenklasse       CHILD OF

      kundengruppe

      JOIN KEY fakten_kundengeschaeft.kundenart_id REFERENCES kundenart_id

   )

   HIERARCHY rollup_kunden_kg 

   (

      kd_name            CHILD OF

      kundentyp          CHILD OF

      kundenart_id       CHILD OF

      kundenklasse       CHILD OF

      kundengruppe

      JOIN KEY fakten_kundengeschaeft.kundenart_id REFERENCES kundenart_id

   )

   ATTRIBUTE kd_name DETERMINES 

   (

    fakten_kundengeschaeft.plz, 

    fakten_kundengeschaeft.alter_jahre, 

    fakten_kundengeschaeft.ort, 

    fakten_kundengeschaeft.sgf 

    );





DROP DIMENSION dim_produkt;

CREATE DIMENSION dim_produkt

   LEVEL produkt_id      IS produkt.produkt_id

   LEVEL laufzeit        IS produkt.laufzeit

   LEVEL produktgruppe   IS produktklasse.kennzeichen_produktgruppe

   LEVEL produktklasse   IS produktklasse.bezeichnung_produktklasse

   LEVEL bilanzausweis   IS produktklasse.bilanzausweis

   LEVEL verzinsungsart  IS produktklasse.verzinsungsart

   HIERARCHY rollup_produkt1 

   (

      produkt_id         CHILD OF

      laufzeit           CHILD OF

      produktgruppe      CHILD OF

      produktklasse      CHILD OF

      bilanzausweis

      JOIN KEY produkt.kennzeichen_produktgruppe REFERENCES produktgruppe

   )

   HIERARCHY rollup_produkt2 

   (

      produkt_id         CHILD OF

      laufzeit           CHILD OF

      produktgruppe      CHILD OF

      produktklasse      CHILD OF

      verzinsungsart

      JOIN KEY produkt.kennzeichen_produktgruppe REFERENCES produktgruppe

   )

   ATTRIBUTE produkt_id 

        DETERMINES (produkt.produktbezeichnung)

   ATTRIBUTE produktgruppe 

        DETERMINES (produktklasse.bezeichnung_produktgruppe);

        





