[gelöst] Dekade aus gew. Lieferdatum berechnen

14. Mai 2007 13:33

Hallo zusammen,

gibt es eine schnelle Funktion, um ein Datum in Dekaden umzurechnen?

Viele Grüße
Axel Hörnschemeyer
Zuletzt geändert von Axel.Hoernschemeyer am 14. Mai 2007 15:56, insgesamt 1-mal geändert.

14. Mai 2007 13:46

Würdest du das gewünschte Ergebnis etwas genauer Beschreiben?
Von welchen Bezugsdatum aus willst du es Berechnen?

Im Prinzip (Enddatum - Startdatum) / 10
ggf. noch Runden bzw. den Modulus berechnen,
oder sehe ich das falsch?
Gruß Mikka

14. Mai 2007 14:02

Hallo Mikka,

varDekade := "Sales Header"."Requested Delivery Date";

Als Ergebnis soll das Jahr JJ und die Dekade DD im Format
JJDD ausgegeben werden.

Gruß Axel

14. Mai 2007 14:10

ist mit Dekade nicht das Jahrzehnt gemeint?

14. Mai 2007 14:22

Hallo Michael,

nein. Die Dekade meint in meinem Fall einen Wert pro Jahr
von 1 bis max. 36. Also wird ein Monat in drei Dekaden unterteilt.

Gruß
Axel

14. Mai 2007 15:28

Monatsdekaden kann man so ermitteln (PLUSzeichen einsetzen, wird vom Board entfernt)

Code:
HoleDekade(MyDate : Date) Dekade : Integer
Tag := DATE2DMY(MyDate,1);
Monat := DATE2DMY(MyDate,2);
CASE TRUE OF
  Tag IN [1..10] : Dekadetag := 1;
  Tag IN [11..20] : Dekadetag := 2;
  Tag IN [21..31] : Dekadetag := 3;
END;
Dekade := (Monat - 1) * 3 + Dekadetag;
EXIT(Dekade);


[Edit TL: Pluszeichen (+) wieder eingesetzt, da es nur in der Vorschau nicht angezeigt wird.]

14. Mai 2007 15:47

Kowa hat geschrieben:[...] (PLUSzeichen einsetzen, wird vom Board entfernt) [...]

Nicht ganz korrekt: Das Pluszeichen ist (seltsamerweise) nur in der Vorschau nicht ersichtlich, im gespeicherten Beitrag wird es korrekt angezeigt:
+ + + + + + + + +

14. Mai 2007 15:57

Hallo Kowa,

genau das war es was ich suchte. Vielen Dank. :-)

Viele Grüße
Axel

14. Mai 2007 16:54

Die Berechnung stimmt aber leider nicht immer, z.B. wird der 10.02. zur 4. Dekade gerechnet, liegt aber in der 5. !

Um die Zuordnung richtig zu berechnen muß man die Differenztage ausrechnen, also eher sowas wie :

Dekade := ( (ZielDatum - ErsterDesJahres) div 10 ) + 1 ;

14. Mai 2007 17:12

stephan.bosau hat geschrieben:Die Berechnung stimmt aber leider nicht immer, z.B. wird der 10.02. zur 4. Dekade gerechnet, liegt aber in der 5. !

Der 10.2 gehört bei bei meiner Funktion zu 4. Dekade. Die 3 Dekaden fangen an jedem Monatsersten von neuem an, die dritte ist je nach Monat auch 11 Tage bzw. im Februar 8 oder 9 Tage lang. Eingesetzt habe ich so etwas nur zur Umsatzvergleichen im Handel. Die Dekade 1 des laufenden Monats wird verglichen mit Dekade 1 des Vormonats usw. Es ist also eine Feinunterteilung der Monatsumsätze, keine 10-Tagesgruppierung, die müßte dann anders programmiert werden.

siehe auch :
Kalender

15. Mai 2007 08:28

SORRY ! :oops:

Dann stimmt's natürlich !
Bin dummerweise davon ausgegangen, daß eine Dekade 10 Tage dauert und fortlaufen gezählt werden.

15. Mai 2007 10:59

Fortlaufende Tagesdekaden gibt es natürlich auch, im Handel z.B. im Bestellwesen.

Die "historischen" 3 Monatsdekaden haben aber bei Auswertungen den Vorteil, dass sie einerseits den Vergleich zum Vormonat und andererseits den zum Vorjahr erleichtern. Ein Händler kann damit schon im laufenden Monat erkennen, ob der aufgelaufene Umsatz im Vormonat oder im Vorjahr besser oder schlechter war.

Ein Umsatz z.B. bis Dekade 23 bedeutet im Jahresverlauf, abgesehen von Schaltjahren, immer den gleichen Zeitraum, was bei Kalenderwochen nicht der Fall ist. Diese verschieben sich von Jahr zu Jahr. Die KW 1 hat in 2007 sieben Tage, in 2008 sechs usw.