6 Replies Latest reply: Aug 29, 2011 11:40 AM by Stefan Wühl RSS

    Datumsformate - Differenz in Monaten berechnen - nur Anzeige Daten der letzten x Monate

      hallo  zusammen,

       

      ich bin noch relativ neu in QlikView und habe das Problem, dass ich gerne die Differenz von 2 Datumsfeldern in Monaten berechnen möchte - gleichzeitig soll dieses Ergebnis in Monaten die Anzeige einer Datentabelle steuern.

       

      Welche Daten habe ich zur Verfügung:

       

      Datum heute: today () - hat das Format DD.MM.YYYY

      Faktendatum: datum_fakt ist bereits ein num. Format

       

      Berechnet werden soll die Differenz zwischen today () und datum_fakt in Anzahl Monaten.

       

      Die Daten der dazugehörigen Tabelle sollen mit den einzelnen Monatswerten angezeigt werden, wenn die Differenz innerhalb der letzten 12 Monate liegt.

       

      kann mir hier jemand helfen?

      vielen lieben Dank

        • Datumsformate - Differenz in Monaten berechnen - nur Anzeige Daten der letzten x Monate
          Sravan Puppala

          Hallo Ulrike,

           

          kannst du ein Beispiel geben und das Ergebnis, was du am ende sehen willst. ich kann dann versuchen.

           

          Gruß

          Sravan

           

          PS: Es gibt eine Deutschsprachige Gruppe hier http://community.qlik.com/groups/german-user-group

          Da kriegst du mehr antworten als hier, wenn du auf deutsch schreibst.

          • Datumsformate - Differenz in Monaten berechnen - nur Anzeige Daten der letzten x Monate
            Stefan Wühl

            Hallo Ulrike,

             

            ich glaube wir müssten erstmal festlegen, wie die Differenz definiert ist. zum Beispiel

            2.9.2011 - 29.8.2011

             

            Ergibt das eine Differenz von

            0 Monaten - da noch kein ganzer Monat verstrichen ist

            1 Monat - da die Termine innerhalb eines Monats liegen

            2 Monaten, da August und September "betroffen" sind

            oder ca. 0,1 Monat

             

            GGf müsste man auch noch festlegen, wie lange ein "Standardmonat" ist.

             

            Deine Frage klingt am Ende aber danach, dass du gar nicht direkt an der Differenz zwischen zwei Datumsangaben

            interessiert bist, sondern nur alle Werte, deren Datum innerhalb einer gewissen Periode liegen, in deine Berechnung einbeziehen willst.

             

            Das könntest du mit einem set analysis Ausdruck machen, z.b.

            =sum({<datum_fakt= {">=$(=addmonths(today(),-12))"} >} DEINFACT)

             

            Der Teil zwischen {<>} limitiert die Auswahl für die Berechnung auf Werte mit Datum innerhalb der letzten 12 Monate.

             

            Genaueres zur set analysis siehe Hilfe oder auch

            http://iqlik.wordpress.com/2010/11/27/the-magic-of-set-analysis-point-in-time-reporting/

             

            Gegebenfalls musst du diesen Ausdruck auch noch erweitern, wenn du weitere Datumsfelder benutzt (dann musst du diese evtl, im Ausdruck noch löschen,

            z.b. mit

            ,monat_fakt=

             

            siehe dazu die Beispiele in obigem Link.

             

            Hoffe das hilft,

            Stefan

              • Datumsformate - Differenz in Monaten berechnen - nur Anzeige Daten der letzten x Monate

                hallo Stefan,

                vielen Dank für deine schnelle Antwort.

                 

                Mein Frage, die ich abzubilden versuche ist: zeige die Umsatzdaten nach Monaten für alle Filialen, die in den letzten 12 Monaten neu eröffnet wurden. Zu jeder Filiale gibt es das Eröffnungsdatum und ich habe mein System-Tagesdatum von heute zur Berechnung zur Verfügung.

                 

                Was ich benötige ist eigentlich die Differenz zwischen zwei Monatswerten, z.B.

                 

                heute: 29.08.2011

                Eröffnungsdatum einer Filiale: 10.10.2010

                 

                mich interessiert dabei nicht die exakte Differenz in Tagen, sondern nur die der Monate, d.h. ich würde rechnen:

                 

                first of month (10/2010) zu first of month (08/2011) -> 10 Monate Differenz, dabei betrachte ich nicht, ob das Datum am Anfang, in der Mitte oder am Ende des Monats liegen.

                  • Datumsformate - Differenz in Monaten berechnen - nur Anzeige Daten der letzten x Monate
                    Stefan Wühl

                    Hallo Ulrike,

                     

                    ich denke ich habe verstanden, was du willst.

                     

                    Ich würde das immer noch mit einer set analysis expression machen in etwas so:

                    Bau dir ein straight table mit Dimension Monat (ich nehme an, dass du diese Dimension hast, am besten in einem Master Calendar zusammen mit allen benötigten Datumsfeldern, falls nicht, such mal nach Master Calendar hier im Forum, gibt einige Beispiele).

                     

                    Als expression dann

                    =sum({<datum_Eroeffnung= {">=$(=monthstart(addmonths(today(),-12)))"} >} UmsatzFact)

                     

                    Die Set analysis expression macht folgendes, sie selektiert (nur für diese Berechnung) alle Filialen mit Eröffnung nach dem Datum monthstart(addmonths(today(),-12)) was du von innen nach ausse lesen kannst als nimm heute (29.8.2011), rechne -12 Monate drauf (29.8.2010) and nimm davon den Monatsstart (1.8.2010).

                     

                    Ob das im Detail wirklich so funktioniert, hängt ein wenig (ne eigentlich hauptsächlich), von deinem Datenmodell ab, ich gehe mal davon aus, wenn du ein Eröffnungsdatum selektierst, selektierst du implizit (weisser Hintergrund in Listboxen) die entsprechende Filiale und alle Umsätze mit.

                     

                    Hoffe das hilft,

                    Stefan