Anzeige
Archiv - Navigation
1624to1628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Falscher Datentype bei MS-Query

Falscher Datentype bei MS-Query
07.06.2018 15:30:01
sergiesam
Hallo Freunde,
ich habe ein Problem beim Verlinken einer Exceldatei via Microsoft QUERY.
Leider kann ich PowerQuery nicht einsetzen, da das Addin in der Firma nicht freigegeben ist.
Problem: Ich mache via Microsoft Query eine Abfrage auf eine Excel-Datei. Soweit ich weiß, ermittelt Query den Datentyp der Spalte aufgrund der ersten paar Zeilen. Sollte ich in der 1. Zeile jeweils einen Wert gespeichert haben, ist alles in Ordnung.
Leider passiert es immer wieder, dass in den Rohdaten innerhalb der ersten paar Zeilen keine Werte stehen. Wenn erst in der 50. Zeile ein Text steht, wird dieser in der Abfrage nicht angezeigt, da Query die Spalte als Zahlenspalte definiert.
Kann man irgendwie pro Spalte auch ohne Datensätze definieren, welchen Datentyp man pro Spalte erwartet?
Vielen Dank für eure Unterstützung!
Sam

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Falscher Datentype bei MS-Query
07.06.2018 17:39:34
ChrisL
Hi Sam
Laie hilft Profi ;)
Quelle ist Excel und Ziel ist auch Excel?
Ich hätte eigentlich vermutet, dass leere Zellen kein Problem sind. Vielleicht ist ein Leerzeichen reingerutscht oder eine Zahl als Text, darum würde ich zur Sicherheit ein Check machen.
=ISTZAHL()
Falls MS-Query leere Felder tatsächlich als Textstring interpretiert, dann würde m.E. auch keine Typendefinition helfen. Soweit ich weiss gibt es in eine Datenbank-/Abfragelogik kein Datentyp Variant.
Dann würde vermutlich nur noch helfen, die Daten zu normieren (leer = 0 oder alles als Text).
cu
Chris
Anzeige
AW: Falscher Datentype bei MS-Query
07.06.2018 18:43:10
Robert
Hallo Sam,
bei mir macht es Query genau anders rum. Wenn in den ersten Zeilen nichts steht, wird die Spalte als Text geliefert. Damit Query die Spalte als Zahl liefert, habe ich den SQL-Anweisung angepasst.
Beispiel:
Angenommen die Rohdaten stehen in der Tabelle1 der Datei Daten.xlsx und haben 2 Spalten (Feld1 und Feld2). Dann lautet der SQL-String der Query
SELECT `Tabelle1$`.Feld1, `Tabelle1$`.Feld2 FROM `C:\Test\Daten.xlsx`.`Tabelle1$` `Tabelle1$`
Wenn bei mir in Feld2 bis zur 70. Zeile nichts steht und erst dann eine Zahl, geht die Query von einem Textformat aus. Will ich dieses Feld doch als Zahl haben, erreiche ich dies, indem ich den SQL-String wir folgt ändere:
SELECT `Tabelle1$`.Feld1, `Tabelle1$`.Feld2 * 1 As Feld2 FROM `C:\Test\Daten.xlsx`.`Tabelle1$` `Tabelle1$`
Wenn es wie bei Dir umgekehrt sein sollte, also erst in der 70. Zeile Text steht, die Query aber von einem Zahlenformat ausgeht und daher nichts liefert, könnte man dies eventuel wie folgt erreichen:
SELECT `Tabelle1$`.Feld1, `Tabelle1$`.Feld2 & '' As Feld2 FROM `C:\Test\Daten.xlsx`.`Tabelle1$` `Tabelle1$`
Hinweis: Die Zeichen nach dem &-Zeichen sind 2 Hochkomma und nicht ein Anführungzeichen.
Probiere es mal aus, vielleicht klappt es ja.
Gruß
Robert
Anzeige
AW: Falscher Datentype bei MS-Query
07.06.2018 22:19:08
sergiesam
Hallo Robert,
danke für deine umfangreiche Antwort. Genau diese erzwungene Konvertierung mache ich sehr häufig und funktioniert "normalerweise" einwandfrei.
Ich habe im SQL-String mal getestet, ob die Werte NULL sind.
Select IsNull(feld1) from Tabelle.
Ganz interessant ist das Ergebnis: Wenn innerhalb der ersten 8 Zeilen kein wert im Feld steht und darunter z.b. in Zeile 20 ein Text, sind alle Zeilen NULL. Wenn innerhalb der ersten 8 Zeilen ein Buchstabe im Feld steht, erkennt query alle Werte und gibt sie aus.
Ich dachte bisher immer, wenn keine Werte vorhanden sind, gilt das Feld als Text und ev. Zahlen werden nicht angedruckt. In meinem Beispiel ist es umgekehrt. Ich wünschte ich könnte PowerQuery nutzen, dort kann ich jedem Feld den gewünschten Datentyp zuweisen.
Ich werde wohl mit einem Trick eine Dummy-Zeile einfügen, wo ich für Text 'xxx' für Zahlen 1 und für Datum 1.1.1980 eingebe und im Query diese dann rausfiltern.
Vielen Dank auf alle Fälle für deine Mühen!
lg
sam
Anzeige
AW: Falscher Datentype bei MS-Query
07.06.2018 22:11:53
sergiesam
Hallo Chris,
danke für deine Vermutung. Diese Checks habe ich alle gemacht. Details dazu zur Antwort bei Robert.
Abwandlungen der Originaldaten sind auch leider nicht zulässig, da die Daten immer wieder frisch vom Server kommen. Es muss also bereits im SQL-String die Typprüfung durchgeführt werden.
Danke jedenfalls für deine Antwort.
lg
sam

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige