![]() |
Von Excel zur DB, wie designed man das am besten?
Hallo zusammen,
ich habe innerhalb der letzten 2 Jahre ein Planungs-/Controllingsystem auf Basis von Excel entwickelt (teils durch berufliche Anforderungen, teil aus privatem Antrieb). Da dieses System in Bezug auf strukturelle Änderungen (z.B. Zeile rein oder raus) nur mit verhältnismäßig hohem Aufwand zu warten ist, möchte ich das ganze System in Delphi mit einer Datenbank umsetzen. Da die Darstellung der Daten in meinem System einen gewissen "Charme" hat möchte ich die Art der Darstellung auch übernehmen. Ich habe einige Erfahrungen mit Delphi und DBs, nur fehlt mir bei dieser Umsetzung im Moment der "Klick" ;-) In Excel werden die Daten immer folgendermaßen dargestellt:
Code:
Man kann auch einzelne Kostenarten-Blöcke ein-und ausblenden, so dass ich bei meinen Überlegungen zur Darstellung der Daten in Delphi wahrscheinlich bei einem Treeview landen werde (VirtualTV?)
KOSTENART1 JAN FEB ..... DEZ Q1 Q2 Q3 Q4 GESAMT
... ... ... SUMME KOSTENART1 SUMME(JAN) SUMME (FEB) ...... KOSTENART2 .... ... Kann der VTV auch Summenzeilen in der o.g. Art selbständig darstellen und wenn ja, woher kommen die Daten (selbst berechnet, oder kann er sich die nur "fertig" aus der Datenbank ziehen)? Entsprechend würde ich die DB so gestalten, dass die Datensätze in der Form:
Code:
vorliegen, oder sogar für jede Kostenstelle eine eigene Tabelle anlegen.
KOSTENSTELLE JAHR KOSTENART JAN FEB MÄR ... DEZ
Abgebildet werden soll dann natürlich auch eine Aggregation in der Form: GF | BEREICH 1 .... BEREICH n | | | KST_BEREICH1 möglich sein, wobei dann z.B. bei einem BEREICH die Werte (Summen) der zugeordneten Kostenstellen angezeigt werden. Danke und Gruß Igotcha |
Re: Von Excel zur DB, wie designed man das am besten?
Also du brauchst zunächst eine Tabelle mit allen Kostenstellen.
Dann brauchst du eine Tabelle mit den Belastungen der Kostenstellen (Tabelle KstBelast):
Code:
Dann brauchst du eine Monats und Quartaltabelle (Tabelle: DatumLookup):
Kostenstelle Datum Betrag
================================== 100 6.5.2004 500.00 102 1.5.2004 410.90 ......
Code:
Für jedes Jahr brauchst du 365 Datensätze. Diese Hilfstabelle sollte
Datum Monat Quartal
=========================== 01.01.2004 JAN Q1 02.01.2004 JAN Q1 .......... 01.04.2004 APR Q2 .......... 31.12.2004 DEZ Q4 natürlich von deinem Programm erzeugt werden. Für die Summenbildung wird die Tabelle mit den Kostenstellenbelastungen mit der Tabelle DatumLookup gejoint und dann gruppiert:
SQL-Code:
SELECT Count(*) AS Anzahl, SUM(KstBelast.Betrag), DatumLookup.Monat, KstBelast.Kostenstelle FROM
KstBelast INNER JOIN DatumLookup ON KstBelast.Datum=DatumLookup.Datum GROUP BY DatumLookup.Monat, KstBelast.Kostenstelle |
Re: Von Excel zur DB, wie designed man das am besten?
Wow, das sieht schick aus :-)
Ich werde mich die Tage mal ransetzen, es testen und Feedback geben. Jetzt besteht nur noch das Darstellungsproblem (in Form eines TreeViews, aber da werde ich mich schon ranmachen). Danke und Gruß Igotcha P.S. Ich sehe gerade, dass die Kostenarten (fast das Wichtigste) noch nicht drin sind, aber das dürfte kein Problem sein.
Code:
Kostenstelle Datum Betrag KostenartID
=============================================== 100 6.5.2004 500.00 1 102 1.5.2004 410.90 2 103 1.5.2004 535.50 1 ...... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz