[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    May 2002
    Beiträge
    1.121

    Anzahl gefüllte Elemente in Feldgruppe

    Hallöchen,

    gibt es eine kurze Möglichkeit die Anzahl der gefüllen Werte einer Feldgruppe zu ermitteln. Sowas wie %XFoot( Feldgruppe ) gibt mir ja die Summe zurück. Wenn ich jetzt den Durchschnitt haben möchte, will ich aber die Elemente mit dem Wert 0 weg lassen.
    Oder bleibt mir nur die Möglichkeit die Feldgruppe vom ersten bis zum letzten Wert zulesen und die Wert > 0 zu zählen.

    Gruß Ronald

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wenn du sicher bist, dass keine 0-Werte als Lücken vorhanden sind, kannst du doch nach dem 1. Element = 0 mit "Count = %lookup(*zero:MyTable) - 1;" prüfen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    May 2002
    Beiträge
    1.121
    Nee, das ist ja das Problem. Die Gruppe hat zB: 150 Elemente. Und an Pos 15, 20, 75, ... kann ne 0 stehen.

  4. #4
    Registriert seit
    Feb 2006
    Beiträge
    78
    Kann mich daran erinnern das man Feldgruppen auch sortieren kann.
    Somit müsste das von Fuerchau auch funktionieren.

    Gruß

  5. #5
    Registriert seit
    May 2002
    Beiträge
    1.121
    Sortieren scheidet aus. Ich habe mehrere Feldgruppen. Element Nr.17 aus Feldgruppe 1 gehöhrt auch zu Element 17 aus Feldgrupp2.
    Wenn ich jetzt eine Fledgrp. sortiere, dann stimmt der Rest net mehr

  6. #6
    Registriert seit
    Feb 2006
    Beiträge
    78
    Naja, kannst ja die benötigte Feldgruppe in ein duplikat kopieren bzw. in eine temporäre und mit der dann die Rechenoperation durchführen (Definition mit *LIKE) dann würde die originale die zu einer zweiten gehöhrt nicht berührt werden.

    Gruß

  7. #7
    Registriert seit
    Feb 2006
    Beiträge
    78
    Oder wie wärs mit "%ELEM"

    Beschreibung IBM:
    %ELEM returns the number of elements in the specified array, table, or
    multiple-occurrence data structure. The value returned is in unsigned integer
    format (type U). It may be specified anywhere a numeric constant is allowed in the
    definition specification or in an expression in the extended factor 2 field.
    The parameter must be the name of an array, table, or multiple occurrence data
    structure.

  8. #8
    Registriert seit
    May 2002
    Beiträge
    1.121
    Soweit wie ich %ELEM verstanden habe, gibt diese Funktion die MaxAnzahl der Elemente der Feldgruppe/Tabelle zurück

    Ronald

  9. #9
    Registriert seit
    Feb 2006
    Beiträge
    78
    Ja richtig, mein Fehler - Sorry

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Tja, dann gibt es halt nur die lange Variante, mit einer Schleife vom letzten zum 1. Element den 1. Wert <> 0 zu suchen.
    Allerdings, wenn auch 0-Werte zwischendurch vorkommen können, wer sagt dir denn, dass die letzten 0-Werte nicht gültige Werte sind ?

    Wie füllst du denn die Tabelle ?
    Kannst du dir beim Füllen die Anzahl nicht merken ?
    Wenn du eine oder mehrere Parallel-Tabellen hast, ist da ggf. das 1. freie Element = *blank ?

    %elem hat nur den Vorteil, dass ich damit die definierte Anzahl nicht zusätzlich als Konstante/Variable speichern muss.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    May 2002
    Beiträge
    1.121
    Naja, so mit der Schleife habe ich das jetzt aich gemacht. Es ging bei der Geschichte um Durchschnittswerte. Es gibt da na Tabelle für das Jahr nach Wochen(53 Elemente). Es werden da Lieferungen und so'n Kram ausgewertet. Es gibt aber halt Wochen (Urlaub, etc.) die halt wirklich 0 sind. Die sollten dann auch keine Berücksichtigung finden. Der ganze Durchschnittskram kommt (wie eigentlich immer) mal wieder als extra Idee nach vielen, vielen Tagen (Wochen, Monate, ...) der Benutzung des Programms.
    Die Werte werden aus verschiedenen Dateien zusammen gesucht.

    Gruß Ronald

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da bietet sich ja SQL eigentlich eher an:

    AVG(case wert when 0 then null else wert end)

    NULL-Werte fließen in die Berechnung nicht mit ein.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  2. sql Anzahl Datensätze in Zweit-Datei
    By rr2001 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 13-12-06, 14:04
  3. Anzahl Felder in Displayfile
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 07-11-06, 11:01
  4. Anzahl gelöschter Datensätze in PF
    By Der_Unwissende in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 20-10-06, 08:32
  5. Anzahl angemeldeter User auf der AS400
    By Bratmaxxe in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 29-06-06, 10:29

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •