Mietbeginn + "(" + 'in' + ")" farbig, wenn sich das Datum nähert
Hallo an zusammen,
Ich habe mehrere Ansätze hier aus dem Forum ausprobiert, aber irgendwie bekomme ich das nicht hin. Würde das überhaupt so gehen?
Mietbeginn ist ein Datumsfeld und 'in' ein Berechnungsfeld in einer Ansicht. Nunhabe ich folgenden Code von Copytexter
genommen und angepasst:
let AnzahlTage := Mietbeginn + " ( in " + 'in.' + ")";
let Farbe := switch AnzahlTage < 181 do
case AnzahlTage < 180 and AnzahlTage >= 90:
"Ivory"
case AnzahlTage < 90 and AnzahlTage >= 30:
"Orange"
case AnzahlTage < 30 and AnzahlTage >= 3:
"Red"
case AnzahlTage < 3:
"Darkred"
default:
"Green"
end;
styled(text(AnzahlTage), Farbe)
und es sieht folgendermaßen aus:
Eigentlich möchte ich erreichen, dass in xxx Tagen die es farblich hellrot ist, wahrscheinlich wäre es default. Dann weiter, wie es im Code steht, nähert man sich dem Datum, 180-90 'Ivory', 90-60 Orange usw. und wenn dann Mietbeginn ist = grün.
Ideal wäre es, wenn anstelle "in -" "seit" stehen würde.
Ich hoffe, dass ich mich nicht zu kompliziert ausgedrückt habe.
Vielen Dank schon mal!
Gruß Kruna
8 Antworten
-
AnzahlTage ist ja schon eine zusammengesetzte Variable und kann daher gar nicht < 180 sein...
versuch mal so
let AnzahlTage := Mietbeginn + " ( in " + 'in.' + ")";
let Farbe := if 'in.' < 3 then
"darkred"
else
if 'in.' < 30 then
"red"
else
if 'in.' < 90 then
"orange"
else
if 'in.' < 180 then "ivory"
else "green" end
end
end
end;
styled(text(AnzahlTage), Farbe)
-
Sorry, besser so, ich habe deinen Text unten nicht gelesen...
So hast Du ab Tag 89 vor Mietbeginn Orange, ab 29 dann Rot, ab 3 Dunkelrot und ab 0 und drunter dann grün
let AnzahlTage := Mietbeginn + " ( in " + 'in.' + ")";
let Farbe := if 'in.' <= 0 then
"green"
else
if 'in.' < 3 then
"darkred"
else
if 'in.' < 30 then
"red"
else
if 'in.' < 90 then
"orange"
end
end
end
end;
styled(text(AnzahlTage), Farbe)
-
Hallo Tobias,
vielen Dank für Deine Hilfe. Ich habe Deinen Code eingesetzt und jede Zeile ist nun farblos.
Hast du ien Idee woran das liegen könnte?
-
bei mir funktioniert das am Mac in der Cloud.... ich habe allerdings statt einem berechnungsfeld "in." ein Zahlenfeld "in." benutzt, in welchem ich die verbleibenden Tage einsetze.
Hast Du denn mal geschaut, was dir das Feld "in." ausgibt? Wie berechnest Du denn deine verbleibenden Tage?
-
Bei mir ist das 'in.' ein Berechnungsfeld und die verbleibenden TAge werden mit folgendem Code:
let a := days(today(), Mietbeginn);
let b := text(a + if a = 1 or a = -1 then " Tag" else " Tagen" end);
let c_orange := color("rgb(255,239,191)");
let c_green := color("rgb(223,255,191)");
if not Mietbeginn then
styled("", color("rgb(238,238,238)"))
else
if Mietbeginn > today() then
styled(b, c_green)
else
if Mietbeginn = today() then
styled("Heute", c_orange)
else
styled(b, "salmon")
end
end
endberechnet.
Entschuldige, ich bin mir nicht sicher, ob ich verständlich erklärt habe, was ich eigentlich erreichen möchte.
Ich habe eine Ansicht mit diversen Spalten, eben Mietbeginn am in xxx Tagen:
Ich wollte eigentlich diese zwei Spalten zusammenfügen, wie im ersten Bild oben dargestellt, aber so dass sich diese dann auch farblich ändern und das anstatt zb -91 Tagen, dann seit 91 Tagen steht.
Ich arbeite auch am Mac, allerdings mit der standalone App.
-
Entschuldigung, dass ich noch mal nachfrage. Ist es denn möglich (odre auch nicht) die zwei Spalten quasi in eine Spalte farblich zusammenzufassen?
Ich habe es nun in zwei Spalten und das ist ja uch ok, auch damit könnte ich sehr gut leben.
Entschuldigung, auch hier noch mal die Nachfrage. Kann ich zB bei -91 Tagen anstelle von dem minus auch ein 'seit' setzen?
Vielen DAnk...
Gruß Krina
-
Hi, Du kannst ja deine bestehende Formel einfach etwas erweitern...
Du hast in Variable a die reine Zahl deiner Tage.
Du setzt schon in Variable b das Wort Tag oder Tage ein, da könntest Du auch schon "Mietbeginn" vorsetzen bzw. dein "seit" und "in" berechnen...
let b := text("Mietbeginn "+ if a > 0 then "seit" else "in" end + replace(text(a),"-","") + if a = 1 or a = -1 then " Tag" else " Tagen" end);
-
HAllo Tobias,
das hat prima geklappt!!! TAusend Dank!
Gruß Kruna
Content aside
- vor 3 JahrenZuletzt aktiv
- 8Antworten
- 326Ansichten