Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hallo,
ich habe mir gestern die kostenlose Version von QlikView heruntergeladen.
Ich habe von meiner Solaranlage die Temperaturwerte (Solarkollektor, Speicher unten, Speicher oben, Speicher Heizung), das Datum und die Uhrzeit in einer Excel-Tabelle exportiert. Die Excel-Tabelle sieht so aus:
2010-12-31 23:40:03 | 9,1 | 10,5 | 10,6 | 50,3 |
2010-12-31 23:50:03 | 9,4 | 10,5 | 10,6 | 50,3 |
2011-01-01 00:00:03 | 9,3 | 10,5 | 10,6 | 50,3 |
2011-01-01 00:10:03 | 9,3 | 10,5 | 10,6 | 50,3 |
Mein Export hat 1000 Einträge. Diese möchte ich nun in einem Diagramm darstellen. Die funktioniert soweit auch. Nur nimmt er immer alle 1000 Einträge.
Nun habe ich mir das so vorgestellt, dass man in einer Listbox das Jahr auswählt, in einer 2. Listbox soll man dann den Monat auswählen und in der 3. Listbox dann einen Tag. Je nachdem, was man auswahlt, soll er das Diagramm entsprechend ändern.
Ich habe schon viel ausprobiert und geteset. Leider schaffe ich es nicht, dass er mir in der Listbox "Jahr" das Jahr 2010 und 2011 anzeigt.
Kann man meine Idee eigentlich so mit QlikView abbilden?
Könnt ihr mir vielleicht einen Denkanstoß geben?
Danke und Grüße
Michael Thumann
Michael
zuerst musst du prüfen, dass deine Zeitstempel korrekt als solche eingelesen werden.
Am einfachsten das TimestampFormat am Anfang des Scripts auf das verwendete Format setzen.
Dann kannst du mit year(), Month(), und day() die gewünschten Felder im Script erzeugen.
Hallo swuehl,
ich habe das Skript nun so angepasst:
SET TimestampFormat='YYYY-MM-DD hh:mm:ss';
So sollte es ja mit meinen Daten übereinstimmen. Danach habe ich das Skript neu ausgeführt und eine neue Listbox erstellt. Bei Eigenschaften, Allgemein, Feld habe ich Formel ausgewählt und darein habe ich "=year(@1)" eingetippt. Leider zeigt er dann nichts in der Listbox an.
Wo habe ich einen Fehler gemacht?
Grüße
Michael
@1 ist dein Feldname für den Zeitstempel, korrekt? Du kannst im Script den Feldnamen auf was sprechenderes ändern, mit AS
LOAD
@1 as Zeitstempel,
@2 as TemperaturSpeicherUnten,
...
From ...;
Im Skript würde ich dann auch die Datumsfunktionen unterbringen:
LOAD
Month(@1) as Monat,
Year(@1) as Jahr,
Day(@1) as Tag,
@1 as Zeitstempel,
@2 as TemperaturSpeicherUnten,
...
From ...;
auch wenn das als Ausdruck in der Listbox auch funktionieren sollte. Prüfe doch auch mal mit dem Ausdruck num(Zeitstempel) in der Listbox, ob du numerische Werte zurückbekommst, nur dann hat die Erkennung der Zeitstempel korrekt funktioniert.
Gruß,
Stefan
Hallo Stefan,
jetzt komm ich schön langsam hinter das System Qlikview!
Ich habe die Datumsfunktion nun im Skript untergebracht. Nun funktioniert es, wenn ich in einer Listbox "Jahr" ausgeben lasse.
Was dagegen nicht funktioniert ist "num(Zeitstempel)"!?
Grüße
Michael
Tja, schwer zu sagen, kannst auch mal mit CTRL-T den Table Viewer öffnen und den Mauszeiger über das Feld Zeitstempel fahren, dann sollte u.a. Timestamp oder s.ä. angezeigt werden als Feldtyp.
Evtl musst du in dem Ausdruck in der Listbox auch "=num(Zeitstempel)" angeben.
Hast du schon das kostenlose Tutorial gemacht, dass du dir runterladen kannst? Da werden die grundlegenden Sachen ganz gut erklärt.
Es scheint, wie wenn das Problem aus der Excel-Tabelle kommt. Im Table Viewer zeigt er bei der Excel-Tabelle bei Zeitstempel "$ascii, $text". Hohle ich die Daten direkt aus meiner MySQL Datenbank, so zeigt der Table Viewer bei Zeitstempel "$numeric, $timestamp". Nun funktioniert auch das "num(Zeitstempel)".
Meinst du das Tutorial, was man sich beim Download der Personal Edition downloaden kann?
Ja genau das 😉
Viel Spass noch...