Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

Operazioni con gli array

Risolto!
Vai alla soluzione

Ciao,

ho importato un file excel e vorrei filtrarlo ed aggiungere delle note a seconda del rendimento.

Ho selezionato dal file solo le colonne necessarie e non essendo in grado di aggiungerne una nella 32 sostituisco il contenuto, anche se mi piacerebbe capire come fare ad aggiungerla.

Dopo il filtraggio in funzione del setup o della lavorazione l'array ho delle righe vuote e quando vado ad assemblare tutto insieme queste rimangono.

Potreste spiegarmi come faccio ad aggiungere una colonna e come eliminare le righe vuote.

Grazie.

Scarica tutti
0 Kudos
Messaggio 1 di 5
2.505Visualizzazioni

Il tuo codice è piuttosto farraginoso e contiene diversi elementi inutili. Ti consiglio di mantenere il Block Diagram il più compatto e ordinato possibile e usare abbondantemente Clean Up Wire in modo che si veda bene da dove partono e dove arrivano i fili.

Detto questo, il tutto funziona benino (righe vuote a parte) fino al Build Array finale. Qui otteniamo in output un array 3D (!), le cui centinaia di "fette" a 2D sono quasi identiche tra di loro. Non penso sia questo di cui hai bisogno.

Immagina di non avere le righe vuote - ti dirò poi come evitarle. Fino a quel punto hai ottenuto:

- un array 1D di intestazione

- un array 2D con rendimento basso

- un array 2D con rendimento OK

- un array 2D con rendimento eccessivo

- un array 2D con le righe di Setup

Immagino che tu voglia semplicemente "incollare" gli array 2D verticalmente in modo da ottenere un'unica tabellona? O mi sbaglio?

Paolo
-------------------
LV 7.1, 2011, 2017, 2019, 2021
0 Kudos
Messaggio 2 di 5
2.460Visualizzazioni

Il tuo codice è piuttosto farraginoso e contiene diversi elementi inutili. Ti consiglio di mantenere il Block Diagram il più compatto e ordinato possibile e usare abbondantemente Clean Up Wire in modo che si veda bene da dove partono e dove arrivano i fili.

 

Effettivamente ho fatto il clean dopo aver postato, ti ringrazio per avermelo fatto notare. 

 

 

Immagino che tu voglia semplicemente "incollare" gli array 2D verticalmente in modo da ottenere un'unica tabellona? O mi sbaglio?

 

Esattamente, in realtà una volta capito come si fa inizierò a controllare anche i setup e fare una distinzione anche in quelli ma penso che sia, in linea di principio, la stessa cosa. 

 

 

 

 

0 Kudos
Messaggio 3 di 5
2.456Visualizzazioni
Soluzione
Accettato da autore argomento franbecks

Ecco la mia versione del codice che spero faccia quello che chiedi.

Per evitare di avere righe vuote, bisogna semplicemente controllare che la riga (array 1D) che si sta aggiungendo non sia vuota, un po' come hai fatto nel loop di Filtro lavorazione. Una possibilità abbastanza recente - ma c'è già da alcuni anni - è usare le impostazioni del tunnel di uscita dal loop (fai right-click sul tunnel per vederle). Nel tuo caso è comodo usare il tunnel indexing e conditional: l'elemento viene aggiunto solo se nel terminale conditional arriva un True. Ho applicato la tecnica anche al loop di Filtro lavorazione per mostrare come il codice sia più compatto, ma anche più leggibile, per il fatto che non ci sono parti nascoste.

Per quanto riguarda la colonna "Rendimento", essendo l'ultima va semplicemente aggiunta in fondo alla riga con un Build Array banale (naturalmente evito di leggere la colonna 32 che non serve più).

Nota anche che le tue costanti in ingresso al loop ("Basso rendimento" e le altre due) non cambiano durante l'esecuzione del loop, quindi è inutile metterle in uno shift register.

Per finire, non ho bisogno di un loop aggiuntivo per creare la tabella finale: mi basta un unico Build Array in cui attacco i vari pezzi insieme.

 

tabella.png

Paolo
-------------------
LV 7.1, 2011, 2017, 2019, 2021
0 Kudos
Messaggio 4 di 5
2.440Visualizzazioni

Ciao,

ti ringrazio infinitamente.

Il tuo metodo è decisamente più snello ed intelligente che da oggi utilizzerò per lavorare sulle estrazioni excel.

0 Kudos
Messaggio 5 di 5
2.430Visualizzazioni