> For the complete documentation index, see [llms.txt](https://concentra-analytics.gitbook.io/working-with-data/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://concentra-analytics.gitbook.io/working-with-data/strings/upper_case.md).

# Upper/Lower Case

Converts a string to all uppercase, all lowercase, or proper case (where the first letter of each word is capitalised).

## Excel

* **Upper:** =\~UPPER!\~(‹string›) <br>
* **Lower:** =\~LOWER!\~(‹string›) <br>
* **Proper:** =\~PROPER!\~(‹string›)

```
=UPPER(A1) // "Main1234" -> "MAIN1234"
```

```
=LOWER(A2) // "Id0001" -> "id0001"
```

```
=PROPER(A3) // "DIV HR OPS" -> "Div Hr Ops"
```

## Tableau

* **Upper:** \~UPPER!\~(‹string›) <br>
* **Lower:** \~LOWER!\~(‹string›)

```
UPPER([Cost Centre]) // "Main1234" -> "MAIN1234"
```

```
LOWER([ID code]) // "Id0001" -> "id0001"
```

NB. Proper/Title case is not available as a standard calculation in Tableau. The only workaround (other than manipulating the data at source, which is preferable) is to split out the value using space characters as delimiters, slice the first character from each string and convert it to upper case, then recombine all string fragments:

```
IFNULL(UPPER(LEFT([Name],1)) + LOWER(MID([Name],2,FINDNTH([Name]," ",1)-1))
+ UPPER(MID([Name],FINDNTH([Name]," ",1)+1,1)) + LOWER(MID([Name],FINDNTH([Name]," ",1)+2,LEN([Name]))),"")
```

## Alteryx

**Upper:** \~UPPERCASE!\~(‹string›) \
&#x20;**Lower:** \~LOWERCASE!\~(‹string›) \
&#x20;**Proper:** \~TITLECASE!\~(‹string›)

```
UPPERCASE([Cost Centre]) // "Main1234" -> "MAIN1234"
```

```
LOWERCASE([ID code]) // "Id0001" -> "id0001"
```

```
TITLECASE([Business Unit]) // "DIV HR OPS" -> "Div Hr Ops"
```

## OrgVue

* **Upper:** ‹string›.value.\~toUpperCase()!\~ <br>
* **Lower:** ‹string›.value.\~toLowerCase()!\~

```
node.costcentre.value.toUpperCase() // "Main1234" -> "MAIN1234"
```

```
node.id.value.toLowerCase() // "Id0001" -> "id0001"
```

NB. Proper/Title case is not available as a standard calculation in OrgVue. The only workaround (other than manipulating the data at source, which is preferable) is to split out the value using space characters as delimiters, slice the first character from each string and convert it to upper case, then recombine all string fragments.

```
array(node.name.value.split(' '))
    .map(i=>[
            i.value.slice(0,1).toUpperCase(),
            i.value.slice(1).toLowerCase()
        ].join(''))
    .join(' ')
```

## tSQL

* **Upper:** \~UPPER!\~(‹string›) OR \~UCASE!\~(‹string›) <br>
* **Lower:** \~LOWER!\~(‹string›) OR \~LCASE!\~(‹string›)

```
SELECT UPPER(CostCentre) AS CostCode
FROM ProductsData
```

```
SELECT LOWER(ID) AS Identifier
FROM OrdersData
```

## Python

* **Upper:** ‹string›.\~upper()!\~ <br>
* **Lower:** ‹string›.\~lower()!\~ <br>
* **Proper:** ‹string›.\~title()!\~

```
costCentre.upper() # "Main1234" -> "MAIN1234"
```

```
id.lower() # "Id0001" -> "id0001"
```

```
businessUnit.title() # "DIV HR OPS" -> "Div Hr Ops"
```

NB. The above examples assume variables have been declared for `costCentre`, `id` and `businessUnit`. For more information, go to [General > Variables](https://orgvue.gitbooks.io/formula-translator/content/general/variables.html).
