Autor Thema: Sortierreihenfolge 1 und 10  (Gelesen 5661 mal)

Offline Kaljamam

  • Aktives Mitglied
  • ***
  • Beiträge: 234
  • Geschlecht: Männlich
Sortierreihenfolge 1 und 10
« am: 14.01.15 - 12:20:56 »
Guten Tag,

wahrscheinlich eine Anfängerfrage, aber bekomme ich es hin die schlaue Notes Sortierreihenfolge so zu gestalten, dass 10. Stukturierte Produkte auch nach 9. Devisen kommt.....?

Vielen Dank vorab für die Tipps....

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Sortierreihenfolge 1 und 10
« Antwort #1 am: 14.01.15 - 12:44:39 »
Zahl-String in Kategorie extrahieren, in Number wandeln und in erster sortierter und versteckter Spalte (vor der Kategorie-Spalte also) verwenden.

Bernhard

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Re: Sortierreihenfolge 1 und 10
« Antwort #2 am: 14.01.15 - 13:45:36 »
entweder so wie Bernhard schon gesagt hat, oder aber du änderst die Kategorien mit führenden 0 ab:
01. bla
02. bla
..
99. bla

Gruß
Stefan
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

Offline Flachmann

  • Senior Mitglied
  • ****
  • Beiträge: 284
  • Geschlecht: Männlich
  • Mal wieder: Flachmann ist Schuld!
Re: Sortierreihenfolge 1 und 10
« Antwort #3 am: 14.01.15 - 14:12:39 »
Da Strings manchmal nicht schön aussehen kannst Du auch mit einer versteckten Spalte arbeiten: d.h. diese versteckte, sortierte Spalte sortiert über den Zahlenwert. Erst dahinter kommt dann Deine sichtbare Spalte.

Sieht i.a. besser aus.   :)  Wenn Du damit nicht klar kommst, einfach nochmal nachfragen, dann mache ich ein detaillierteres Beispiel.
Gruß,
  __________
  _/_
  /lachmann

Offline Kaljamam

  • Aktives Mitglied
  • ***
  • Beiträge: 234
  • Geschlecht: Männlich
Re: Sortierreihenfolge 1 und 10
« Antwort #4 am: 15.01.15 - 08:32:41 »
Hallo,

also einmal gut festhalten und diesen Code vom Chaosprogrammierer reinziehen. Mit weniger Bedingungen hat er funktioniert. Und er gab mir die Zahlen zurück und ich konnte in der versteckten Spalte schön sortieren. Aber das Ding ist zu statisch und kompliziert und wie gesagt, er packt die Bedingungen irgendwann nicht mehr. Gibt es nicht ein Formelbefehl, der so wie in Excel eine Zahl in einem Feld findet und zurückgibt? Das wäre wohl der gedachte Ansatz des Extrahierens von Bernhard gewesen, aber ich kenn den Befehl dafür nicht. Das mit 01.bla / 02.bla wäre auch eine Lösung, könnte ich auch machen. Spannend wäre nur wie man die Formel hier ein wenig besser hinbekommen könnte....

@If( Kategorie_1 = "1. Hausmeinung"; e1 := "1"; Kategorie_1 = "2. Vermögensverwaltung"; e2 := "2"; Kategorie_1 = "3. Renten / -fonds"; e3 := "3"; Kategorie_1 = "4. Aktien / -fonds"; e4 := "4"; Kategorie_1 = "5. Multiassetfonds"; e5 := "5"; Kategorie_1 = "6. Immobilienfonds"; e6 := "6"; Kategorie_1 = "7. Geldmarktfonds"; e7 := "7"; Kategorie_1 = "8. Rohstoffe"; e8 := "8"; Kategorie_1 = "9. Devisen"; e9 := "9"; Kategorie_1 = "10. Strukturierte Produkte" ;  e10 := "10";  Kategorie_1 = "11. Sachwertinvestitionen"; e11 := "11" ; Kategorie_1 = "12. Research" ;  e12 := "12";  Kategorie_1 = "13. Controlling" ;  e13 := "13";  e14 :="999" );


v_1 := @TextToNumber(e1);
v_2 := @TextToNumber(e2);
v_3 := @TextToNumber(e3);
v_4 := @TextToNumber(e4);
v_5 := @TextToNumber(e5);
v_6 := @TextToNumber(e6);
v_7 := @TextToNumber(e7);
v_8 := @TextToNumber(e8);
v_9 := @TextToNumber(e9);
v_10 := @TextToNumber(e10);
v_11 := @TextToNumber(e11);
v_12 := @TextToNumber(e12);
v_13 := @TextToNumber(e13);
v_14 := @TextToNumber(e14);


@SetField("Sortierer"; v_1);
@SetField("Sortierer"; v_2);
@SetField("Sortierer"; v_3);
@SetField("Sortierer"; v_4);
@SetField("Sortierer"; v_5);
@SetField("Sortierer"; v_6);
@SetField("Sortierer"; v_7);
@SetField("Sortierer"; v_8);
@SetField("Sortierer"; v_9);
@SetField("Sortierer"; v_10);
@SetField("Sortierer"; v_11);
@SetField("Sortierer"; v_12);
@SetField("Sortierer"; v_13);
@SetField("Sortierer"; v_14);
FIELD SaveOptions := "";

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Sortierreihenfolge 1 und 10
« Antwort #5 am: 15.01.15 - 08:47:42 »

Dir ist aber klar, das im Feld Sortierer nachher nur noch der Wert aus v_14 drin steht?

Für die View

@Rigth("000000" + @Left(Feldname;".");6)

Damit hast Du 6 Stellen, das sollte ja reichen.
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Re: Sortierreihenfolge 1 und 10
« Antwort #6 am: 15.01.15 - 09:37:34 »
Auf die Schnelle (bestimmt mit Verbesserungspotenzial):

ref := Kategorie ;
@If(ref = "" ; @Return("") ; "") ;
n:= 0 ;
@While(
n < 10 ;
@If(@IsError(@TextToNumber(@Middle(ref ; n ; 1))) ; @Return(wert) ; wert := wert + @Middle(ref ; n ; 1))  ;
n := n + 1) ;
@ToNumber(wert)

Gruß Stefan
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Sortierreihenfolge 1 und 10
« Antwort #7 am: 15.01.15 - 11:36:08 »
Also, ich habe mich festgehalten, aber ich kann leider nicht an mich halten.

Das ist nicht Dein Ernst, das Du solche Formeln baust? Wie willst Du das denn warten? Bei jeder neuen oder geänderten Kategorie fasst Du das alles nochmal neu an?

Du solltest bei allen Dingen, die Du programmtechnisch umsetzt, überlegen, wo der Sinn ist, und wie man das einfach ausdrücken kann. Und ganz wichtig: Mache das unabhängig von Programmiersprache.

Erkläre z.B. irgendeinem geduldigen Menschen, wie man aus der Kategorie die Zahl herausfindet.

Du wirst diesem armen Menschen bestimmt nicht sagen

"Wenn es 1. Hausmeinung ist, dann ist es 1, wenn es 2. Vermögensverwaltung ist, ist es 2 ...."

Spätestens bei der 3 ist die Geduld dieses Menschen restlos aufgebraucht.

Stattdessen würdest Du vielleicht sagen: "Die Zahl steht links vom ersten Punkt"

Das versteht der und das ist sogar allgemeingültig, denn der gute Mensch kann das auch bei einer neuen Kategorie mit einer neuen Nummer sofort anwenden.

Erst, wenn Du weißt, wie Du den Sachverhalt verständlich erklären kannst, versuche das in Programmierung zu übersetzen.

Und links vom ersten Punkt ergibt eben @Left (Kategorie_1; "."), wie Andre schon geschrieben hat.

Beherzige das bitte, sonst wirst Du - sorry für die harten Worte - nie zu lauffähigen und wartbaren Programmen kommen.

Offline Flachmann

  • Senior Mitglied
  • ****
  • Beiträge: 284
  • Geschlecht: Männlich
  • Mal wieder: Flachmann ist Schuld!
Re: Sortierreihenfolge 1 und 10
« Antwort #8 am: 15.01.15 - 13:02:46 »
auch mit einer versteckten Spalte arbeiten
Sodelle, jetzt komme ich dazu:  ;D

ich nehme mal der Einfachheit halber an, dass die in Deinem Beispiel genannte Kategorie das Feld "Category" ist, z.B. "1. Hausmeinung".

Du erstellst eine versteckte Spalte, aufsteigend sortiert vor der sichtbaren Kategoriespalte. Als Formel @TextToNumber(@Left(Category; ".")). Die Spalte sortiert dann nach dem nummerischen Wert Deiner Kategorie. Und das ist doch, was Du willst.

Die sichtbare Kategorienspalte lässt Du bei "Category", die wird einfach unverändert angezeigt.

So erhälst Du "2. ..." vor "10. ...", sieht gut aus (Geschmackssache), und hat keine unsinnigen, unverständlichen, führenden Nullen.
Gruß,
  __________
  _/_
  /lachmann

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Re: Sortierreihenfolge 1 und 10
« Antwort #9 am: 15.01.15 - 14:03:40 »
Am einfachsten wäre wohl:

@TextToNumber(Kategorie)

Aus der Hilfe:
Parameters
string

Text or text list. The string you want to convert to a number. If the string contains both numbers and letters, it must begin with a number to be converted properly. For example, the string "12ABC" converts to 12, but "ABC12" produces an error.

Return value
number
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Sortierreihenfolge 1 und 10
« Antwort #10 am: 15.01.15 - 15:48:50 »
Wir wissen aber nicht was "999" ersetzen soll. Da könnte ja alles Mögliche oder nichts drin stehen.

_num := @TextToNumber (@Left(Kategorie);".");
@If(@IsError(_num);999;_num)

macht dann das was man gerne haben möchte.
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Kaljamam

  • Aktives Mitglied
  • ***
  • Beiträge: 234
  • Geschlecht: Männlich
Re: Sortierreihenfolge 1 und 10
« Antwort #11 am: 16.01.15 - 11:18:03 »
...ja also war mir klar, dass mein Code nicht besonders toll war... :-[
Arbeite in meiner Notes Werkzeugkiste mit wenigen Werkzeugen, aber diesmal ist wieder was dazugekommen und so wird es immer besser. Vielen Dank für die tollen Tipps, hab auf jeden Fall was dazu gelernt.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz