summe aus unterschiedlichen zeilen ???
moin. ist es möglich einen summe aus der spalte 1. zu berechnen wenn der wert JA ist ?
23 Antworten
-
sum (Kosten['Ausgabe Anrechenbar?'=true].Betrag)
Leo
-
super danke !
hast du evtl. noch eine lösung wie ich die beiden if schleifen in eine funktion rein bekomme ?
if 'brutto/netto' = 2 then Betrag *1.19 else Betrag end
if Abgerechnet = 1 then Gesamtbetrag-Gesamtbetrag else Gesamtbetrag end
Gruß Robert
-
Hallo Robert Kannst du präzisieren, wo genau die Funktion sein soll. Gesamtbetrag-Gesamtbetrag ist 0.
Leo
-
Hallo, ja ich möchte einen schalter haben "Abgerechnet" damit die Kosten nicht berechnet werden. also Gesamtbetrag-Gesamtbetrag oder geht es auch einfacher ?
und dann halt beide if schleifen in einer funktion
-
Hallo Robert,
mir ist noch nicht klar wo die Felder Betrag und Gesamtbetrag liegen.
-
falls dir das hilft. ich wollte das der datensatz bei Abgerechnet nicht mit berechnet wird also Gesamtbetrag-Gesamtbetrag. und bei nicht Anrechenbar auch nicht mit angerechnet wird
-
let myBetrag:=Betrag*(if 'brutto/netto'=2 then 1.19 else 1 end);
if Abgerechnet=1 then 0 else myBetrag
Leo
-
Super... besten Dank
-
Hallo,
ich habe ein ähnliches Problem. Ich habe eine Preistabelle. Darin sind Datensätze die ich über ein Auswahlfeld mit "Leistung" = 1 und "Nebenkosten" bezeichnet habe. Diese Preise werden in der Tabelle Projektpreise einzelnen Projekten zugeordnet.
In der Leistungserfassung sind dann die Leistungen * Menge genommen um somit einen Netto Rechungsdatensatz zu bekommen.
Jetzt möchte ich die Summe aller Rechnungsdatensätze eines Projektes nehmen, die als Gruppe "Leistung"(1) bezeichnet sind. Ich habe folgenden Zeile in die Funktion eingegeben:
let myAuswahl := Leistungserfassung.Projketpreise.Preise.Auswahl;
sum(Leistungserfassung[myAuswahl = 1].Netto)Ich bekomme immer die Summe 0,00€ obwohl es keine Fehlermeldung gibt. Kann mir hier jemand helfen?
Vielen Dan
-
Hallo,
Ich kenne leider die Datenstruktur nicht, aber wenn man die Formel betrachtet, dann sollte es so funktionieren:
---
sum(Leistungserfassung[Projketpreise.Preise.Auswahl = 1].Netto)
---
LEo
-
Hallo Leonid,
danke für die schnelle Antwort. Leider bekomme ich so gar kein Ergebnis. Das Programm meldet mir das es so keine Spalte finden kann.
Meine Datenstruktur ist etwas kompliziert geworden. Anbei das Bild:
Wahrscheinlich liegt es an dieser Struktur. Ich bin mir nur sehr unschlüssig, wie ich diese Verändern kann, ohne die Zuordnungen zwischen den Tabellen zu verlieren. Ich habe leider die ganze Zeit nur ohne Tigger gearbeitet. Das macht eine neue Zuordnung aus meiner Leien Sicht schwierig.
Hast du für mich einen Tipp?
Danke
Gruss Martin
-
Hallo, der Wert von Auswahlfeldern wird standardmäßig als Textwert zurückgegeben. Ich würde mal versuchen, entweder die 1 durch den String "Leistung" zu ersetzen, oder den Rückgabewert des Feldes 'Auswahl' mit number() auf eine Zahl zu ändern.
-
Ach so, weil ich da gerade dieses "Projketpreise" sehe, das vermutlich "Projektpreise" heißen soll: Man kann Tabellen- und Feldnamen problemlos im Nachhinein ändern. Ninox passt automatisch alle Nennungen in Formeln und Scripten an.
-
Hallo Martin,
in deinem ersten Bild zeigt die letzte Spalte der Auswahl. Ist es ein berechnetes Feld? Kannst du die Formel von dem Feld zeigen?
LEo
-
Hallo Leonid,
das Feld Netto ist berechnet : Menge * Projketpreise.Preise.'Preis / Einheit' * Einzelpreis
Die Menge ist ein Feld in der Tabelle "Leistungserfassung"
Der Preis kommt aus der Tabelle "Preise" aus dem Feld "Preis/Einheit"
Das Feld "Einzelpreis" ist ein Feld aus der Tabelle "Leistungserfassung" und dient zur Angabe von Pauschalpreisen. Im Normalfall steht hier eine 1.
Das Feld "Auswahl" stammt aus der Tabelle "Preise" und ist ein Auswahlfeld mit den zwei Werten "Leistung" (1) und "Nebenkosten" (2)
Was mir auffällt ist, dass durch meine Struktur ich in zwei Wegen zur Auswahl komme. Einmal über das Projekt.Projektpreise.Preise. Auswahl und dann auch über Leistungserfassung.Projektpreise.Preise.Auswahl
Kann es sein das dadurch es nicht zu einem Ergebnis kommt? Ich habe schon beide Wege in der let Anweisung ausprobiert. Jedes Mal kommt das Ergebnis 0,00€ zurück. Deine Formel ergibt kein Ergebnis sonderen die oben genannte Fehlermeldung.
Danke
Gruss Martin
-
Ich blicke da zwar nicht vollends durch, würde aber mal folgendes versuchen:
sum((select Leistungserfassung where Projektpreise.Preise.number(Auswahl) = 1).Netto)
-
Nein, so werden alle Projekte berücksichtig. Wenn das Feld Auswahl in der Tabelle Leistungserfassung existiert, kann man so ausproieren.
---
sum(Leistungserfassung[number(Auswahl) = 1].Netto)
---
Leo
-
Ja, es ging mir nur um den Filter auf das verknüpfte Auswahlfeld, der in der gegebenen Konstellation ja nicht funktioniert hatte. Aber klar, wenn es nur auf das Projekt bezogen sein soll, dann muss man den Filter natürlich entsprechend ergänzen, z. B.:
let myProjekt := Projekte;
sum((select Leistungserfassung where Projekte = myProjekt and Projektpreise.Preise.number(Auswahl) = 1).Netto)
Wobei ich tatsächlich auch überlegen würde, die Auswahl fest in die Tabelle Leistungserfassung zu übernehmen. Würde alles etwas übersichtlicher.
-
Hallo,
vielen Dank für eure Hilfe. Mit euren Antworten bin ich ein Stück weiter gekommen. Ich habe mir die Tabelle "Projektpreise" einmal genau angesehen. Im Formular habe ich dann das Feld Preis mal mit allen Feldern anzeigen lassen. Siehe da, es kommt der Preis nicht.
Ich habe diese Tabelle einfach falsch aufgebaut und nur verküpft. Dadurch wird mir ein richtiger Preis angezeigt, wo aber keiner wirklich ist :=)) Wie ich das geschafft habe, kann ich auch nicht sagen.
Ich baue die Tabelle erst einmal um und mache Richtige Datensätze über Trigger. Dann versuche ich es erneut. Ich werde mich melden, wenn es dann geklappt hat. Erst einmal ein großes Dankeschön
Gruss Martin
-
Ich hatte das das Datenmodell nebst angegebener Felder mal minimalistisch nachgestellt, und die o. a. Formel hat tatsächlich funktioniert, das Ganze erschien mir aber doch recht kompliziert. Insofern ist "Aufräumen" wohl eine gute Idee ... ;)
-
Hallo,
nachdem ich aufgeräumt hatte, kam ich zum gleichen Ergebnis. Dann habe ich die Lösung gefunden.
1. Das Feld "Auswahl" musste ich mit einem Trigger in die Tabelle "Leistungserfassung" bringen.
2. Dei Berechnung musste ich in folgenden Code ändern: sum(Leistungserfassung[AW = 1].Netto)
Hierbei ist AW = dem Inhalt Auswahl.
Nun funktioniert es.
Danke für eure Hilfe. Ich habe vieles heute von euch gelernt.
Gruss Martin
-
-
Content aside
- vor 6 JahrenZuletzt aktiv
- 23Antworten
- 6675Ansichten