Unfortunately there is no function for that in Tableau (similar to =Proper() in excel) however we can do a workaround.
Example data:

If we only have one word in each string (One word only), we can use:
UPPER(LEFT([ENTIDAD_FEDERATIVA],1)) + LOWER(MID([ENTIDAD_FEDERATIVA], 2, LEN([ENTIDAD_FEDERATIVA]) -1))
But since we have more words we need the split the string and perform the above logic to each word.
We start with the strings that have most words.
Third word will have the formula (split string and take the third occurrence SPLIT([ENTIDAD_FEDERATIVA], " ",3):
UPPER(LEFT(SPLIT([ENTIDAD_FEDERATIVA], " ",3),1)) + LOWER(MID(SPLIT([ENTIDAD_FEDERATIVA], " ",3), 2, LEN(SPLIT([ENTIDAD_FEDERATIVA], " ",3)) -1))
Everywhere when no third word is found it will return a "Null" value.
Therefore we wrap the formula in IFNULL(<expr1>,<expr2>)
Where <expr1> will be all the words (first word + second word + third word) since we want to return the full string. For the <expr2> aka "Null" values, we do the same, but now we go for Second word.
Second word formula (we change which word we should return in the split function, SPLIT([ENTIDAD_FEDERATIVA], " ",2):
UPPER(LEFT(SPLIT([ENTIDAD_FEDERATIVA], " ",2),1)) + LOWER(MID(SPLIT([ENTIDAD_FEDERATIVA], " ",2), 2, LEN(SPLIT([ENTIDAD_FEDERATIVA], " ",2)) -1)),
With this logic we can extend this to 7 or 10 or how many words we might have in a "cell".
For three words the complete calculated field (Calculation4) will look like:
// Third word:
IFNULL(
UPPER(LEFT(SPLIT([ENTIDAD_FEDERATIVA], " ",1),1)) + LOWER(MID(SPLIT([ENTIDAD_FEDERATIVA], " ",1), 2, LEN(SPLIT([ENTIDAD_FEDERATIVA], " ",1)) -1))
+ " " +
UPPER(LEFT(SPLIT([ENTIDAD_FEDERATIVA], " ",2),1)) + LOWER(MID(SPLIT([ENTIDAD_FEDERATIVA], " ",2), 2, LEN(SPLIT([ENTIDAD_FEDERATIVA], " ",2)) -1))
+ " " +
UPPER(LEFT(SPLIT([ENTIDAD_FEDERATIVA], " ",3),1)) + LOWER(MID(SPLIT([ENTIDAD_FEDERATIVA], " ",3), 2, LEN(SPLIT([ENTIDAD_FEDERATIVA], " ",3)) -1)),
// Second word:
IFNULL(
UPPER(LEFT(SPLIT([ENTIDAD_FEDERATIVA], " ",1),1)) + LOWER(MID(SPLIT([ENTIDAD_FEDERATIVA], " ",1), 2, LEN(SPLIT([ENTIDAD_FEDERATIVA], " ",1)) -1))
+ " " +
UPPER(LEFT(SPLIT([ENTIDAD_FEDERATIVA], " ",2),1)) + LOWER(MID(SPLIT([ENTIDAD_FEDERATIVA], " ",2), 2, LEN(SPLIT([ENTIDAD_FEDERATIVA], " ",2)) -1)),
// First word:
UPPER(LEFT(SPLIT([ENTIDAD_FEDERATIVA], " ",1),1)) + LOWER(MID(SPLIT([ENTIDAD_FEDERATIVA], " ",1), 2, LEN(SPLIT([ENTIDAD_FEDERATIVA], " ",1)) -1))))