AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL: Kosten anteilig auf Jahre aufteilen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL: Kosten anteilig auf Jahre aufteilen

Ein Thema von DCoderHH · begonnen am 8. Mär 2018 · letzter Beitrag vom 8. Mär 2018
 
DCoderHH

Registriert seit: 4. Feb 2015
Ort: Hamburg
84 Beiträge
 
Delphi 10 Seattle Professional
 
#1

SQL: Kosten anteilig auf Jahre aufteilen

  Alt 8. Mär 2018, 08:37
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC
Ich habe Nutzungszeiten und Kosten von Gegenständen. Die Kosten sollen nun pro Jahr dargestellt werden. Dabei ist zu beachten, dass die Nutzungszeiten über keine oder beliebig viele Jahresgrenzen gehen können. Die Kosten sollen prozentual nach der Nutzung in einem Jahr aufgeteilt werden. D.h. wenn z.B. 20 % des Nutzungszeitraumes eines Gegenstandes im Jahr 2018 liegen, sollen auch 20% seiner Kosten diesem Jahr zugeordnet werden.


Ich habe diese Tabelle:

Code:
Nutzungszeiten
--------------
ID      Integer
Von     Date
Bis     Date
Kosten  Numeric(18,4)
Mit diesen Beispieldaten:

Code:
ID  VON         BIS         KOSTEN
1   01.07.2017  01.08.2018  120
2   22.12.2017  10.01.2018  100
3   07.02.2019  09.03.2021  500
Und möchte diese Auswertung erhalten:

Code:
JAHR  KOSTENANTEIL  (Erklärung)
2017  170           (100 % von ID1 120 + 50 % von ID2 100)
2018   50           (50 % von ID2 100)
2019  215           (43 % von ID3 500) 328 Tage / 762 Tage = 43 %
2020  240           (48 % von ID3 500) 366 Tage / 762 Tage = 48 %
2021   45           ( 9 % von ID3 500) 68 / 762 Tage = 9 %
Rundungsdifferenzen sollen zum letzten Zeitraum addiert werden. Es darf nichts verloren gehen.

Wie fange ich am Besten an? Brauche ich dafür irgendwie eine zweite Tabelle mit den Jahren/Tagen? Oder geht das alleine mit Group by? Danke!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 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