Announcement

Collapse
No announcement yet.

Count mit iif

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Count mit iif

    Hallo und Guten

    Eine Formel werdet mir die Höhe eines Auftrages aus.

    Code:
    =iif(SUM((Fields!Einzelpreis.Value-(Fields!Einzelpreis.Value/100*val(Fields!Kundenrabatt.Value)))*Fields!Anzahlgeliefert.Value)< 300,1,0)
    Ist der Auftrage kleiner 300 wird in ein Feld eine 1 eingetragen ansonsten eine 0.
    In einem weiteren Schritt muss ich nun alle Aufträge addieren, welche kleiner 300 sind.
    An dieser Stelle komme ich nicht weiter.

    Nutze ich:
    Code:
    =count(Reportitems.textbox23.Value =1)
    erhalte ich folgende Meldung:
    "Aggregatfunktionen können nur für Berichtselement verwendet werden, die sich in einem Seitenfuß oder -kopf befinden"

    Und das hilft mir nun mal gar nicht weiter.


    Vielen Dank schon im voraus


    Hartwig

  • #2
    Hallo Hartwig,

    Du beziehst Dich auf eine Control, nicht auf ein Field; das geht so nicht und wenn Du den Ausdrucks-Editor bemühst, stehen Dir die Controls auch nicht zur Verfügung.

    Je nachdem "wo" Du den Wert ausgeben willst (Gruppenfuß) sollte es schon reichen, wenn Du den gesamten Ausdruck von oben nimmst und noch einmal ein SUM drum bildest; er summiert Dir dann ja die 1 und 0 auf = Anzahl
    Also
    =SUM( iif(SUM((Fields!Einzelpreis .....)
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo O.Helper

      Zunächst Danke
      Von der Logik her kann ich das ganze nachvollziehen.
      Doch versuche ich diesen Weg,
      Code:
      =Sum(iif(SUM(Fields!Einzelpreis.Value-(Fields!Einzelpreis.Value/100*val(Fields!Kundenrabatt.Value))*Fields!Anzahlgeliefert.Value)< 300,1,0))
      erhalte ich folgend Meldung:

      Der Value-Ausdruck für das Textfeld-Objekt 'textbox29' enthält eine Aggregatfunktion (oder eine RunningValue- oder RowNumber-Funktion) in dem Argument für eine andere Aggregatfunktion (oder RunningValue-Funktion). Aggregatfunktionen können nicht in andere Aggregatfunktionen geschachtelt sein.

      Also irgendwo doch noch nicht ganz


      hartwig

      Comment


      • #4
        Hallo Hartwig,

        ich denke auch, das die Logik stimmt ... jetzt müssen wir nur zusehen, das RS das auch findet

        Damit ich das besser nachvollziehen kann:
        - RS 2005 / 2008?
        - Liste oder Matrix oder Tablix?
        - Im Detailbereich oder im Gruppensumme-Bereich?
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          Hallo O.Helper

          Zunächst sorry - hätte sagen können, dass ich erst heute zurück bin. Mein Fehler.

          Nun zu den Infos:
          - RS 2005 / 2008? --> 2005
          - Liste oder Matrix oder Tablix? --> Tablix, wenn damit Tabelle gemeint ist
          - Im Detailbereich oder im Gruppensumme-Bereich? --> Es funktioniert in keinem Bereich. Das Ergebniss soll aber in einem Tabellenkopf (es gibt mehrere) angezeigt werden.

          Hartwig

          Comment


          • #6
            Nach einigem Hin und Her bin ich nun ein Stück weiter.
            Folgende Formel liefert mir ein Ergebnis:

            Code:
            =Sum(iif((Fields!Einzelpreis.Value-(Fields!Einzelpreis.Value/100*val(Fields!Kundenrabatt.Value))*Fields!Anzahlgeliefert.Value)< 300,1,0),"Auftragsanalyse")
            Leider ist dies aber nur die halbe Wahrheit.
            "Auftragsanalyse" (siehe Ende vom Code) bezieht sich auf das dataset aus dem die Werte kommen.
            Ich erhalte jetzt also die Auswertung auf jede einzelne Auftragszeile. Was ich aber benötige ist die Auswertung des ganzen Auftrages was dann die Gruppe "G_Anummer" wäre.
            Wie kann ich also in dieser Formel einmal die Gruppe "G_Anummer" und das Dataset "Auftragsanalyse"
            angeben?

            Wie immer Danke

            Hartwig

            Comment

            Working...
            X