Estrarre valori numerici da campo testo

0
0

Buongiorno,

da un gestionale aziendale, da una tabella Listino/sconto, devo estrarre da un campo formattato come testo, i singoli valori dello sconto applicato, che è stato inserito nel seguente modo :

Sconto 1 + Sconto 2 + Sconto 3 ( il 2 e il 3 non sempre presenti)

mi ritrovo quindi dei campi con valori tipo : 50+10 o 50+3 o 3+10+2

e vorrei capire qual'è l'approccio migliore. D'acchito mi verrebbe da creare uno script che :

  • conta il numero di caratteri presenti
  • con le funzioni Sinistra e Mezzo preleva i valori diversi dal carattere "+"

La domanda é : è l'approccio giusto o esiste una funzione in filemaker che individua e riconosce i numeri dai caratteri ?

Ringrazio anticipatamente per soluzioni o strategie alternative

A.Trudu

RISOLTA
Marked as spam
Pubblicato da Antonio Trudu (Domande: 9, Risposte: 15)
9 Gennaio 2019 10:16
54 visti
0
Risposta privata

Avendo 4 campi distinti e separati, puoi provare ad unire il totale in questo modo :

SELECT DSUM(sconto1+sconto2+sconto3+sconto4...) AS TOTALE_SCONTO

 

Marked as spam
Pubblicato da Luca De Simone (Domande: 2, Risposte: 26)
9 Gennaio 2019 10:53
0
Risposta privata

il campo SCONTOTXT che contiene il valore dello sconto (50+12+10) è uno solo ed è in formato testo. Lo scopo è proprio quello di popolare dei nuovi campi numerici (sconto1 - sconto2 - sconto3) prelevando i singoli valori numerici presenti in SCONTOTXT

Marked as spam
Pubblicato da Antonio Trudu (Domande: 9, Risposte: 15)
9 Gennaio 2019 11:26
0
Risposta privata

Buongiorno, Antonio.

Il modo poù semplice è convertire i + in a capo, per poi ricavare una riga specifica con valoriinmezzo, eliminando l’acapo finale. Te la cavi con un dichiara e tre righe di calcolo.  🙂

facci sapere!

.g.

Marked as spam
Pubblicato da Giulio Villani (Domande: 0, Risposte: 1480)
9 Gennaio 2019 12:41
0
Risposta privata

Perfetto Giulio,

ho creato un campo in cui ci incollo il risultato CercaeSost ( ScontoTXT ; "+" ; "¶" ) e poi ho creato i miei campo calcolato numerico SCONTO 1 2 e 3 con il calcolo ValoriInMezzo.

Mille grazie

Marked as spam
Pubblicato da Antonio Trudu (Domande: 9, Risposte: 15)
9 Gennaio 2019 18:12
0
Risposta privata

Perfetto Giulio,

ho creato un campo in cui ci incollo il risultato CercaeSost ( ScontoTXT ; "+" ; "¶" ) e poi ho creato i miei campo calcolato numerico SCONTO 1 2 e 3 con il calcolo ValoriInMezzo.

Mille grazie

Marked as spam
Pubblicato da Antonio Trudu (Domande: 9, Risposte: 15)
9 Gennaio 2019 18:12
0
Risposta privata

Perchè complicarsi la vita così?

Se sei nello stesso formato, i tre campi (Sconto1, Sconto2 e Sconto3) li definisci come campi calcolati (o come numeri con valore calcolato e sostituisci il valore esistente se vuoi lasciare quei campi modificabili) e come calcolo per ogni campo inserisci:

RicavaValore ( CercaeSost ( sconti_in_testo; "+"; ¶ ); 1 )  per il campo 1

RicavaValore ( CercaeSost ( sconti_in_testo; "+"; ¶ ); 2 )  per il campo 2

RicavaValore ( CercaeSost ( sconti_in_testo; "+"; ¶ ); 3 )  per il campo 3

dopodichè il calcolo che dovrai fare per considerare gli sconti (indipendentemente che siano stati valorizzati o meno) è:

(Valore_da_Scontare)*((100-Sconto1)/100)*((100-Sconto2)/100)*((100-Sconto3)/100)

in questo modo anche se gli sconti non dovessero essere valorizzati, il conto torna sempre.

Anche perchè uno sconto del tipo 50+10+5 NON E' uno sconto del 65%, bensì uno sconto del 50% il cui valore finale viene scontato del 10% il cui valore finale viene scontato del 5%. Ovvero in caso di 100 in partenza: 50% di sconto su 100 = 50 -> 10% di sconto su 50 = 45 - > 5% di sconto su 45 = 42,75 che ovviamente non sono i 65% su 100 = 35. Una notevole differenza!

Se mi sono sbagliato chiedo scusa e attendo correzioni

Marked as spam
Pubblicato da Daniele Biondo (Domande: 1, Risposte: 7)
25 Gennaio 2019 0:06