Autor Thema: Datum aufteilen  (Gelesen 6628 mal)

Offline Daniel73

  • Junior Mitglied
  • **
  • Beiträge: 56
Datum aufteilen
« am: 04.09.14 - 10:59:36 »
Hallo Forum

Ich habe mal eine Frage ich habe ein Start Datum und ein End Datum und die Tage werden mir angezeigt alles super.
Nur jetzt das Problem wenn mein startdatum 01.09.2014 und Enddatum 31.12.2014 eingebe sehe ich in meiner Ansicht die nach Monate Sortiert ist den Auftrag nur im September! Ich möchte das der Auftrag auch im Oktober und November und Dezember angezeigt wird !
Wie kann ich das umsetzen habt ihr eine Idee für mich !!!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datum aufteilen
« Antwort #1 am: 04.09.14 - 11:11:09 »
Code
_range := @Explode( @Texttotime( "[" + @Text( Startdatum ) + " - " + @Text( Enddatum ) + "]" ) )
@Unique( @Month( _range ) )
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Daniel73

  • Junior Mitglied
  • **
  • Beiträge: 56
Re: Datum aufteilen
« Antwort #2 am: 04.09.14 - 11:21:11 »
Hallo Tode

Muss ich das in der Ansicht auf die bestimmte Spalte eintragen ?? 

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datum aufteilen
« Antwort #3 am: 05.09.14 - 16:42:33 »
Hast Du denn schonmal probiert, es einfach in die Spalte einzutragen?

TIPP: Wenn Du eine Formel ausprobieren willst, ohne was an der Maske zu ändern, dann öffne ein Dokument, das mit der Maske erstellt wurde, und füge die Formel in ein beliebiges bearbeitbares Feld ein.
Dann Drücke "Shift + F9". Die Formel wird ausgeführt, und das Ergebnis steht in dem Feld.

Das funktioniert auch - wenn der Context nicht stimmen muss - direkt in einer Mail: Strg + M im Client, Formel in Thema- Feld einfügen, Shift + F9.

Damit muss man nichts an der Maske ändern, um auszuprobieren, was eine Formel bewirken würde.

Nun zur Frage: Diese Formel KANN man direkt in einer Spalte einfügen, aber man kann auch ein neues Feld erstellen, die Formel dort reinpacken, und dann das Feld in der Spalte anzeigen, je nach Gusto...

Und nun zu Deiner Frage per PM: Dass @Explode auch mit Datums- Ranges funktioniert, kann man wissen, muss man aber nicht... irgendwann geht sowas halt in Fleisch und Blut über, und man hat so ziemlich jeden (sinnvoll nutzbaren) @Befehl schon in allen möglichen Variationen ausprobiert oder bei der Analyse der Mail- Datenbank zufällig "gefunden"...

Ach ja: Wenn ich etwas im Forum nicht beantworte, dann habe ich keine Zeit / keine Lust, darauf zu antworten (ich bin relativ oft hier, und mir geht eigentlich kein Thema durch, so viele sind es ja nicht), mir dann eine PM zu schreiben mit der selben Frage, kann manchmal durchaus kontraproduktiv sein... nur so zur "Warnung"...

In diesem Fall dachte ich mir: Lass den jungen Padawan das doch einfach mal selbst ausprobieren... man muss ja nicht alles vorkauen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Daniel73

  • Junior Mitglied
  • **
  • Beiträge: 56
Re: Datum aufteilen
« Antwort #4 am: 06.09.14 - 00:22:19 »
Hallo Todo

Danke für deine Tipps sie sind sehr Hilfreich ! Und Sry ich wollte dich nicht Stören !!!

Ich habe die Formel jetzt mal getestet doch leider bekomme ich immer eine Fehlermeldung Falscher Datentyp @Funktion: Zeit/Datum erwartet ! Ich habe mir schon ein Feld gemacht mal ohne @Text, das Feld als Datum eingestellt doch leider bekomme ich immer diese Meldung selbst in der Ansicht auf eine Spalte bekomme ich die Fehlermeldung ! Vllt kannst du mir noch ein Tipp geben. An was  denke ich nicht ?

Ich brauche wieder mal den Meister Joda :-)


Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datum aufteilen
« Antwort #5 am: 08.09.14 - 08:04:44 »
Wenn diese Fehlermeldung kommt, dann sind Deine Felder keine Datumsfelder, oder enthalten keine gültigen Datumswerte...

und ich bin nicht "Todo"...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Daniel73

  • Junior Mitglied
  • **
  • Beiträge: 56
Re: Datum aufteilen
« Antwort #6 am: 08.09.14 - 10:04:05 »
Oh Sry Tode das ich dein Name falsch geschrieben habe !

Die Felder sind Datums Felder !! Die User wählen das Datum aus !

In Start ist als Formel drin @Today
und im End @Adjust(@Today;0;0;1;0;0;0)

