+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Cond mit mehreren AND Verknüpfungen

Guten Tag,

ich habe verschiedene Attribute, die jeweils einzeln über eine Darstellungsbedingung ausgeblendet werden, wenn sie “leer” sind. Leer bedeutet bei einigen Zellen, dass " - " der Inhalt ist.
Das liegt daran, weil die Zelle aus mehreren Attributen zusammengemappt ist.

Alle diese cond() funktionieren für die jeweiligen Zellen.

Hier die Auflistung dieser:

cond (MeDaProData.GlobalAttributeValue12= " ",False,True)
cond (MeDaProData.GlobalAttributeValue13= " ",False,True)
cond (MeDaProData.GlobalAttributeValue14= " - ",False,True)
cond (MeDaProData.GlobalAttributeValue15= " - ",False,True)
cond (MeDaProData.GlobalAttributeValue16= " - ",False,True)

Es gibt eine Überschrift. Diese soll ausgeblendet werden, wenn alle Zellen darunter auch “leer” sind, also den cond() die ich genannt habe, entsprechen.

Daher habe ich für diese Überschrift folgende Darstellungsbedingung geschrieben.

cond(MeDaProData.GlobalAttributeValue12 = " " and MeDaProData.GlobalAttributeValue13 = " " and MeDaProData.GlobalAttributeValue14 = " - " and MeDaProData.GlobalAttributeValue15= " - " and MeDaProData.GlobalAttributeValue16= " - ",False,True)

Leider fällt die Überschrift nicht weg, wenn alle Felder leer sind. Die Felder sind nicht zu sehen, die Überschrift schon.

Ist die AND Verknüpfung vielleicht nicht das richtige an dieser Stelle?

Ich habe auch geschaut ob die Leerzeichen-Optimierung an ist. Auch hier konnte ich nach dem abschalten keine Besserung erzielen.

Nachdem ich testweise

MeDaProData.GlobalAttributeValue12 + MeDaProData.GlobalAttributeValue13 + MeDaProData.GlobalAttributeValue14 + MeDaProData.GlobalAttributeValue15 + MeDaProData.GlobalAttributeValue16

ausgegeben habe und das Ergebnis als cond () abgeprüft habe, hat sich auch nichts getan.

Die Frage ist, ob die Bedingungen alle gleichzeitig erfüllt sind?
Geben Sie doch mal die Bedingung alle zusammen als Inhalt aus und schauen Sie ob True oder False ausgegeben wird.

Okay, dann gibt es ein seltsames Verhalten. Im Inhalt sind 3 der Ausdrücke true. Obwohl sie False sein müssten. Wenn ich genau dieselbe Bedingung als Darstellungsbedingung benutzt wird false zurückgegeben.

EDIT:
Ich habe die Darstellungsbedingung jetzt nochmal angepasst. Da scheinte aus irgendeinem Grund ein Leerzeichen zu fehlen.

Folgende Funktionen geben einzeln jetzt korrekt das in der Darstellungsbedingung aus was Sache ist. Aber in Summe mit dem AND kommt wieder false raus, obwohl mindestens 2 Werte “true” sind.

cond (MeDaProData.GlobalAttributeValue12= " ",False,True) and
cond (MeDaProData.GlobalAttributeValue13= " ",False,True) and
cond (MeDaProData.GlobalAttributeValue14= " - ",False,True) and
cond (MeDaProData.GlobalAttributeValue15= " - ",False,True) and
cond (MeDaProData.GlobalAttributeValue16= " - ",False,True)

Dann dachte ich es fehlt noch eine umschließende cond()

cond(cond (MeDaProData.GlobalAttributeValue12= " ",False,True) and
cond (MeDaProData.GlobalAttributeValue13= " ",False,True) and
cond (MeDaProData.GlobalAttributeValue14= " - ",False,True) and
cond (MeDaProData.GlobalAttributeValue15= " - ",False,True) and
cond (MeDaProData.GlobalAttributeValue16= " - ",False,True)
,False,True)

Aber dadurch wird die Überschrift immer angezeigt. Auch wenn die Tabellenfelder selbst leer sind.

