Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Anonymous
Not applicable

How to Capitalize only the Initial letters in DAX

I have an Existing Column in the Model with Datatype TEXT. I need to create a Calculated Column with Intial Letter as Capital... Is that possible in DAX...? If so How to do that...?

I have row like : "JUST for An example"   ---- Need not to be only 4 words, they might be in between 1 and 6

I need the row to be look like this : "Just For An Example"... I want Intial letter of every word to be Capital....

 

10 REPLIES 10
Ahmedx
Super User
Super User

Based on your description, I created data to reproduce your scenario. The pbix file is attached in the end.
https://1drv.ms/u/s!AiUZ0Ws7G26Rh3tzJxjI9HhvZjDF?e=UjDUjZ

Screen Capture #1075.png

JulioGadioli
Frequent Visitor

This work for my: Thanks @Anonymous 

your way not possible to convert text to number, on the finish is better get only 2 letters, below full code for calendar table:

>> "MêsCurto", UPPER(LEFT(FORMAT([date],"MMM"),1)) & right(FORMAT([date],"MMM"), 2),

 

dCalendario = 
var dataminima1 = FIRSTDATE(Table[Data transação])
var dataminima2 = FIRSTDATE(Table[Data Vencimento])
var dataminima3 = FIRSTDATE(Table[Data pagamento])
var dataminima4 = FIRSTDATE(Table[Competência])
var datamin1 = MIN(dataminima1,dataminima2)
var datamin2 = MIN(dataminima3, dataminima4)
var datamin = MIN(datamin1,datamin2)
--
var datamaxima1 = LASTDATE(Table[Data transação])
var datamaxima2 = LASTDATE(Table[Data Vencimento])
var datamaxima3 = LASTDATE(Table[Data pagamento])
var datamaxima4 = LASTDATE(Table[Competência])
var datamax1 = MAX(datamaxima1,datamaxima2)
var datamax2 = MAX(datamaxima2, datamaxima3)
var datamax = MAX(datamax1,datamax2)

return

ADDCOLUMNS (CALENDAR(datamin, datamax),
"Data", FORMAT ( [date], "DD/MM/YYYY" ),
"Dia", FORMAT ( [date], "DD" ),
"Mês", FORMAT ( [date], "MM" ),
"DateAsInteger", FORMAT ( [date], "YYYYMMDD" ),
"Ano", YEAR ( [date] ), "MonthNo",  FORMAT ( [date], "MM" ), 
"AnoMesNum", FORMAT ( [date], "YYYY/MM" ), 
"AnoMes", FORMAT ( [date], "YYYY/mmm" ), 
"MêsCurto", UPPER(LEFT(FORMAT([date],"MMM"),1)) & right(FORMAT([date],"MMM"), 2),
"MêsLongo",  FORMAT ( [date], "mmmm" ), 
"SemanaNum", WEEKDAY ( [date] ), 
"SemanaDia", FORMAT ( [date], "dddd" ), 
"SemanaDiaCurto", FORMAT ( [date], "ddd" ), 
"Trimestre", "T" & FORMAT ( [date], "Q" ), 
"AnoTrimestre", FORMAT ( [date], "YYYY" ) & "/T" & FORMAT ( [date], "Q" ))

 

Rygaard
Resolver I
Resolver I

you cant do that in 1 operation

1) Lowercase all

2) split column by 1 characther (only 1 split)

3) Capital all in first colum (containing only 1 char)

4) merg the two columns

kankas3
Regular Visitor

You have to use some workaround solution. When you have this kind of requirement, break that into smaller pieces and resolve those pieces one by one. Ultimately you can consolidate those solutions to get your final answer. 

 

Selected Month is like "FY23 M04 AUG" (Financial Month). So, this variable has "JAN", "FEB" but following DAX change "JAN" as "Jan", "FEB" as "Feb" etc...

 

Concatenate( Left(Right(_Selected_Month, 3 ),1),
Concatenate( Lower(Right(Right(_Selected_Month, 3 ),2)),
 
var _Consolidate_Report_Heading =
Concatenate( "Macro & Micro Metrics - Supplier ( ",
Concatenate( Left(Right(_Selected_Month, 3 ),1),
Concatenate( Lower(Right(Right(_Selected_Month, 3 ),2)),
Concatenate( " MOR snapshot ) as of ",
Calculate( Max( 'Last Refreshed Date'[Date Last Refreshed] ))))))
Anonymous
Not applicable

Try this out:

 

 

UPPER(LEFT([your_string];1)) & right([your_string]; len([your_string])-1)
Anonymous
Not applicable

I don't think this question was answered properly according to the title of the question (in DAX, not in PowerrBi user interface). 

 

I am using measure and would like to capitalize the word, but UPPER function makes all the letter in the word capital.  

 

What is the proper way to capitalize a single word (not values in a column) using DAX language in PowerBi? 

Anonymous
Not applicable

Hi @Anonymous,

 

Why not use Power Query / M to do this task? There is a quick and simple way to achieve that by using lowercase + Capitalize Each Word transformations.

 

Format transformations in Power QueryFormat transformations in Power Query

 

HTH,

Pawel

Anonymous
Not applicable

I am importing the table directly from SQL Server to SSAS Tabular model and then to Live connected Power BI so I have to Capitalise Initials in SSAS tabular model by using DAX...


@Anonymous wrote:

I am importing the table directly from SQL Server to SSAS Tabular model and then to Live connected Power BI so I have to Capitalise Initials in SSAS tabular model by using DAX...


@Anonymous

AFAIK, there's no such existing function to do that in DAX. You may do the trick when importing from SQL Server via T-SQL. See some this demo and this.

Anonymous
Not applicable

Thanks... 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.