Was habe ich falsch ? Ich habe noch etwas in Forum gesucht und das gefunden
_VarRange:=
@Explode(
@TextToTime(
@Text(co_Start;"D0S0") + " - " + @Text(co_End;"D0S0")
)
);

_Result:=@Unique(
@Text(@Month(@TextToTime(_VarRange)))
);

_Result

Das ist leider nicht die beste Lösung weil ich dort ein Feld erstellen muss und alle Dok anfassen muss mit ein Agent oder Manuell.
Tode dein Lösung würde mir besser gefallen weil ich es in der Ansicht mit einer Spalte umsetzen kann.
Vllt hast du ja noch ein Tipp
Danke auf jeden Fall für deine Mühe deine Ansätze sind echt toll

« Letzte Änderung: 08.09.14 - 10:06:19 von Daniel73 »

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datum aufteilen
« Antwort #7 am: 08.09.14 - 10:51:21 »
Mehr Input...

Bitte GENAU die Namen Deiner beiden Felder hier posten, ausserdem die Werte der Felder, wie sie im geschlossenen Dokument in den Properties stehen. Und als letztes Deine SpaltenFormel.

Wahrscheinlich wirst Du durch posten der Informationen schon selbst auf die Ursache Deines Fehlers kommen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Daniel73

  • Junior Mitglied
  • **
  • Beiträge: 56
Re: Datum aufteilen
« Antwort #8 am: 08.09.14 - 12:06:38 »
Die Namen der beiden Felder heißen:

co_Start typ Datum/Zeit Formel @Today  Bearbeitbar
Feldname: co_Start
Datentyp: Zeit/Datum-Liste oder Zeitraum
Datenlänge: 12 Byte
Seq.-Num.: 2
Doppeleintrags-ID: 0
Feld-Flags: SUMMARY

04.09.2014

co_End typ Datum/Zeit Formel @Adjust(@Today;0;0;1;0;0;0) Bearbeitbar

Feldname: co_End
Datentyp: Zeit/Datum-Liste oder Zeitraum
Datenlänge: 12 Byte
Seq.-Num.: 2
Doppeleintrags-ID: 0
Feld-Flags: SUMMARY

12.09.2014

Als Spaltenformel habe ich deine Lösung drin
_range := @Explode( @Texttotime( "[" + @Text( co_Start ) + " - " + @Text( co_End ) + "]" ) )
@Unique( @Month( _range ) )

So hier die Info
ich habe das ganz Wochenede daran gearbeitet und habe mein Fehler nicht gesehen vllt siehst du ja sofort mein Fehler


Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datum aufteilen
« Antwort #9 am: 08.09.14 - 12:57:52 »
Das ist sicherlich NICHT Deine Spaltenformel, denn da fehlt ein Semikolon...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datum aufteilen
« Antwort #10 am: 08.09.14 - 13:17:18 »
Wenn das erledigt ist, und es immer noch nicht geht, dann musst Du Deine Formel debuggen...

Also: Formal aufteilen in möglichst granluare Schritte, jeden einzelnen Schritt in eine Variable, und diese in der Ansichtsspalte... und dann kucken, wo der Fehler passiert.

Mein Kollege hier kuckt mich schon ganz komisch an, weil ich heute so "gesprächig" bin, aber ich habe das Gefühl, das könnte mal von allgemeinem Interesse für alle Newcomer sein.

Deshalb habe ich unter "Tipps und Tricks" mal ein Thema hierzu aufgemacht.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Daniel73

  • Junior Mitglied
  • **
  • Beiträge: 56
Re: Datum aufteilen
« Antwort #11 am: 11.09.14 - 14:36:34 »
Hallo Tode

Danke für deine Lehrreiche Anleitung das ist echt Super !!

Ich habe jetzt mal deine Formel getestet

_start := @Text( co_Start );
_end := @Text( co_End );
_convertString :=  "[" + _start + " - " + _end + "]";
_timeRange := @Texttotime( _convertString );
_range := @Explode( _timeRange );
@Unique( @Month( _range ) );
_range

bis hier her läuft alles Super

Wenn ich dann die Formel einbaue

_start := @Text( co_Start );
_end := @Text( co_End );
_convertString :=  "[" + _start + " - " + _end + "]";
_timeRange := @Texttotime( _convertString );
_range := @Explode( _timeRange );
_monthList := @Month( _range );
@Unique( _monthList );
_monthList

dann bekomme ich Probleme das ich eine Fehlermeldung bekomme Fehler falscher Datentyp
nun habe ich mal etwas rum getestet und ich denke es liegt an der "monthList" kann man das noch anders machen hast du noch ein Tipp für mich ?
Ich weiß das ich nerve aber es wäre echt schön wenn ich das hinbekommen würde das Datum in den Monaten aufzuteilen
Start 01.04.2014 -  end 31.08.2014 so das im jeden Monat dieser Auftrag erscheint.

Vllt hast du ja mal eine Minute Zeit und Lust noch mal drüber zu schauen.

