Suche nach Beziehungen mit Anzahl/Summe bei Datenfeldeintrag

Ich habe in der letzten Woche viel mit dem SearchKit/FormBuilder gearbeitet, aber bei einem Problem komme ich momentan nicht weiter. Vielleicht weiß hier im Forum jemand, wie ich das lösen kann.

Vereinfacht gesagt möchte ich folgendes Erreichen:
Ich habe Kontakte mit Beziehungen einer bestimmten Art, z.B. „hat Beziehungen zu“ mit anderen Kontakten. Diese Beziehung hat auch eigene Datenfelder, z.B. „Kategorie“.
Ich suche nun nach allen Kontakten mit dieser Beziehung mit Anzeige des Feldes „Kategorie“ und möchte in meinem Suchergebnis eine Anzeige aller Kontakte mit dieser Beziehung und die Werte im Feld „Kategorie“ sollen nicht nur angezeigt, sondern summiert werden (bzw. ich brauche die Anzahl).

Suche ich und filtere ich nach der Beziehung, dann bekomme ich folgende Tabelle mit Ausgabe der Werte des Datenfeldes:

Name A   Kategorie  Beziehung           Name B
----------------------------------------------
Max      Wert-A     hat Beziehungen zu  Hans
Max      Wert-B     hat Beziehungen zu  Hugo
Moritz   Wert-A     hat Beziehungen zu  Albert
Moritz   Wert-B     hat Beziehungen zu  Minna
Moritz   Wert-B     hat Beziehungen zu  Hans

Wähle ich bei „Kategorie“ die Funktion ‚Anzahl‘ aus, dann bekomme ich (Name B mal weggelassen):

Name     Kategorie  Beziehung     
--------------------------------------
Moritz   5          hat Beziehungen zu

Was ich möchte, ist folgendes:

Name     Kategorie  Beziehung     
--------------------------------------
Max      2          hat Beziehungen zu
Moritz   3          hat Beziehungen zu

Ich habe alles Mögliche ausprobiert (leider ist die Dokumantation ja recht dünn), aber ich bekomme es einfach nicht hin.

Hat jemand einen Tip?

Viele Grüße,
Frank

Hallo @Frank, ich wage mich mal vor…
Hast du die Funktion „group by“ schon ausprobiert? Du könntest nach CiviCRM ID, also nach Kontakt gruppieren, dann gibt das System dir eine Zeile pro Kontakt, also Max mit 2 Kategorien und Moritz mit 3. Allerdings zählt es dann Wert-A und Wert-B zusammen. Ist das das, was du möchtest?
Freue mich über dein Feedback - ob das hilfreich war oder daneben gegriffen.
Viele Grüße
Nina

1 „Gefällt mir“

Hallo Nina,
perfekt, die ‚group by‘ Funktion macht genau das, was ich wollte, die Kategorien sind jetzt per Name gruppiert.
Damit kann ich schon mal weitermachen, vielen Dank!

Ich bin zwar noch nicht fertig, aber das nächste Problem kann ich vielleicht nicht mit dem SearchKit lösen. Anstatt nur die Anzahl aller Kategoriewerte einer Person anzuzeigen (so wie ich es ja in der Anfrage wollte), möchte ich nun die Anzahl der einzelnen Kategoriewerte anzeigen, ungefähr so.

Name   Wert-A  Wert-B
--------------------
Max      1       1
Moritz   1       2 

Ich habe unter ‚Select Fields‘ das Kategoriefeld dupliziert, so dass es 2 Mal da ist und in der hinzugefügten Tabelle kann ich die Spaltennamen ja beliebig benennen.
Leider gibt es bei ‚Select Fields‘ keine Funktion „Anzahl, if Wert = ‚Wert-A‘“, damit wäre mein Problem gelöst.
Ich versuche mal, ob ich es irgendwie mit Smarty in der erzeugten Tabelle lösen kann.

Vielen vielen Dank!

Viele Grüße,
Frank

Das kummulierte / aufsummierte Anzeigen von Auswahlwerten im Searchkit gruppiert nach Kontakten oder Beziehungen könnte mit Hilfe eines „Datasets“ funktionieren. Schau Dir vielleicht zum Einstieg mal diesen Beitrag an: https://civicrm.stackexchange.com/questions/46106/how-do-i-create-a-searchkit-report-that-segments-data-based-on-a-multi-valued-cu

Es wird dann noch mal eine Stufe kniffliger aber dafür geht natürlich auch wieder etwas mehr :wink:

1 „Gefällt mir“

Hallo Fabian,
das sieht sehr interessant aus, mit Data Segments habe ich mich bisher noch nicht beschäftigt, wußte einfach nicht, was sie machen und wozu sie gut sind.
Momentan habe ich mit ein paar Smarty Funktionen mein Probelm gelöst, aber die Data Segments sehen besser aus, probiere ich sicherlich demnächst mal aus.

Vielen Dank für den Tip!

Viele Grüße,
Frank

Hallo Frank, vielen Dank erst einmal für Deine Frage. Vielleicht kannst Du ja nach dem ausprobieren nochmal einen Comment hinzufügen ob es gut geklappt hat. Es ist ausserdem schön zu sehen, dass die Community hierzu Ideen austauschen konnte. Vielen Dank für Eure Antworten. Ihr seit grandios :hugs: