Wenn kein Wert dann 00.00.1980?

Fragen, Anregungen zur PC-Wetterstations-Software

Moderatoren: Werner, Tex, weneu

Antworten
RaMax
Beiträge: 131
Registriert: 10 Apr 2007 12:35
Wohnort: Grünau im Almtal
Kontaktdaten:

Wenn kein Wert dann 00.00.1980?

Beitrag von RaMax »

Hallo Forumsrunde!

Ich möchte mir eine Tabelle basteln, wo für das jeweils aktuelle Jahr die Minimial- und Maximalwerte incl. Datum stehen.
Mit einem Template möchte ich es aber nicht machen.
Ich habe mir daher eine Tabelle mit den Monaten Jänner bis Dezember gebastelt.
Bei Jänner habe ich z.B. für die Minimalwerte folgende Variablen gemacht:
%minval_mpast[2~01~0000]% und %mindate_mpast[2~01~0000]%.
Als Ergebnis bekomme ich dann auch richtig: -14,1 °C und 03.01.2008.

Diese Variablen habe ich dann auch gleich für die Monate Februar bis Dezember daruntergesetzt und die Zahl 2 durch 3-12 ersetzt.

Der Monat Feburar passt auch noch. Aber bei den Monaten März bis Dezember werden dann als Werte 0,0 °C und 00.00.1980 angezeigt.

Nachdem es von diesen Monaten ja keine Werte noch gibt (eh klar), kann man dann die Werte 0,0 °C und 00.00.1980 unterdrücken, sodass einfach kein Wert ausgegeben wird?

Danke für eure HIlfe.

Max
Wetterstation Grünau im Almtal
(Österreich)
www.gruenau.tv
-------------------------------
Station: Vantage Pro2
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo Max,
Mit einem Template möchte ich es aber nicht machen.
Das wäre aber der Vorteil eines Jahrestemplates, dass hier nur die Monate ausgegeben werden, die tatsächlich existieren.
Zu Deinem Problem:
Das ginge wohl nur mit der Variablen "compare", indem man vergleicht ob, ob die Variable den Wert "0" liefert.
Aber da wirst Du Dir wahrscheinlich die Finger brechen :)
joergeli
Beiträge: 669
Registriert: 30 Aug 2006 17:32
Wohnort: 61279 Grävenwiesbach (Hessen)
Kontaktdaten:

Werte unterdrücken

Beitrag von joergeli »

Hallo Max,

das sollte mit einem Textvergleich funktionieren.
Siehe WsWIN-Hilfe:
Textvergleich %ws_comparestr=text1~text2~text3%
Wenn text1 <> text2 dann Ergebnis = text2
Wenn text1 = text2 dann Ergebnis = text3

Du prüfst einmal auf den Text "0,0 °C" und ersetzt es halt durch nix (text3).
Dabei könnte es aber passieren, das wirklich mal 0,0 °C herauskommen, die dann aber ebenfalls unterdrückt werden.

Mit einem zweiten Vergleich prüfst Du auf "00.00.1980" und läßt es dann ebenfalls unterdrücken.

Gruß
Jörg

Edit: Uups, Werner war schneller :lol:
http://www.joergeli.de
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
RaMax
Beiträge: 131
Registriert: 10 Apr 2007 12:35
Wohnort: Grünau im Almtal
Kontaktdaten:

Re: Werte unterdrücken

Beitrag von RaMax »

Danke für eure Hilfe.

Max
Wetterstation Grünau im Almtal
(Österreich)
www.gruenau.tv
-------------------------------
Station: Vantage Pro2
Holli

Re: Werte unterdrücken

Beitrag von Holli »

joergeli hat geschrieben:Du prüfst einmal auf den Text "0,0 °C" und ersetzt es halt durch nix (text3).
Dabei könnte es aber passieren, das wirklich mal 0,0 °C herauskommen, die dann aber ebenfalls unterdrückt werden.
Genau das ist Werner mit einer internen Variablen schon passiert. Weil er intern mit mehr als einer Stelle hinter dem Komma rechnet, wollte er es zunächst kaum glauben. Aber Murphy ist unbesiegbar und schlägt immer dann zu, wenn man am wenigsten damit rechnet.

Besser wäre, beide Variablen mit dem Datum zu prüfen. Leider hat Werner den Textvergleich nicht sehr flexibel integriert. Man kann nicht Text a mit Text b vergleichen, um damit zwischen Text c und d zu entscheiden. Die Umwandlung in ein Unix-Datum, mit dem dann der Zahlenvergleich ginge, der ja die obige Entscheidung ermöglicht, geht auch nicht.
Wettermichel

Beitrag von Wettermichel »

Hallo Max,

so könnte es gehen:
Variable Monat Januar
%ws_compare[1]=01.%ws_year%~%ws_month%.%ws_year%~kein wert vorhanden~%minval_mpast[2~01~0000]% %mindate_mpast[2~01~0000]%%

Für die weiteren Monate:

%ws_compare[1]=01.%ws_year%~%ws_month%.%ws_year%~kein wert vorhanden~%minval_mpast[2~01~0000]% %mindate_mpast[2~01~0000]%%
die fettgedruckten Zahlen entsprechend ändern.



habs jetzt nicht getestet sollte so aber funktionieren.

Gruß

Michael
RaMax
Beiträge: 131
Registriert: 10 Apr 2007 12:35
Wohnort: Grünau im Almtal
Kontaktdaten:

Brauche nochmals Hilfe

Beitrag von RaMax »

Hallo Michael!

Deine Variable habe ich gleich für die Monate Jänner bis März ausprobiert. Herausgekommen ist dann folgendes Ergebnis:

01.2008~2.2008~kein wert vorhanden~-14,1 °C 03.01.2008%
02.2008~2.2008~kein wert vorhanden~-4,2 °C 03.02.2008%
03.2008~2.2008~kein wert vorhanden~0,0 °C 00.00.1980%

Weißt du, wo da noch der Fehler liegen könnte.

Danke schon im Voraus für deine Hilfe.

Max
Wetterstation Grünau im Almtal
(Österreich)
www.gruenau.tv
-------------------------------
Station: Vantage Pro2
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo max,
Du hast die Variable von Michael offensichtlich falsch kopiert oder abgetippt. Ich sehe das daran, dass alle Parameter kommen und am Schluss das Prozentzeichen.
Ein korrektes Ergebnis würde so aussehen:
-4,5 03.01.2008
-6,1 03.02.2008
kein wert vorhanden
RaMax
Beiträge: 131
Registriert: 10 Apr 2007 12:35
Wohnort: Grünau im Almtal
Kontaktdaten:

Danke

Beitrag von RaMax »

Danke! Jetzt funktioniert's.

Max
Wetterstation Grünau im Almtal
(Österreich)
www.gruenau.tv
-------------------------------
Station: Vantage Pro2
Antworten