Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
tabha
Contributor
Contributor

P() in Set Analysis

Hallo!
Muss vorausschicken, dass ich ziemlich am Anfang mit Qlik Sense stehe und eher Excel als Programmier bzw. Qlik Sense-Skills habe. Leider konnte ich in anderen Forenbeiträgen dazu keine Lösung finden.

Ich möchte einen Forecast immer auf das Ende des nächsten Monates rechnen aufgrund der bislang verkauften Menge und der Tage die der ausgewählte Zeitraum schon hatte und das runtergebrochen auf die Produkte. Jetzt hat nicht jedes Produkt jeden Tag einen verkauf. Zum Beispiel:

Produkt Datum Menge
A 01.Feb 5
B 15.Feb 6
C 01.Mär 8
A 07.Mär 5
B 09.Mär 11
C 10.Mär 7

 

Rauskommen sollte - wobei ich nur die Spalte Forecast brauche, die anderen sind nur zum Verständnis hier.

  min max Menge Tage bisher Monatstage Forecast
A 01.Feb 10.Mär 10 37 59 15,95
B 01.Feb 10.Mär 17 37 59 27,11
C 01.Feb 10.Mär 15 37 59 23,92

Aktuell scheitere ich an den Tagen bisher. Das sollten max - min Tage des ausgewählten Zeitbereiches unabhängig vom gewählten Produkt sein.

Ich hätte da gedacht das mit P() zu machen, aber ich bekomme das leider nicht hin.

Vielleicht kann mir hier jemand weiterhelfen, wie die Formen aussehen müsste.
Vielen Dank schon mal!

Labels (1)
1 Solution

Accepted Solutions
marcus_sommer

Wenn im Kalender jetzt jeder Kalendertag und jeder Arbeitstag einen Wert von 1 hat, kann man das in der Oberfläche dann per: sum(Arbeitstag) ermitteln. Egal ob man jetzt Monate oder auch multiple Datumswerte auswählt, die entsprechende Anzahl an Arbeitstagen ist verfügbar. So wie oben direkt bezogen auf die dahinter liegenden Fakten-Daten und mit etwas wie: sum({< Kategorie, Produkt >} total Arbeitstag) kann man auch etwaige Einschränkungen über die Auswahlen und/oder die Dimension ignorieren/anpassen.

View solution in original post

4 Replies
marcus_sommer

Wenn es sich um echte Datumswerte handelt, könnte man einfach max - min rechnen und mit entsprechenden TOTAL statements in der Formel, könnte man dann auch die Dimensionen im Chart ignorieren.

Ich persönlich mache sowas aber nicht, sondern nutze einen Master-Kalender, in dem neben KW, Monat und Jahr auch die Kalender- und Arbeitstage mit gezählt werden - sowohl als 0/1 Werte als auch kumuliert sowie die auch die jeweiligen Max-Werte. Das meint, alles irgendwie relevantes zu Perioden-Informationen sollten nicht in der Oberfläche gerechnet/gematcht/formatiert usw. werden, sondern das macht man besser im Datenmodell:

How to use - Master-Calendar and Date-Values - Qlik Community - 1495741

tabha
Contributor
Contributor
Author

Ich habe auch einen Masterkalender mit KW, Monat, Jahr im Ladeskript - werde das aber noch ergänzen um Kalender- und Arbeitstage, dass kann ich sicher brauchen. Danke für den Link!

Wobei sich mir hier nicht erschließt wie mir das bei meinem Problem weiterhilft. Bei der Formel sum(Kalendertage) aufgesplittet auf Produkte habe ich doch das selbe Problem. Ich benötige im Grunde immer die Anzahl der Tage des selektierten Datumsbereich, auch wenn ich das auf die Produkte runterbreche, unabhängig davon ob es an dem Tag tatsächlich einen Datensatz für dieses Produkt gibt. Da bräuchte ich dann doch auch eine Formel mit den möglichen Kalendertagen oder stehe ich gedanklich da jetzt total daneben?

Total funktioniert leider auch nicht, weil ich dann den Wert 1.1.2019 bekomme - min sämtlicher Daten. Ich möchte ja nur das niedrigste Datum des selektierten Zeitbereichs.

Mein aktueller Versuch für das untere Datum ist folgender:
min({$<Produkt=P({1< Produkt= {'A','B','C'}>}) >} Datum)
Da bekommt ich aber immer nur das min Datum des Produktes. Im Beispiel also für A den 1.2. für B den 15.2. und für C den 1.3. - statt immer den 1.2.

 

marcus_sommer

Wenn im Kalender jetzt jeder Kalendertag und jeder Arbeitstag einen Wert von 1 hat, kann man das in der Oberfläche dann per: sum(Arbeitstag) ermitteln. Egal ob man jetzt Monate oder auch multiple Datumswerte auswählt, die entsprechende Anzahl an Arbeitstagen ist verfügbar. So wie oben direkt bezogen auf die dahinter liegenden Fakten-Daten und mit etwas wie: sum({< Kategorie, Produkt >} total Arbeitstag) kann man auch etwaige Einschränkungen über die Auswahlen und/oder die Dimension ignorieren/anpassen.

tabha
Contributor
Contributor
Author

DANKE! Klappt!