Pagina 1 di 1

ContaRicorrenze

Inviato: domenica 29 settembre 2024, 13:59
da gilfor
Buongiorno a tutti.
In un modulo esterno a FileMaker, ho impostato un campo "Qualifica" in cui posso selezionare più di una opzione, di cui tre sono già definite ed una con descrizione libera.
Quando importo il modulo in FileMaker, nel campo "Qualifica" posso trovarmi, per lo stesso record, la qualifica <A>, oppure <A, B>, oppure <A, B, "Descrizione libera">, ecc.
Avendo la necessità di calcolare il numero totale delle qualifiche digitate nei record, ho impostato quattro campi di cui tre del tipo:
- Qualifica A: ContaRicorrenze (Qualifica; "A")
- Qualifica B: ContaRicorrenze (Qualifica; "B")
- Qualifica C: ContaRicorrenze (Qualifica; "C")
con i rispettivi campi riassunto.
Non riesco, invece, a ricavare il numero delle eventuali qualifiche libere. Poichè nello specifico non si conosce il testo digitato, ho provato con:
Casi (
ContaRicorrenze (Qualifica;"A") = 1 and
ContaRicorrenze (Qualifica;"B") = 1 and
ContaRicorrenze (Qualifica;"C") = 1); 1;0
)
Il risultato però è sempre "0", anche se in qualche record è presente una descrizione diversa dalle tre fisse.
Spero di essere stato sufficientemente chiaro nella descrizione del problema ed auspico un suggerimento.
Grazie per l'attenzione.

Re: ContaRicorrenze

Inviato: martedì 1 ottobre 2024, 17:00
da Alessandro.Airoldi
Buongiorno

Innanzitutto: se in "Descrizione libera" l'utente può inserire un testo allora attenzione che se in quel testo è presente A o B o C i calcoli su ContaRicorrenze (Qualifica; "A") , ContaRicorrenze (Qualifica; "B") e ContaRicorrenze (Qualifica; "C") risulterebbero sbagliati.

Se il campo Qualifica arriva SEMPRE con quella "formattazione" che hai indicato potresti fare cosi:

- Qualifica A: ContaRicorrenze(Qualifica; "<A>") + ContaRicorrenze(Qualifica; "<A, ")
- Qualifica B: ContaRicorrenze(Qualifica; "<B>") + ContaRicorrenze(Qualifica; "<B, ") + ContaRicorrenze(Qualifica; ", B, ") + ContaRicorrenze(Qualifica; ", B>")
- Qualifica C: ContaRicorrenze(Qualifica; "<C>") + ContaRicorrenze(Qualifica; "<C, ") + ContaRicorrenze(Qualifica; ", C, ") + ContaRicorrenze(Qualifica; ", C>")

- Qualifica Libera:
Dichiara(
[
t=CercaeSost(Qualifica;" A, ";" ");
t=CercaeSost(t;" B, ";" ");
t=CercaeSost(t;" C, ";" ");
t=CercaeSost(t;"<A, ";"<");
t=CercaeSost(t;"<B, ";"<");
t=CercaeSost(t;"<C, ";"<");
t=CercaeSost(t;"<A>";"");
t=CercaeSost(t;"<B>";"");
t=CercaeSost(t;"<C>";"")
];
not evuoto(t)
)

Re: ContaRicorrenze

Inviato: sabato 5 ottobre 2024, 16:08
da gilfor
Buongiorno Alessandro e grazie per il supporto. Ho modificato secondo le tue indicazioni, ma purtroppo in tutti i record, nel campo "Altro" mi indica sempre il valore "1", anche se un solo campo ha una descrizione diversa da quelle pre-impostate nell'elenco. Ho cercato di semplificare nella richiesta precedente, ma effettivamente le qualifiche pre-impostate sono 9, come da allegato, ed una libera. In questo caso, cambiano le tue indicazioni?
Grazie mille per l'aiuto.

Re: ContaRicorrenze

Inviato: lunedì 7 ottobre 2024, 18:35
da Alessandro.Airoldi
Buonasera
mi potresti far vedere la formula completa che hai messo nel campo "Qualifica Altro"?

Altra domanda (perchè forse non ho capito bene): è possibile che in un record ci sia più di una risposta libera, e quindi tu per quel record vorresti sapere (in "Qualifica Altro") quante risposte libere sono state date?

Re: ContaRicorrenze

Inviato: lunedì 7 ottobre 2024, 19:39
da gilfor
Buonasera Alessandro,
rinnovo i ringraziamenti per la disponibilità.
In un record c'è la possibilità di una sola risposta libera, magari insieme ad una o più delle risposte fisse.
L'impostazione della formula completa del campo "Qualifica altro" è la seguente (ho in pratica riprodotto ai nomi dei miei campi la tua formula) :
Dichiara(
[
t=CercaeSost(Qualifica;" Calcio a 5, ";" ");
t=CercaeSost(t;" Allenatore licenza D, ";" ");
t=CercaeSost(t;" Nessuna qualifica Uefa, ";" ");
t=CercaeSost(t;" Preparatore atletico professionista, ";" ");
t=CercaeSost(t;" Preparatore atletico di settore giovanile (conseguito in seguito a master specifico), ";" ");
t=CercaeSost(t;" UEFA A, ";" ");
t=CercaeSost(t;" UEFA B, ";" ");
t=CercaeSost(t;" UEFA C, ";" ");
t=CercaeSost(t;" Allenatore Uefa Pro, ";" ");
t=CercaeSost(t;" UEFA <A, ";">");
t=CercaeSost(t;" UEFA <B, ";">");
t=CercaeSost(t;" UEFA <C, ";">");
t=CercaeSost(t;" UEFA <A>, ";" ");
t=CercaeSost(t;" UEFA <B>, ";" ");
t=CercaeSost(t;" UEFA <C>, ";" ")
];
not EVuoto(t)
)