Vielen lieben Dank für deine ganze Mühe
LG Daniel

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datum aufteilen
« Antwort #12 am: 11.09.14 - 16:05:13 »
Muss man Dir denn alles vorkauen? Ein wenig selbständig Denken wäre schon nicht ganz verkehrt...

Laut Fehlermeldung erwartet @Month ein Datum, was drinsteht ist aber was anderes... Komisch, das sieht aber doch nach Datum aus... Nun gut: Lesen wir mal die Designer- Hilfe zu @Explode:

Zitat
Parameters

dateRange

Time-date range or time-date range list. The range of dates that you want to make into a text list. Specify a valid date-time range, not a string representation of one. For example, @Explode( "05/01/96 - 05/02/96" ) is invalid because the parameter is a string. Use @Explode( [05/01/96 - 05/02/96] ).

Aha, @Explode liefert also eine Textlist zurück... Dumm... Wir brauchen aber eine Liste mit Datumswerten... Wie bekommt man jetzt aus einer TextListe eine Datumsliste... Mit @TextToTime...

Die (beinahe) korrekte Formel wäre also:

Code
_start := @Text( co_Start );
_end := @Text( co_End );
_convertString :=  "[" + _start + " - " + _end + "]";
_timeRange := @Texttotime( _convertString );
_range := @Explode( _timeRange );
_rangeDt := @TextToTime( _range );
_monthList := @Month( _rangeDt );
@Unique( _monthList );

Die Formel läuft immer noch auf einen Fehler... Aber den darfst Du jetzt selbst rausfinden.

Ach ja: Dass @Explode in dem Fall tatsächlich eine Text- Liste zurückliefert wusste ich auch nicht... Aber das ist ja mittels Hilfe schnell nachzuvollziehen.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Daniel73

  • Junior Mitglied
  • **
  • Beiträge: 56
Re: Datum aufteilen
« Antwort #13 am: 12.09.14 - 10:15:46 »
Hallo Tode

Danke für deine Hilfe ich habe sehr viel gelernt. Den Fehler im Code habe ich gefunden mit den @text nur so lernt man Danke!!
Aber zwei Fragen bleiben noch offen bei dem Code.
1. Was ist wenn Jahreswechsel ist ? da der code nur 1,2,3,4,5,6,7,8,9,10,11,12 anzeigt. Einträge für das nächste Jahr wüden im diesem Jahr angezeigt, kann man da noch was machen ?

2. Wenn man den Code in einer Ansicht hat wäre es cool statt eine 1 das dann Januar angezeigt wird. Kann man das mit in den Code einbauen ?


Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datum aufteilen
« Antwort #14 am: 12.09.14 - 10:26:13 »
a. OK... wenn Du lernen willst: Finde jemanden, der es Dir beibringt...
b. Das sind alles relativ simple Tasks, die Du sicher mit ein wenig Nachdenken auch selbst hinbekommst... Wenn nicht -> goto 1.

Deshalb ist dies mein letzter Beitrag hier (so lange bis ich merke, dass Du Dich wirklich mit der Thematik beschäftigt hast, und nicht einfach Ergebnisse vorgekaut bekommen möchtest):

1. Wenn der Monat nicht eindeutig ist, musst Du wohl das Jahr auch irgendwie mit reinbringen... Ohne die Struktur Deiner Ansicht zu kennen, kann man Dir aber hier keinen weitergehenden Tipp geben
2. Das geht nur mit einer versteckten Sortierspalte: denn die Monatsnamen würden in einer Ansicht so angezeigt:

April
August
Dezember
Februar
Januar
Juli
Juni
Mai
März
November
Oktober
September

oder halt 01. Januar, 02. Februar... Schau als Ansatz mal die Hilfe von @Replace bzw. @Select an.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Daniel73

  • Junior Mitglied
  • **
  • Beiträge: 56
Re: Datum aufteilen
« Antwort #15 am: 12.09.14 - 10:48:31 »
Ok Tode

ich habe verstanden.

Danke für deine Hilfe

Offline Daniel73

  • Junior Mitglied
  • **
  • Beiträge: 56
Re: Datum aufteilen
« Antwort #16 am: 21.09.14 - 15:02:32 »
Hallo Tode

ich wollte hier noch mal meine Endlösung zeigen wie ich es hin bekommen habe das Jahr und Monate angezeigt wird.
Es ist zwar etwas anders wie dein Code aber dein Code war der Schlüssel zum Erfolg.

So hier meine Lösung:

liste := @Date( @Year(co_start); @Month(co_start) ; 1);
ende := @Date( @Year(co_end); @Month(co_end) ; 1);
tmpDatum := @Adjust(liste; 0; 1;0;0;0;0);
@While( tmpDatum <= ende ;  liste := (liste : tmpDatum) ; tmpDatum := @Adjust( tmpDatum; 0;1;0;0;0;0) );

@Transform(liste ; "item"; @Text(@Year( item)) +"/"+ @Right( "0" + @Text(@Month(item)); 2))

Großen Dank noch mal an dich Tode für deine tolle Hilfe !!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz