CAMPO UNICO INBASE A INGREDIENTI INSERITI

CAMPO UNICO INBASE A INGREDIENTI INSERITI

0
0

Ciao Giulio,

non riesco a risolvere il problema che ti ho descritto al corso….ho  il capo ingredienti che può contenere vari ingredienti, deve essere unico se gli stessi ingredienti sono già presenti solamente se lo sono tutti e tre. esempio:

ingrediente 1 : cit (va bene)

ingrediente 2: Mit (va bene)

ingrediente 3: cit – mit (va bene)

ingrediente 4: cit – mit – urea (va bene)

se inserisco un ingrediente 5: cit – urea – mit non va bene perché già esistente (ingrediente4)

se inserisco un ingrediente 6: mit – cit – non va bene perché già esistente (ingrediente 3)

 

riesci a fornirmi la formula? grazie…:)

Segnalato come spam
Pubblicata da (Domande: 27, Risposte: 5)
Domanda inviata 24 Maggio 2017 15:49
45 vis.
0
Domanda privata

son riuscito a risolvere senza fp…facendo un cercaesost al contrario ci ho piazzato una x(potevo anche fare””) al posto degli a capo…

CercaeSost (SortValues ( Refila ( CercaeSost ( Conservanti::Conservante;[ “-“; ¶]; [” “;””])); 1); “¶”; “X”)

 

sembra funzioni:)

Segnalata come spam
Pubblicata da (Domande: 5, Risposte: 164)
Risposta inviata 25 Maggio 2017 17:30
0
Domanda privata

AVrebbe senso se uno dei due termini di confronto fosse un valore solo: essendo due liste, secondo me devi andare di cf :).

 

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 24 Maggio 2017 20:50
0
Domanda privata

in pratica con la 16 ho usato SortValue e in un campo di testo calcolato mi mette in ordine alfabetico tutti gli ingredienti utilizzati, ho creato una autorelazione su quel campo pero oltre a farmi vedere nel portale l ingrediente “CIT MIT” mi fa vedere anche “CIT” , “MIT”

Segnalata come spam
Pubblicata da (Domande: 5, Risposte: 164)
Risposta inviata 24 Maggio 2017 17:21
0
Domanda privata

forse ho trovato soluzione tramite relazione e filtro nel portale….domanda…come posso contare solo le righe del portale filtrato?

Segnalata come spam
Pubblicata da (Domande: 5, Risposte: 164)
Risposta inviata 24 Maggio 2017 17:08
0
Domanda privata

Buongiorno Davide ????

devi fare tutto in tre step (anche in un singolo calcolo).
1) separi ogni ingrediente con un a capo – nel tuo esempio:
cercaesost(cit – mit – urea; ” – “; “¶”)
2) fai la stessa cosa con l’ingrediente inserito

3) usi una funzione personalizzata per filtrare le due liste in maniera tale che restituisca solo i valori della prima lista che non sono nella seconda. e la applichi in maniera incrociata (così da vedere se gli ingredienti sono i medesimi in entrambe le lista). Se entrambe le applicazioni della funzione personalizzata (ingredienti presenti su nuovo inserimento e nuovo inserimento su ingredienti precedenti) restituiscono vuoto, vuol dire che gli ingredienti sono gli stessi e quindi non vanno inseriti.

una cf adatta potrebbe essere:

FilterListItems_Filtrate.cf(MyList;FilterList)

Dichiara([

§Length = ConteggioValore(MyList ) ;
§ThisValue = RicavaValore( MyList ; 1 );

// aggiungi il valore, se applicabile
$$TEMPFILTERITEMLIST =
If(
not ContaRicorrenze ( ¶ & FilterList & ¶ ; ¶ & §ThisValue & ¶ ) ; $$TEMPFILTERITEMLIST & §ThisValue & ¶;
$$TEMPFILTERITEMLIST
);

// scorcia la lista
§NewList =
If(
§Length > 1 ; ValoriaDestra ( MyList; §Length – 1) ;
“”);

result =
If(
// Se ci sono ancora valori
ConteggioValore ( §NewList ) > 0 ; FilterListItems_Filtrate.cf( §NewList ; FilterList );

// invece ¶
Sinistra( $$TEMPFILTERITEMLIST ; Lunghezza( $$TEMPFILTERITEMLIST ) – 1 )
);

// tidy up
$$TEMPFILTERITEMLIST = “”
];

result

)

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 24 Maggio 2017 16:32