Skip to main content
Announcements
Qlik Connect 2025: 3 days of full immersion in data, analytics, and AI. May 13-15 | Orlando, FL: Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
schurter
Creator
Creator

Diagramm- und Formelproblem

Guten Tag zusammen

Ich habe zwei Probleme.

1. Diagramm - Wertebeschriftung überschneiden sich

2. Formel gibt nicht korrekten Wert aus.

Siehe mein Beispiel im Anhang sowie die folgende Beschreibung.

Pintscreen mit Hinweisen.jpg

Vielen Dank für eure Hilfe.

LG Marlies

2 Solutions

Accepted Solutions
marcus_sommer

1. Lässt sich nicht immer verhindern, da man die Wertebeschriftungen der verschiedenen Formeln nicht gegeneinander ausrichten kann. Man könnte eine Formel links und eine rechts ausrichten und/oder mit min/max/step Settings spielen, die Werte in den Segmenten anzeigen und/oder auch zwei Diagramme übereinander legen (mit entsprechend versetzten Skalen), aber wenn es je nach Selektionen recht chaotische Verläufe und viele Werte-Überschneidungen gibt, wird man ein Überlagern der Beschriftung nicht immer verhindern können.

Oft ist auch besser, diese Beschriftungen nur teilweise (eine von beiden oder auch nur jeden zweiten/dritten Balken/Linienwert oder auch versetzt oder nur anzuzeigen, wenn weniger als X Werte verfügbar sind) oder eben auch gar nicht anzuzeigen, da so ein Diagramm ja im Wesentlichen dafür da ist, rein optisch eine Information zu vermitteln und für die Zahlenwerte nimmt man dann eine Tabelle.

2. Hier liegt es an der Dimensionalität, dass nicht die erwarteten Ergebnisse gezeigt werden. Wenn hier neben dem Datum auch der Monat als Dimension eingeblendet wird, passt auch das Ergebnis wieder. Als Alternative böte sich hier eine aggr() an, wie:

if(column(1)>0,
sum(aggr(nodistinct sum(
    {<
    Fakten.Leistung = {'Bettenbelegung'} ,
    Kalender_Datum = {"$(='<='&monthstart(vDatumMonitoringBis)&'>='&monthstart(vDatumMonitoringVon))"}
    >} TOTAL <Kalender_Monat>
Fakten.Anzahl_BUDGET), Kalender_Monat)))*100

- Marcus

View solution in original post

marcus_sommer

Eine normale Aggregation wie sum(Feld) oder auch sum(aggr(sum(Feld), Dim)) liefert genau einen Wert zurück, bei NODISTINCT werden jedoch multiple Werte (genauso viele wie in Dim verfügbar) zurück gegeben.

In der Regel enthalten die Objekte alle benötigten Dimensionen, so dass es für NODISTINCT keine Anwendung gibt, aber wenn man für die Berechnungen bestimmte Dimensionen als Kontext benötigt, aber nicht einblenden will oder kann, kann man hiermit quasi eine Werteliste an eine einzelne Aggregation zurück geben.

- Marcus

View solution in original post

4 Replies
marcus_sommer

1. Lässt sich nicht immer verhindern, da man die Wertebeschriftungen der verschiedenen Formeln nicht gegeneinander ausrichten kann. Man könnte eine Formel links und eine rechts ausrichten und/oder mit min/max/step Settings spielen, die Werte in den Segmenten anzeigen und/oder auch zwei Diagramme übereinander legen (mit entsprechend versetzten Skalen), aber wenn es je nach Selektionen recht chaotische Verläufe und viele Werte-Überschneidungen gibt, wird man ein Überlagern der Beschriftung nicht immer verhindern können.

Oft ist auch besser, diese Beschriftungen nur teilweise (eine von beiden oder auch nur jeden zweiten/dritten Balken/Linienwert oder auch versetzt oder nur anzuzeigen, wenn weniger als X Werte verfügbar sind) oder eben auch gar nicht anzuzeigen, da so ein Diagramm ja im Wesentlichen dafür da ist, rein optisch eine Information zu vermitteln und für die Zahlenwerte nimmt man dann eine Tabelle.

2. Hier liegt es an der Dimensionalität, dass nicht die erwarteten Ergebnisse gezeigt werden. Wenn hier neben dem Datum auch der Monat als Dimension eingeblendet wird, passt auch das Ergebnis wieder. Als Alternative böte sich hier eine aggr() an, wie:

if(column(1)>0,
sum(aggr(nodistinct sum(
    {<
    Fakten.Leistung = {'Bettenbelegung'} ,
    Kalender_Datum = {"$(='<='&monthstart(vDatumMonitoringBis)&'>='&monthstart(vDatumMonitoringVon))"}
    >} TOTAL <Kalender_Monat>
Fakten.Anzahl_BUDGET), Kalender_Monat)))*100

- Marcus

schurter
Creator
Creator
Author

Guten Tag Marcus

Vielen Dank für deine Antwort.

1. ich habe nun eine dritte Formel als Wertebeschriftung gemacht und diese auf die rechte Achse genommen, wobei ich die max-Achse um 30 % erhöht habe.

2. Sehr hilfreich. Danke vielmals. nodistinct bei aggr habe ich nicht gekannt. Kannst du mir dies vielleicht noch in ein paar Worten erklären?

LG Marlies

marcus_sommer

Eine normale Aggregation wie sum(Feld) oder auch sum(aggr(sum(Feld), Dim)) liefert genau einen Wert zurück, bei NODISTINCT werden jedoch multiple Werte (genauso viele wie in Dim verfügbar) zurück gegeben.

In der Regel enthalten die Objekte alle benötigten Dimensionen, so dass es für NODISTINCT keine Anwendung gibt, aber wenn man für die Berechnungen bestimmte Dimensionen als Kontext benötigt, aber nicht einblenden will oder kann, kann man hiermit quasi eine Werteliste an eine einzelne Aggregation zurück geben.

- Marcus

schurter
Creator
Creator
Author

Sehr gut, jetzt verstehe ich.

Danke für deine Unterstützung, Marcus!

LG Marlies