Question

Quelqu'un aurait-il un exemple rapide de la façon dont les Associations, @NS et @NV travailler dans UniData?

Je suis en train de travailler sur les associations dans des éléments dans le dictionnaire, mais ne peut pas les obtenir à faire quoi que ce soit.

Par exemple, dans un enregistrement

<1,1> = A
<1,2> = B
<2,1> = Apple
<2,2> = Banana

J'ai créé 3 éléments dans le dictionnaire.LETTRE et de FRUITS, COMBO comme suit

LETTRE:

<1> = D
<2> = 1
<3> = 
<3> = Letter
<4> = 6L
<5> = M
<6> = COMBO

FRUIT:

<1> = D
<2> = 1
<3> = 
<3> = Letter
<4> = 6L
<5> = M
<6> = COMBO

COMBO:

<1> = PH
<2> = LETTER FRUIT

Faire un LIST LETTER FRUIT ou LIST COMBO a pas de différence à quand la LETTRE et les FRUITS n'ont pas une association déclarée en 6.

À ce point, j'ai pensé qu'il pourrait groupe multivalues ensemble lors de la Sélection j'ai donc créé un autre enregistrement en tant que tel:

<1,1> = A
<1,2> = B
<2,1> = Banana
<2,2> = Apple

Faire SELECT MyFile WITH LETTER = “A” and FRUIT = “Apple” sélectionne les deux enregistrements, qui ne peut pas être non plus.

J'ai ensuite essayé de changer une LETTRE à:

<1> = I
<2> = EXTRACT(@RECORD,1,@NV,1);EXTRACT(FRUIT,1,@NV,1);@1:" (":@2:")" : @NS
<3> = 
<3> = Letter
<4> = 6L
<5> = M
<6> = COMBO

En espérant qu'un LIST MyFile LETTER permettrait de ramener toutes les différentes lettres avec leurs fruits dans les parenthèses.Qui ne fonctionne pas non plus comme maintenant la LETTRE n'a jamais affiché la première à valeurs multiples au lieu de tous.Pour Exemple:

LIST MyFile LETTER 14:05:22 26 FEB 2010 1
MyFile.... LETTER..............

RECORD2    A (Banana)1
RECORD     A (Apple)1
2 records listed

Les manuels de ne pas aller plus loin que de dire le mot “association”.Quelqu'un est-il en mesure de clarifier cela pour moi?

Était-ce utile?

La solution

De nombreuses fois, NV NS travaillons uniquement lors de l'utilisation PAR EXP dans votre LISTE ou SÉLECTIONNEZ consolidés.Vous devez utiliser les modificateurs examiner plus précisément à valeurs multiples et SubValues.

QUAND est l'un, et PAR-EXP en est une autre.Il y a d'autres, mais vous ne savez pas ce qu'ils sont sur le haut de ma tête.J'ai surtout l'utilisation des EXP et EXP-DSND.

LIST MyFile BY-EXP LETTER = "A" BY-EXP FRUIT ="Apple" LETTER FRUIT LETTER.COMBO

Pour ramener toutes les combinaisons, vous utilisez le besoin de faire ce qui suit:

LIST MyFile BY-EXP LETTER LETTER FRUIT LETTER.COMBO

Modifier les éléments suivants champ virtuel de la 'LETTRE' pour dire 'LETTRE.COMBO " ou quelque chose le long de ces lignes:

<1> = I    
<2> = EXTRACT(@RECORD,1,@NV,1);EXTRACT(FRUIT,1,@NV,1);@1:" (":@2:")" : @NS    
<3> =     
<3> = Letter    
<4> = 6L    
<5> = M    
<6> = COMBO  

Espérons que cela aide.

-Nathan

Autres conseils

Pour répondre en partie à ma propre question:

Uniquement "LORSQUE" est affectée par l'association, pas avec.Si vous activez l'UDT.OPTIONS de 94 et ne

LIST MyFile WHEN LETTER = "A" AND FRUIT="Apple" COMBO

lors de l'utilisation de mon D-définition de Type de LETTRE, je reçois

LIST MyFile WHEN  LETTER = "A" AND FRUIT="Apple" LETTER FRUIT 16:06:42 26 FEB 2010 1
MyFile.... LETTER.............. FRUIT...............

RECORD     A                    Apple
1 record listed

Qui est ce que l'on pourrait attendre.

L'utilisation de la clause when vous avez besoin pour être en ECLTYPE U, pas de P.IL serait utile si c'est plus clair, mais bon...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top