Pagina 1 di 1

Insert ( text ; separator )

Inviato: domenica 20 febbraio 2011, 14:25
da raybaudi
Let([
$i = $i + 1 ;
char = Middle ( text ; $i ; 1 )
];
Case(
$i < Length ( text ) ; char & separator & Insert ( text ; separator ) ;
Let( $i = "" ; Right ( text ; 1 ) )
)
)

Data la stringa di testo "FMPro.it", il risultato potrebbe essere:
con separator = " " : F M P r o . i t
con separator = ¶ :
F
M
P
r
o
.
i
t

C'è da notare che questo modo di scrivere una funzione personalizzata ( usando le $var ) consente di usarla SENZA avere la versione Advanced, applicando semplicemente quel tipo di calcolo ad un campo calcolato NON memorizzato*.

Ad esempio, se il campo origine si chiamasse: text ed il campo calcolato si chiamasse: TestoSpaziato, potremmo scrivergli nel suo stesso calcolo:

Let([
$i = $i + 1 ;
char = Middle ( text ; $i ; 1 )
];
Case(
$i < Length ( text ) ; char & " " & TestoSpaziato ;
Let( $i = "" ; Right ( text ; 1 ) )
)
)

* con la limitazione di 356 ricursioni

Re: Insert ( text ; separator )

Inviato: domenica 20 febbraio 2011, 16:30
da moro
Buona funzione spero potrà essermi utile in futuro.
A livello di prestazione e limitazione ricursioni sempre meglio utilizzarla in una funzione personalizzata ottimo però dare un'alternativa a chi non ha la versione advacend.