in data 02-24-2021 05:17 AM
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.
Risolto Andare alla soluzione.
in data 02-24-2021 09:29 AM
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?
in data 02-24-2021 12:43 PM
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.
02-25-2021 02:33 AM - modificato 02-25-2021 02:36 AM
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.
in data 02-25-2021 05:33 AM
Ciao,
ti ringrazio infinitamente.
Il tuo metodo è decisamente più snello ed intelligente che da oggi utilizzerò per lavorare sulle estrazioni excel.