Dateien mit Messdaten zu groß

Problemstellung

Je größer die Datei mit den Daten, desto länger braucht sie auch zum laden. Zerlegt man diese in mehrere, kleinere Fragmente, wächst mitunter die Datenmenge (die referenzierende Größe, meistens ein Timestamp, muss ja in jeder Datei vorhanden sein). Unterm Strich sind die einzelnen Dateien schneller geladen, da nicht immer die kompletten Messdaten geladen werden, sondern nur die, die gerade verarbeitet werden sollen. Doch wie zerlegt man „mal eben“ so eine Tabelle?

Problemlösung

In Excel? Wäre möglich, doch birgt das immer die Gefahr, dass man in Excel beim bearbeiten mit etwas Pech auch die Daten manipuliert (Thema Formatierung). Besser wäre da die Trennung der Daten so RAW wie möglich: Also direkt in txt-Form. Gehen wir mal davon aus, dass diese Daten im CSV-Format wie:

Time;Value1;Value2;Value3;Value4;Value5;...;ValueN
xxxx.xx.xx xx:xx:xx.xxx;0.000;0.000;0.000;0.000;0.000;...;0.000

vorliegen. Am Ende sollen mehrere Dateien entstehen, in denen immer die logischen Gruppen von Messwerten zusammen gefasst werden (zB. alle Spannungen, alle Ströme, alle Temperaturen, oder jeweils die Prüflinge mit allen Kenndaten).

Weiterlesen

Externes Bearbeiten (lassen) von Daten

Problemstellung

Nicht immer liegen alle Unterlagen/Daten/Kennzeichnungen/.. direkt vor, nicht selten möchte der Kunde eigene Kennzeichnungen in den Plänen sehen, oder es sind schlicht Daten aus anderen Abteilungen, die das Projekt ergänzen sollen. Eplan hat hierfür das wirklich schöne Funktion „Externe Bearbeitung„. Es lassen sich schöne Vorlagen zaubern und dem Kunden oder anderen Abteilungen zur weiteren Eintragung zur Verfügung stellen.

Nun möchte ich dies aber vielleicht als Austauschformat gebrauchen, was bei jedem (ersten) Start diese Daten einließt, wenn die Datei vorhanden ist. Ebenso sollte beim Schließen des Projekts der aktuelle Stand für andere (wieder) bereit gestellt werden (nach Erweiterungen oder Änderungen). Ansich auch kein Problem, denn es gibt XMActionDCCommonExport fürs ausschreiben und XMActionDCImport für den Import. Nur schaut man sich die Beschreibung zum Import an heißt es dort: DataConfigurationFile : path of data configuration file. Also geht’s doch nicht so einfach?

Weiterlesen

Externe Daten in die EPlan Artikeldatenbank einschleusen

Problemstellung

Es existieren sicherlich in einigen Unternehmen und Betrieben Listen mit speziell gepflegten eigenschaften. Das macht auch durchaus Sinn, Beispielsweise um den Typenschlüssel bestimmter Hersteller per VBA in Excel zu dekodieren. Wie bei allen Automationen: Das kann der Rechner schneller, akkurater und mit Beachtung aller Sonderfälle. Doch dann liegen die Infos in einer Exceltabelle und manuelles CopyPaste ist alles andere als Smart. Wie also überführen?

Problemlösung

Nun gibt es verschiedene Ansätze, wie die Daten nun von der Quelle in das Ziel gelangen.

Weiterlesen

Konvertierung in Masse – *.xls zu *.xlsx

Problemstellung

Strukturen sind oft über Jahre wenn nicht Jahrzehnte gewachsen. So auch Datenmengen und deren Formatierungen. Damit nun alle ein einheitliches Format haben und auch in der Cloud besser alle Office-Dokumente im OpenXML-Format vorliegen, sollten diese nun konvertiert werden.

Lösungsansatz

Schritt für Schritt

Aufgrund der Masse der Dateien macht es Sinn, sich mal kurz ein Tool zu basteln. Bei wenigen Dateien ist das vielleicht etwas oversized, aber bei <Öffnen – Speichern unter – Format wählen – Speichern> von immerhin (wenn man fix ist) 30sec. sind das bei 10 Dateien schon 5min+. Sind es mehr als 40-50 Dateien mit dem gleichen Problem lohnt sich der Programmieraufwand.

Nach kurzer Suche stößt man auf zB excellent-conversions-and-downloads und damit auf die etwas schnellere Möglichkeit zur Konvertierung (hier mit Excel und unter Windows):

"<path to file>/excelcnv.exe" -oics "<quelldatei.xls>" "<zieldatei.xlsx>"

Immerhin kann so das Öffnen von und geklickere in Excel eingespart werden, doch richtig smart ist das noch nicht. Also diesen Ansatz ab in einen Batch und um Schleifen (siehe zB. tutorial-zur-for-schleife) und Abfragen erweitert.

Das ganze geht aber auch mit Opensource, zB. mit LibreOffice. Je nach System muss noch der Pfad angegeben werden:

#Windos
"<path to file>\soffice.exe" --convert-to xlsx "<quelldatei.xls>" -outdir "<zielpfad>"
#Linux
libreoffice --convert-to xlsx ./<quelldatei.xls> --outdir <zielpfad>
Weiterlesen

Marcos in Office durch aufnehmen?

Soll ich, oder besser nicht?

Schickt sich das, als Entwickler für ein Macro wirklich den Aufnahme-Button zu nutzen? Warum denn eigentlich nicht? Es ist ja immerhin nicht gleich das Endergebnis, oder? Es geht doch manchmal nur darum schnell mal einen groben Ansatz zu haben, oder nicht wieder länger nach Funktionen und deren Verwendungsmöglichkeiten zu googlen. Mit wenigen klicks kann wenigstens schon mal der grobe Rahmen erzeugt werden.

Aufgezeichnet und dann?

Das ist eben der spannende Teil: Die Aufzeichnung ist beispielsweise in Excel schnell mal 20-30 Zeilen lang und oft absolut zu einer Zelle bezogen. Nun beginnt das filtern:

  • Was muss denn wirklich sein?
  • Welcher Bezug macht Sinn? Relativ zur Selektion, absolut zu einer Spalte, ein mix?
  • Wie geht’s nun daraus weiter?
  • Welche möglichen Fehleingaben und Fehlinterpretationen sollen abgefangen werden?

Führt das immer schneller ans Ziel?

Das sicherlich nicht, denn existieren vielleicht schon fast fertige Funktionen, die nur noch modifiziert werden müssen, bringt die Aufzeichnung meist nur mehr Chaos in die Lösung. Aber auch da: es gibt kein Schwarz oder Weiß: Fehlt ein Puzzlestück, eine Funktion, dann ist’s manchmal hilfreich sich anzusehen, was Office selbst bauen würde. Man muss es ja nicht zwingend auch übernehmen…