INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Nach bestimmter Messwertanzahl "umbrechen"



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

19.07.2011, 16:39
Beitrag #1

Fidel90 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 61
Registriert seit: Nov 2010

2011
2010
EN

98xxx
Deutschland
Nach bestimmter Messwertanzahl "umbrechen"
Hallo, kurze und sicher ganz einfache Frage.. Wink

Also. Ich schreibe Messwerte von einem 2D-Array nach Excel. Soweit so gut. Die Messkanäle werden spaltenweise dargestellt. Nun kann es ja bei vielen Messwerten (>65536) passieren, dass Excel ein problem hat, da alle Zeilen befüllt sind. Ich möchte also, wenn eine festgelegte Menge an Datensätzen vorhanden ist, ein paar Spalten nach rechts rücken und wieder in der ersten Zeile bis zur letzten schreiben - dann das ganze von vorne.

Gibts da ne einfache Möglichkeit? Ich hab mich mit einer While-Schleife und der Funktion "Aus Array enfernen" versucht, komme aber zu keinem vernünftigen Ergebnis Sad

thx

mfg Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.07.2011, 21:09 (Dieser Beitrag wurde zuletzt bearbeitet: 19.07.2011 21:13 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Nach bestimmter Messwertanzahl "umbrechen"

Akzeptierte Lösung

Hallo Fidel,

eine einfache Frage, die leider ohne wichtige Hintergrund-Infos gestellt wurde: Wie schreibst du die Daten nach Excel? Wo ist dein Beispiel-VI?

Zitat:Gibts da ne einfache Möglichkeit?
Ja.

Zitat:Ich hab mich mit einer While-Schleife und der Funktion "Aus Array enfernen" versucht, komme aber zu keinem vernünftigen Ergebnis
Wie willst du das auch, wenn du einfach Daten entfernst?

Idee:
2D Array in Blöcke mit maximaler Zeilenzahl aufteilen. Diese Blöcke mittels BuildArray (oder InsertIntoArray) jeweils als neue Spalten "rechts" anhängen. Dabei beachten, dass dein altes Excel nur max. 256 Spalten verwalten kann...

Hier mal ein Beispiel für ein 1D-Array:
   
Kannst du sicher für dein 2D-Array anpassen Smile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2011, 07:21
Beitrag #3

Fidel90 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 61
Registriert seit: Nov 2010

2011
2010
EN

98xxx
Deutschland
RE: Nach bestimmter Messwertanzahl "umbrechen"
Hallo Gerd, danke schonmal für die Antwort. Im Moment hab ich sowas in die Richtung probiert:

   

Im Ansatz klappt das auch. Ich entferne immer den benötigten Teil aus dem Array und schreibe diesen nach Excel. Die Schleife läuft solange bis das Array leer ist. Im Moment wird mir aber nur nach je 100 Messwerten meine Spaltenbeschriftung wieder eingefügt (was auch sinnvoll ist), aber wie ich ein paar Spalten nach rechts komme im Excel hab ich damit nicht lösen können.

Dann werd ich mich mal daran versuchen das Array umzuformen...

mfg Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2011, 07:54 (Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2011 07:55 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Nach bestimmter Messwertanzahl "umbrechen"
Hi Fidel,

du solltest dir darüber klar werden, dass WriteToSpreadsheetfile zeilenorientiert arbeitet. Da wirst du nie (mit dieser Methodik) neue Spalten rechts anhängen können - was weniger an der Funktion selbst liegt, sondern vielmehr am verwendeten CSV-Format...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2011, 08:08
Beitrag #5

Fidel90 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 61
Registriert seit: Nov 2010

2011
2010
EN

98xxx
Deutschland
RE: Nach bestimmter Messwertanzahl "umbrechen"
Ok, dann ist natürlich klar warum das nicht klappt Wink

Ich versuche mich gerade an deinem Lösungsvorschlag und komme gerade nicht weiter als:

   

Am Ende stehen in meinem Array natürlich nur die Werte der letzten Spalte. Nun kann ich am Ende der Schleife nicht einfach indizieren, da ich dann ja ein 3D-Array habe womit ich nicht mehr viel anfangen kann. Ich hatte daher die Idee vor der Zählschleife ein neues Array zu initialisieren und dann mein TeilArray in der Schleife in jedem durchlauf stückchenweise das neue Array zu ersetzen. Das klappt aber leider nicht, da ich die Anschlüsse nicht verbinden kann (zwei inkompatible Arrays).

Tja...ich bekomme zwar in der Schleife erstmal die benötigten Teilarrays, mir fehlt aber noch der zündende Gedanke um die in einem 2D-Array zusammenzufügen... :/

mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2011, 08:10
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Nach bestimmter Messwertanzahl "umbrechen"
Hallo Fidel,

Zitat:der zündende Gedanke
Wie wäre es mit einem Schieberegister und einem BuildArray zusätzlich in der Schleife? Du willst ja Daten "zusammenpacken"...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2011, 08:19
Beitrag #7

Fidel90 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 61
Registriert seit: Nov 2010

2011
2010
EN

98xxx
Deutschland
RE: Nach bestimmter Messwertanzahl "umbrechen"
Hallo, ja die Idee hatte ich, aber dann muss ich entweder wieder mit einem 3D-Array arbeiten oder es klappt nicht:

   

mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2011, 08:21 (Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2011 08:24 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Nach bestimmter Messwertanzahl "umbrechen"
Hallo Fidel,

noch ein zündender Gedanke: Rechtsklick aufs BuildArray und "Arrays verknüpfen" Smile
Und bevor die nächste Frage kommt: manchmal muss man mit TransposeArray rumspielen, um die richtige Anordnung im Zielarray zu erhalten...

Noch'ne Idee:
Bei großen Datenmengen kann es hilfreich sein, das Zielarray vorher in der richtigen Größe zu initialisieren und dann die Teilblöcke per ReplaceArraySubset dort einzutragen - das erspart evtl. das Umsortieren mit Transpose und Build...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2011, 09:33
Beitrag #9

Fidel90 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 61
Registriert seit: Nov 2010

2011
2010
EN

98xxx
Deutschland
RE: Nach bestimmter Messwertanzahl "umbrechen"
Hallo Gerd, wusste gar nicht das es diese Verknüpfungsmöglichkeit gibt Wink Soweit sieht das schonmal ganz gut aus. Wenn ich fertig bin werde ich hier nochmal ein Bild reinstellen. Noch eine kleine Frage: Ich würde gern immer dann wenn ich "umbreche" zwischen den "neuen" und "alten" Datensätzen eine Leerspalte einfügen. Dient lediglich der Optik, würde das aber deutlich übersichtlicher machen Smile

Hast du dafür noch eine Idee...? Im Moment stückel ich das Ausgangsarray in der Schleife zusammen, transponiere dann außerhalb und schreibe anschließend nach Excel... Ich müsste also irgendwo in der Schleife ansetzen. Mit einem leeren String array kann ich ja schlecht verknüpfen da der Typ dann nicht mehr stimmt. Und mit Nullen auffüllen ist auch nicht das was ich suche..

Danke schonmal bis hierher

mfg Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2011, 09:38 (Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2011 09:40 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Nach bestimmter Messwertanzahl "umbrechen"
Hallo Fidel,

Zitat:wusste gar nicht das es diese Verknüpfungsmöglichkeit gibt
Rtmfx Smile

Zitat:eine Leerspalte einfügen
Solange du mit Zahlen arbeitest, kannst du auch nur "Leerspalten" einfügen, die eine Zahl beinhalten. Dies kann bei einem Float-Datentyp z.B. Null sein, aber auch NaN...
Wenn du "echte" Leerspalten einfügen willst, musst du mit Strings arbeiten - die können nämlich "leer" sein!

Zitat:schreibe anschließend nach Excel
Es ist für's Verständnis wesentlich einfacher, wenn man sich an dieser Stelle von dem Begriff "Excel" löst. Du erzeugst eine Textdatei im CSV-Format! Und es steht dir frei, diese Textdatei mit allem zu befüllen, was dir in den Sinn kommt...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Bestimmter Teil einer Textdatei auslesen ExperimetalPhysiker 3 5.602 24.02.2014 09:08
Letzter Beitrag: GerdW
  Parameter in Sub VI bei bestimmter Aktion ändern JimJackson 6 6.175 08.05.2011 19:41
Letzter Beitrag: IchSelbst
  Array von bestimmter Stelle an lesen taylor 4 7.151 04.03.2010 08:45
Letzter Beitrag: M Nussbaumer

Gehe zu: