From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

tableau

Résolu !
Accéder à la solution

Bonjour,

je souhaiterais classer des données d'un tableau selon le nombre de la première colonne, c'est à dire toutes les ligne qui commence par 1 seront classer dans un tableau est ainsi de suite.

j'ai fais un exemple mais ce dernier  enregistre ces données, j'aimerais bien que ces donnes soient classées  dans des tableaux.

 

merci d'avance pour votre aide 

0 Compliments
Message 1 sur 10
5 352 Visites

So how many tables do you want? You need to know at edit time.

 

Here's a way to just sort the entries by the elements in the first column and display in a single table, you could do something as follows.

 

SortByFirst1.png

 

 

Message 2 sur 10
5 328 Visites

Bonjour 

merci beaucoup pour la réponse, ce que je veux est de ranger toutes les lignes qui commencent par le 1 dans un tableau et pour le 2 dans un autre tableau et ainsi de suite.

merci d'avance 

0 Compliments
Message 3 sur 10
5 297 Visites
Solution
Accepté par l'auteur du sujet galbich

Bonjour,

Je pense et j'espère que tu as trouvé la solution depuis le temps mais sinon scruter à chaque fois la première valeur de la ligne me semble une bonne option.

On pourrait procédé de deux façon qui me semblent extrêmement laborieuse si tes valeurs vont jusque 10+.

Et qui plus ai pas très "open" comme code si besoin d'ajout car non "dynamique", mais bon :

Tableau.png



"Don't be silly. I'm a fan of anything that tries to replace actual human contact." Sheldon cooper
0 Compliments
Message 4 sur 10
5 161 Visites

La deuxième solution ne peut pas fonctionner car tu ne testes qu'une seule valeur en sortie de ta boucle 🙂

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 5 sur 10
5 154 Visites

Bonjour, merci beaucoup pour la réponse.

la première solution est la bonne .

 

merci 

 

bonne journée  

0 Compliments
Message 6 sur 10
5 147 Visites

exacte pour la deuxième solution j'avais fais sa rapidement. ^^



"Don't be silly. I'm a fan of anything that tries to replace actual human contact." Sheldon cooper
0 Compliments
Message 7 sur 10
5 134 Visites

Une petite idée pas forcément hyper optimisée pour rendre le tout extensible :

 

Galbich.png

 

Si besoin de rajouter des valeurs, il suffit de rajouter un tableau en sortie et de rajouter sa référence en entrée. Note : il y a sûrement moyen de faire bien mieux.

 

Autre possibilité selon le format que tu veux en sortie : si tu as LabVIEW 2017 tu peux juste trier ton tableau 2D dans l'ordre que tu veux. Tu auras ainsi d'abord les lignes commençant par 1, puis par 2, puis par 3, etc.

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 8 sur 10
5 126 Visites

@ML927 wrote:

Une petite idée pas forcément hyper optimisée pour rendre le tout extensible :


Constantly reading and updating arrays inside a loop via value property nodes is very (very!) expensive. I also never understand why people tend to use "insert into array" instead of "build array" when appending a row. The "reinit to default" only works if the default is an empty array, which is not guaranteed to be true in the general case.

 

LabVIEW does not support ragged 3D arrays, but an array of cluster containing 2D arrays works just fine and allows for a scalable solution where the final number of 2D arrays can be decided at runtime. Just use an array indicator as I show on the right. Here's a quick example. You could even make the outer array container transparent.

 

SortIntoTables.png

Message 9 sur 10
5 117 Visites

I am so shameful... Thank you for your elegant solution altenbach 😉 Kudo !

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 10 sur 10
5 111 Visites