BARelationAggregate([<Datentabelle>Relationsdefinition][Bedingung].Aggregat(zuAggregieren), Stufe, 'Datentabelle(n)')

Diese Funktion ermöglicht die Verwendung von Relationsdefinitionen in Formeln mit einer beliebigen Aggregation über Quell- oder Zieldatensätze. Bei hierarchischen Relationstypen ist zudem der Zugriff auf die Hierarchie möglich.

Parameter

  1. Der erste Parameter ist die Aggregations-Formel. Diese muss immer mit einer Relationsdefinitions-Spalte beginnen, mit expliziter Angabe der Datentabelle, in der die Relationsdefinition definiert ist.
    Es können sowohl Quell- als auch Zielrelationsdefinitionen verwendet werden.
    Im weiteren können alle in Formeln erlaubten Aggregations-Ausdrücke einschließlich eingebetterer BA-Funktionen zur Berechnung des Ergebnisses genutzt werden. Das Ergebnis muss aber immer ein einzelner Wert sein, kein Liste.
  2. Der optionale Parameter ist für den Zugriff auf hierarchische Relationen. Hier sind folgende Werte erlaubt:
    • 'direct', 1 oder null (default)
      nur direkte Quell- bzw. Zieldatensätze = keine Nutzung der Hierarchie.
    • 'all' oder 0
      alle direkten und indirekten Quell- bzw. Zieldatensätze desselben Relationstyps und ggf. derselben Kategorie.
    • positive Zahl
      alle direkten und indirekten Quell- bzw. Zieldatensätze bis maximal zur angegebenen Hierarchietiefe.
    • freie Bedingung mit Level und IsPrimary, Beispiel: !IsPrimary && Level > 1
      Es werden nur Datensätze geliefert, die der Bedingung genügen.
  3. Optional: zu verwendende Datentabellen. Wenn nichts angegeben wird, werden alle Quellen der Relationsdefinition verwendet. Mehrere Datentabellen werden kommasepariert angegeben.
    Wenn sich durch die getroffene Auswahl ein speziellerer Datentyp ergibt (ggf. kleinster gemeinsamer Nenner) als der der Relationsdefinition, wird die angegebene Aggregationsformel automatisch auf diese speziellere Datentabelle ausgeführt und kann direkt auf deren Spalten zugreifen.
    Eine Einschränkung der Datentabellen über diesen Parameter ist einer Einschränkung über die Bedingung in der Aggregationsformel aus Performancegründen vorzuziehen.

Beispiele

Formel Erklärung
BARelationAggregate([<OrmCRMCompany>RelatedCustom_Opportunities].Sum([WeightedTurnover])) Die Summe des bewerteten Umsatzes aller Verkaufschancen zu dieser Firma
BARelationAggregate([<OrmCRMCompany>RelatedAdditionalResponsiblePersons].BAImplode([EntityTitle], '; ', [EntityTitle])) Die Namen der weiteren Verantwortlichen einer Firma in alphabetischer Reihenfolge und mit Semikolon getrennt.
BARelationAggregate([<OrmBABase>RelatedMainChildren][BAIsEqualEnumValue([Type], 'Email type', 'Eingehende')].Count(), 'all', 'OrmEmailBase') Anzahl der eingehenden E-Mail-Antworten auf eine Aktivität.