Mijn Communities
Help
Astrid Mulder
CHAMPION *

Voorletters met punt

door Astrid Mulder
Status: Nieuw

Bij ons is de wens om een aparte kolom te hebben met voorletters met punt bij persoon. 

 

Weet iemand een correcte berekende veld of is dit ook mogelijk om standaard kolom op te nemen in tabel van de persoon. We gebruiken dit nog wel eens. 

7 Opmerkingen
ZGV-Louis
CHAMPION **
door ZGV-Louis (Bijgewerkt ‎24-04-2025 08:36 door ZGV-Louis )

Deze gebruiken wij om puntjes tussen de voorletters te zetten.

 

VOORLETTERS PUNTEN TUSSEN ZETTEN VOOR BRIEF

var t = v_P00303#;

var q = t.length

if(q==1){var a = t.charAt(0);var f = [a]; } else

if(q==2){var a = t.charAt(0);var b = t.charAt(1);var f = [ a,b]; } else

if(q==3){var a = t.charAt(0); var b = t.charAt(1); var c = t.charAt(2);var f = [ a,b,c]; } else

if(q==4){var a = t.charAt(0)

var b = t.charAt(1);

var c = t.charAt(2);

var d = t.charAt(3);

var e = t.charAt(4);

var f = [ a,b,c,d];} else {var a = t.charAt(0)

var b = t.charAt(1)

var c = t.charAt(2);

var d = t.charAt(3);

var e = t.charAt(4);var f = [ a,b,c,d,e];}

var x=f.join(".");

var y=["."];

var z =x.concat(y);

return(z);

karl Wegner
ACTIVE CONTRIBUTOR *
door karl Wegner

@ZGV-Lois, De vraag gaat volgens mij over Youforce Reporting en dan hebben we het over een Dax-expressie maken via Power BI Desktop. Volgens mij is de oplossing die jij beschrijft niet een Dax-expressie. Is dit niet iets wat in Self Service wordt gebruikt? 

ZGV-Louis
CHAMPION **
door ZGV-Louis

@karl Wegner Ja is voor Self Service. Nu zie ik dat dit voor Youforce Reporting is. Sorry.

Arjan vR
CONTRIBUTOR ***
door Arjan vR

@ZGV-Louis 

De code die je hebt geplaatst gaat de mist in voor personen met meer dan vijf voorletters.

Met onderstaande code gaat het wel goed. Daarnaast verwijdert het eerst punten uit P00303 voor het geval dat er per ongeluk punten zijn ingevoerd.

t=v_P00303#.replace(/\./g,'');
l=t.length;
r='';
for ( i = 0; i < l; i++ ) { r += t[i] + '.'; }
return(r);

 

ZGV-Louis
CHAMPION **
door ZGV-Louis

@Arjan vR  super bedankt, ik neem deze mee. Maar het de oorspronkelijk vraag was bedoelt voor Youforce reporting.

Arjan vR
CONTRIBUTOR ***
door Arjan vR (Bijgewerkt ‎26-04-2025 20:38 door Arjan vR )

@Astrid Mulder 

Dit kan je doen door een berekend veld toe te voegen met de volgende instellingen:

Naam: Initialen met punten

Entiteit: Person

Type: Berekende kolom

Berekend veld (DAX expressie):

VAR initialen = SUBSTITUTE('Person'[Initials], ".", "")
VAR lengte = LEN(initialen)
RETURN (IF(lengte>=1, MID(initialen, 1, 1) & ".")
& IF(lengte>=2, MID(initialen, 2, 1) & ".")
& IF(lengte>=3, MID(initialen, 3, 1) & ".")
& IF(lengte>=4, MID(initialen, 4, 1) & ".")
& IF(lengte>=5, MID(initialen, 5, 1) & ".")
& IF(lengte>=6, MID(initialen, 6, 1) & "."))

Dit werkt tot en met zes voorletters. Dat is gelijk aan de hoeveelheid voorletters dat rubriek P00303 kan bevatten. Het verwijdert eerst de al eventueel aanwezige punten in de initialen. Bij ons komt dat (nog) sporadisch voor.

In de rapportage kan je dan het veld dat staat onder "Persoon > _Berekende velden" toevoegen.

Astrid Mulder
CHAMPION *
door Astrid Mulder

@Arjan vR bedankt. Hier is mijn organisatie blij mee.