7 Replies Latest reply: Jan 3, 2017 10:47 AM by Marcus Sommer RSS

    Vorjahresvergleich

    Samuel Schultes

      Hello and a happy New Year,

       

      I am a newbie with Qlik Sense and SQL and have have the following question:

      • I created a bar graph and now I was trying to create it for the last year aswell. (monthly presentation).

      Which parameters do i need to address, for the correct conclusion?

       

      I am grateful for Feedback so thanks a lot in advance.

       

      _____

       

      Hallo und ein frohes neues Jahr,

       

      ich bin ein Neugling bei Qlik Sense und SQL und habe folgende Frage:

      • Habe ein Balkendiagramm nach Monaten erstellt und will daneben, ein Balkendiagramm nach Monaten für das letzte Jahr erzeugen.

       

      Wie spreche ich die Parameter korrekt an?

       

      Freue mich über Feedback, vielen Dank im Voraus.

        • Re: Vorjahresvergleich
          Samuel Schultes

          so far i am using this formula but can I make it more flexibel?

           

          sum({$<[AuftragspositionenMAU.Buchungs-Datum.autoCalendar.Year]={'2015'}>}[Position-Netto])

           

          Instead of '2015' some kind of forumla like

          ([AuftragspositionenMAU.Buchungs-Datum.autoCalendar.Year]-1)

            • Re: Vorjahresvergleich
              Marcus Sommer

              You could use an expression for your filter-value like:

               

              sum({$<Year={"$(=max(Year))"}>}[Position-Netto]) // max. year to all values respectively to the selection

              sum({$<Year={"$(=max(Year)-1)"}>}[Position-Netto]) // the previous year to above

               

              Further I suggest to consider to avoid or at least to reduce the qualifying of tables/fields - the efforts and pain to handle fields like: [AuftragspositionenMAU.Buchungs-Datum.autoCalendar.Year] is much bigger than their potential advantages.

               

              - Marcus

                • Re: Vorjahresvergleich
                  Samuel Schultes

                  Hallo Marcus,

                   

                  dein Vorschlag ist mir sehr willkommen, ich muss also von dem "Text" auf ein "Value" umschwenken, um die Formel mit -1 zu verwenden?

                   

                  Wie kann ich den Bezeichner kürzer setzen?

                   

                  [AuftragspositionenMAU.Buchungs-Datum.autoCalendar.Year] as Buchungsdatum

                   

                  so in etwa?

                   

                   

                  Grüße

                  Sam

                    • Re: Vorjahresvergleich
                      Samuel Schultes

                      Ich habe auch gleich noch eine Frage:

                       

                      ich wollte es noch etwas flexibler gestalten und habe versucht das Jahr anzupassen

                       

                      right(GetCurrentSelections([AuftragspositionenMAU.Buchungs-Datum.autoCalendar.Year]),4)-1

                       

                      damit komme ich zwar auf das Vorjahr anhand der Selektierung, aber wie bekomme ich das andere?

                       

                      sum({$<Year={"$(=max(Year))"}>}[Position-Netto])

                      • Re: Vorjahresvergleich
                        Marcus Sommer

                        Hallo Sam,

                         

                        wenn möglich, sollte man pure numerische Werte in diesen Set-Matchings haben. Sie sind performanter als Strings, man vermeidet potentielle Problem mit Formaten und man kann Vergleichs-Operatoren wie <= >= einsetzen.

                         

                        Ich persönlich nutze das Qualifying nahezu nie und benenne den Großteil der Felder gleich beim Einladen so, wie sie auch später in den Reports genutzt werden. Neben dem Umbenennen via AS oder ALIAS kann man auch Rename-Statements verwenden, insbesondere auch per Mapping. Siehe hierzu: How to Rename Fields.

                         

                        Schöne Grüße

                        Marcus

                          • Re: Vorjahresvergleich
                            Samuel Schultes

                            Hallo Marcus,

                             

                            ich habe versucht das Ganze flexibler zu gestalten und das Jahr bekomme ich so hin (bzw. ohne -1):

                            • right(GetCurrentSelections([AuftragspositionenMAU.Buchungs-Datum.autoCalendar.Year]),4)-1

                             

                            aber so klappt es dann nicht mehr (hab versucht es deiner Berechnung oben nach zu stellen):

                            • right({$<Year={"$(=getcurrentselections(Year)-1)"}>},4)
                            • ({$<Year={"$(=getcurrentselections(Year)-1)"}>})

                             

                            Eine andere Frage, wenn ich die Felder am Anfang umbenenne und später dann die Daten neu lade bzw. die Datentabelle überschreibe mit neuen Daten, wirkt sich das dann auf die Bezeichnung aus oder entsteht dann ein Konflikt oder erkennt Qlik Sense das? (Die Tabelle bleibt gleich, nur die Daten werden mehr)

                             

                            Und das letzte, ich habe jetzt versucht das so zu kürzen:

                            • [AuftragspositionenMAU.Buchungs-Datum.autoCalendar.Year] as Jahr

                             

                            aber das will nicht so wirklich funktionieren. Kann ich das überhaupt in der Formel selbst eintragen oder muss ich das, an einer anderen Stelle bei Qlik Sense eingeben? (Anfänger am Werk )

                             

                            Liebe Grüße

                            Sam

                              • Re: Vorjahresvergleich
                                Marcus Sommer

                                Hallo Sam,

                                 

                                es müsste dann so aussehen:

                                 

                                {$<Year={"$(=right(getcurrentselections(Year),4)-1)"}>}

                                 

                                wobei besser wären:

                                 

                                {$<Year={"$(=getfieldselections(Year)-1)"}>} oder {$<Year={"$(=max(Year)-1)"}>

                                 

                                Wenn ich Dich jetzt richtig verstehe, sind bereits die Feldnamen in der Datenbanktabelle bzw. in den Dateien so qualified: [AuftragspositionenMAU.Buchungs-Datum.autoCalendar.Year] ?

                                 

                                Dann könntest Du sie per AS einfach umbenennen oder auch, wie oben bereits erwähnt, ein Rename-Statement hierfür verwenden. Der Lade-Prozess sollte davon weitgehend unberührt bleiben, eine Ausnahme hiervon wären z.B. inkrementelles Laden - hier müsste man gegebenenfalls die Feldbezeichnungen anpassen oder aber auch das Renaming im Anschluss daran durchführen.

                                 

                                Schöne Grüße

                                Marcus