Forum FlexPro – Discuss your topic!

Spaltentabelle, Spaltenüberschrift in FPScript wählen.

Accueil > Community > FPScript > Spaltentabelle, Spaltenüberschrift in FPScript wählen.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #29807
    Helmut MeßmerHelmut Meßmer
    Participant

    Hallo,

    neben den reinen Meßdaten lese ich in FlexPro noch weiterer Informationen ein, diese stammen aus mehreren Excel Tabellenblätter.

    Dabei habe ich das Problem, dass für eine Versuchsauswertung die Datenreihen variieren.

    Einmal lese ich für einen Belastungsversuch ein: Testart, Zyklenanzahl, Last, Meßabstand.

    Bei einen Klimatest sind es: Testart, Zyklenanzahl, Temperatur, Feuchte.

    Damit ich nun die selbe Tabelle für beide Versuche verwenden kann, habe ich für die Spalte 3 und 4 der Tabelle jeweils eine Datenabfrage definiert, die als Suchkriterium “Last” oder “Temperatur”, bzw. “Meßabstand” oder “Feuchte” sucht.

    Leider führt diese Suche nicht zum richtigen Ergebnis, weil die Datenreihen mehr Werte erhalten, als gewünscht. Das liegt wohl an der Art des Datenimport der Exceltabellen, da dort die Zellen Formeln enthalten, um unter bestimmten Bedingungen nichts anzuzeigen.

    Diese leeren Zellen werden aber in FlexPro trotzdem importiert. Gelöst habe ich das Problem, indem ich in Excel eine Zahl berechnet, um wieviele Datensätze (Tests) es sich handelt.

    Diese Zahl wird auch in FlexPro importiert.

    Damit kann ich nun die Formel Belastung machen und nur die Datensätze auslesen, die für meine Tabelle relevant sind.

    Dim Versuche, n
    n = 'Anzahl Tests'.[0][0]
    Versuche = "" # n   // Leere Datenreihe 
    For i = 0 To n - 1 Do
    	Versuche = String(Spalte3.[0])
    End
    Return Versuche

    Mein Problem ist nun: Erstelle ich eine Tabelle, in der die dritte Spalte die Formel “Belastung” enthält, steht auch im Spaltenkopf “Belastung” und nicht “Last” oder “Temperatur” (aus der Datenabfrage). Wenn ich die Tabelle erstelle, in der die dritte Spalte die Datenabfrage “Spalte3” enthält, steht im Spaltenkopf korrekterweise “Last” oder “Temperatur“, aber die Tabelle wird jetzt wieder um die leeren Zeilen länger.

    Wie kann ich nun meine Formel “Belastung” erweitern, damit im Spaltenkopf der Tabelle die abgefragte Datenreihe (Last oder Temperatur ) steht?

    #29830
    Helmut MeßmerHelmut Meßmer
    Participant
    29807 wrote:

    Hallo, neben den reinen Meßdaten lese ich in FlexPro noch weiterer Informationen ein, diese stammen aus mehreren Excel Tabellenblätter. Dabei habe ich das Problem, dass für eine Versuchsauswertung die Datenreihen variieren. Einmal lese ich für einen Belastungsversuch ein: Testart, Zyklenanzahl, Last, Meßabstand. Bei einen Klimatest sind es: Testart, Zyklenanzahl, Temperatur, Feuchte. Damit ich nun die selbe Tabelle für beide Versuche verwenden kann, habe ich für die Spalte 3 und 4 der Tabelle jeweils eine Datenabfrage definiert, die als Suchkriterium “Last” oder “Temperatur”, bzw. “Meßabstand” oder “Feuchte” sucht. Leider führt diese Suche nicht zum richtigen Ergebnis, weil die Datenreihen mehr Werte erhalten, als gewünscht. Das liegt wohl an der Art des Datenimport der Exceltabellen, da dort die Zellen Formeln enthalten, um unter bestimmten Bedingungen nichts anzuzeigen. Diese leeren Zellen werden aber in FlexPro trotzdem importiert. Gelöst habe ich das Problem, indem ich in Excel eine Zahl berechnet, um wieviele Datensätze (Tests) es sich handelt. Diese Zahl wird auch in FlexPro importiert. Damit kann ich nun die Formel Belastung machen und nur die Datensätze auslesen, die für meine Tabelle relevant sind.

    Dim Versuche, n
    n = 'Anzahl Tests'.[0][0]
    Versuche = "" # n   // Leere Datenreihe 
    For i = 0 To n - 1 Do
    	Versuche = String(Spalte3.[0])
    End
    Return Versuche

    Mein Problem ist nun: Erstelle ich eine Tabelle, in der die dritte Spalte die Formel “Belastung” enthält, steht auch im Spaltenkopf “Belastung” und nicht “Last” oder “Temperatur” (aus der Datenabfrage). Wenn ich die Tabelle erstelle, in der die dritte Spalte die Datenabfrage “Spalte3” enthält, steht im Spaltenkopf korrekterweise “Last” oder “Temperatur“, aber die Tabelle wird jetzt wieder um die leeren Zeilen länger. Wie kann ich nun meine Formel “Belastung” erweitern, damit im Spaltenkopf der Tabelle die abgefragte Datenreihe (Last oder Temperatur ) steht?

    Ich hab gerade die Formel korrigiert, da wurden die Indizes (für Versuche und Spalte3) nicht richtig angegeben.

    #29832
    Bernhard KantzBernhard Kantz
    Participant

    Typischerweise wird das Ergebnis einer Datenabfrage als Liste der Werte zurückgegeben; deren Elementname kann vom Namen des Objekts übernommen werden. Dieser dient dann als Spaltentitel in einer Tabelle. In Ihrer Situation kann der Name des ersten Elements der Datenabfrage ‘Spalte3’ durch folgende Zeile in den Kommentar der Formel übertragen werden:

    This.CommentsY = ListElementNames(Spalte3, 0)

    Dies muss vor der letzten Zeile (also vor dem Return) gemacht werden, sonst wird dies das Ergebnis der Formel.

    In der Spaltentabelle ist nun noch der Titel von %<NameOrQuantityOrComments> durch das Feld ‘Kommentar’ (oder %<Comments>) zu ersetzen. Dies liefert dann den gewünschten Spaltenkopf.

    P.S.: Wartungskunden sollten Anfragen über das Support-Formular in ihrem MyWeisang stellen. Dies sichert eine schnellstmögliche Bearbeitung des Falles.

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.