Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in NYC Sept 4th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Anfängerfragen Werte aus Excel sortieren und in Listboxen ausgeben

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

7 Replies
swuehl
MVP
MVP

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.

Not applicable
Author

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

swuehl
MVP
MVP

@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

Not applicable
Author

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

swuehl
MVP
MVP

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.

Not applicable
Author

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?

swuehl
MVP
MVP

Ja genau das 😉

Viel Spass noch...