Könnten Sie uns ein Projekt bereitstellen für die Beispielanwendung von uns und auch kurz mitteilen welche Version Sie verwenden?
Falls das nicht möglich ist, oder zu keiner Lösung führt müsste ich Sie weiter an die Support-Abteilung verweisen, in diesem Fall müssten Sie einen Supportcase öffnen, damit man dort sich das genauer anschauen kann, vielen Dank.

Ich weiß nicht genau, was Sie brauchen. Ich habe daher ein Paket mit dem Layout, einem Projekt Export in PDF und Excel und einer bildlichen Beschreibung zusammengestellt.

Sie finden alles hier [link removed]

Die grün markierte Überschrift soll verschwinden, wenn die blau markierten Variablen “leer” sind.

Also leer im Sinne von
cond (MeDaProData.GlobalAttributeValue12= " ",False,True) and
cond (MeDaProData.GlobalAttributeValue13= " ",False,True) and
cond (MeDaProData.GlobalAttributeValue14= " - ",False,True) and
cond (MeDaProData.GlobalAttributeValue15= " - ",False,True) and
cond (MeDaProData.GlobalAttributeValue16= " - ",False,True)

Die Version ist: 22.7.2018.1200 (18-01-12 00:41)F

Hallo Herr Brozinski, könnten Sie das Paket hier einfach ins Forum hochladen? Links auf externe Clouddienste sind hier leider nicht möglich.

Würd ich gerne machen, aber ich bekomme die Fehlermeldung “New Users cannot Uploda attachments”

Sie sollten an sich die Möglichkeit haben, vielleicht auch erst seit gerade eben :slight_smile: - Sie sind laut System kein “New User” mehr. Ansonsten können Sie auch gerne einen Case aufmachen und wir verfolgen das ganze über den Support weiter.

listlabels.zip (2.7 MB)

Ich habe versucht das Projekt von Ihnen in unserer Beispielanwendung nachzubauen, den Aufbau habe ich weitgehend analog zu Ihrer Anfrage durchgeführt.

In meinem Beispiel hat die Bedingung korrekt funktioniert, wobei man sich hier im Klaren sein muss, dass die Gruppenköpfe in dem Moment nur auf den ersten Datensatz / Zeile Zugriff hat.

Geben Sie doch mal die Felder (GlobalAttributeValue12, 13 etc.) in der Datenzeile aus, was steht in den Feldern und/oder erstellen Sie in Ihrer Gruppenkopf-Zeile (18) eine weitere Spalte mit folgendem Inhalt->

cond (MeDaProData.GlobalAttributeValue12= " ",False,True) and
cond(MeDaProData.GlobalAttributeValue13= " ",False,True) and
cond (MeDaProData.GlobalAttributeValue14= " - ",False,True) and
cond (MeDaProData.GlobalAttributeValue15= " - ",False,True) and
cond (MeDaProData.GlobalAttributeValue16= " - ",False,True)

Was wird in der Spalte ausgeben (True oder False)?

Entfernen Sie zum Testen einmal auch die Darstellungsbedingung für die Spalten, also die Spalten in den Zeilen ->

Gruppenkopf

12

13

14

15

16

Ändert das etwas?

Falls ja, können Sie die Darstellungsbedingung dieser Spalten auf “True” setzen und den Inhalt dementsprechend ausgeben (also falls leer nichts ausgeben usw.), sowas wie ->

cond (MeDaProData.GlobalAttributeValue12= " “,”",MeDaProData.GlobalAttributeValue12)

Für Gruppenkopf-Zeile (18) haben Sie die Formel mit dem Operator “OR” und für die Spalten der Zeile 18 haben Sie die Formel mit “AND” erstellt, entfernen Sie die Bedingung für die Spalten und ersetzen Sie das “OR” mit “AND” in der Zeile 18.

Falls das Ihnen nicht weiterhilft, müssten wir Sie an dieser Stelle bitten, sich an den Hersteller Ihrer Anwendung zu wenden, dieser kann dann diesbezüglich einen Supportcase bei uns öffnen, vielen Dank.