{"id":1853,"date":"2026-09-01T12:53:52","date_gmt":"2026-09-01T12:53:52","guid":{"rendered":"https:\/\/entri.app\/explore\/?post_type=curriculum&#038;p=1853"},"modified":"2026-09-10T12:37:12","modified_gmt":"2026-09-10T12:37:12","slug":"dax-text-functions","status":"publish","type":"curriculum","link":"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/","title":{"rendered":"DAX Text Functions"},"content":{"rendered":"<h2>What Are DAX Text Functions in Power BI?<\/h2>\n<p>DAX text functions \u2014 CONCATENATE(), LEFT(), RIGHT(), UPPER(), and FORMAT() \u2014 manipulate and format text strings, letting you combine, trim, or reformat column values inside a calculated column or measure. They&#8217;re essential whenever raw data needs to be cleaned, standardized, or turned into readable labels for reports and visuals.<\/p>\n<h2>Common DAX Text Functions<\/h2>\n<ul>\n<li><strong>CONCATENATE():<\/strong> joins two text values into one string.<\/li>\n<li><strong>LEFT():<\/strong> returns a specified number of characters from the start of a text string.<\/li>\n<li><strong>RIGHT():<\/strong> returns a specified number of characters from the end of a text string.<\/li>\n<li><strong>MID():<\/strong> returns characters from the middle of a text string, given a starting position.<\/li>\n<li><strong>UPPER() \/ LOWER() \/ PROPER():<\/strong> convert a text string to uppercase, lowercase, or title case.<\/li>\n<li><strong>TRIM():<\/strong> removes extra spaces from text, leaving single spaces between words.<\/li>\n<li><strong>SUBSTITUTE():<\/strong> replaces existing text with new text, based on matching content.<\/li>\n<li><strong>FIND() \/ SEARCH():<\/strong> return the starting position of one text string within another.<\/li>\n<li><strong>FORMAT():<\/strong> converts a number or date into text using a specified format pattern.<\/li>\n<li><strong>LEN():<\/strong> returns the number of characters in a text string.<\/li>\n<\/ul>\n<h2>Formatting Numbers and Dates as Text with FORMAT()<\/h2>\n<p>FORMAT() is especially useful for building custom labels inside a visual \u2014 for example, FORMAT([Total Sales], &#8220;$#,##0&#8221;) turns a raw number into a ready-to-display currency string, or FORMAT([OrderDate], &#8220;MMM YYYY&#8221;) turns a date into a short month-year label.<\/p>\n<h2>Extracting Parts of a Text String with LEFT(), RIGHT(), and MID()<\/h2>\n<p>When data arrives in coded formats \u2014 like customer IDs, invoice numbers, or SKUs \u2014 LEFT(), RIGHT(), and MID() let you pull out just the piece you need. For example, MID([InvoiceCode], 4, 4) can extract a 4-digit year embedded inside a longer invoice code, without altering the original column.<\/p>\n<h2>Cleaning and Standardizing Text with TRIM(), UPPER(), and PROPER()<\/h2>\n<p>Imported data is rarely consistent \u2014 stray spaces, inconsistent capitalization, or mixed-case entries are common. TRIM() strips out extra whitespace, while UPPER(), LOWER(), and PROPER() standardize casing so values like &#8220;john SMITH &#8221; and &#8220;John Smith&#8221; are treated \u2014 and displayed \u2014 the same way.<\/p>\n<h2>Joining Text with CONCATENATE() and the &amp; Operator<\/h2>\n<p>CONCATENATE() joins two text values, but for combining more than two strings, the &amp; operator is simpler and more flexible:<\/p>\n<pre><code>FullName = Customers[FirstName] &amp; \" \" &amp; Customers[LastName]\r\n<\/code><\/pre>\n<p>For joining text across multiple rows of a table (rather than just columns), CONCATENATEX() is used instead \u2014 commonly seen when building a comma-separated list of selected items in a card visual.<\/p>\n<h2>Finding and Replacing Text with FIND(), SEARCH(), and SUBSTITUTE()<\/h2>\n<p>FIND() and SEARCH() locate the position of a character or substring within text \u2014 useful for splitting data, such as pulling a domain name out of an email address. SUBSTITUTE() then replaces matched text with new text, which is often used to clean up formatting inconsistencies, like removing dashes from phone numbers.<\/p>\n<h2>Why These Functions Matter<\/h2>\n<p>Mastering DAX text functions makes it possible to turn messy, inconsistent source data into clean, readable report elements \u2014 from dynamic titles that update based on slicer selections, to standardized customer names, to properly formatted currency and date labels throughout a Power BI report.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What Are DAX Text Functions in Power BI? DAX text functions \u2014 CONCATENATE(), LEFT(), RIGHT(), UPPER(), and FORMAT() \u2014 manipulate and format text strings, letting you combine, trim, or reformat column values inside a calculated column or measure. They&#8217;re essential whenever raw data needs to be cleaned, standardized, or turned into readable labels for reports [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"template":"","meta":{"_acf_changed":false},"curriculum-category":[90,101,91],"custom_linking_tags":[121],"class_list":["post-1853","curriculum","type-curriculum","status-publish","hentry","curriculum-category-power-bi","curriculum-category-power-bi-dax","curriculum-category-power-bi-tutorials","custom_linking_tags-dax-text-functions"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DAX Text Functions<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DAX Text Functions\" \/>\n<meta property=\"og:description\" content=\"What Are DAX Text Functions in Power BI? DAX text functions \u2014 CONCATENATE(), LEFT(), RIGHT(), UPPER(), and FORMAT() \u2014 manipulate and format text strings, letting you combine, trim, or reformat column values inside a calculated column or measure. They&#8217;re essential whenever raw data needs to be cleaned, standardized, or turned into readable labels for reports [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/\" \/>\n<meta property=\"og:site_name\" content=\"Entri Free Materials\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-10T12:37:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/\",\"url\":\"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/\",\"name\":\"DAX Text Functions\",\"isPartOf\":{\"@id\":\"https:\/\/entri.app\/explore\/#website\"},\"datePublished\":\"2026-09-01T12:53:52+00:00\",\"dateModified\":\"2026-09-10T12:37:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/entri.app\/explore\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DAX Text Functions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/entri.app\/explore\/#website\",\"url\":\"https:\/\/entri.app\/explore\/\",\"name\":\"Entri Free Materials\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/entri.app\/explore\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/entri.app\/explore\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/entri.app\/explore\/#organization\",\"name\":\"Entri Free Materials\",\"url\":\"https:\/\/entri.app\/explore\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/entri.app\/explore\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/wp-cdn.entri.app\/explore\/2025\/03\/logo.svg\",\"contentUrl\":\"https:\/\/wp-cdn.entri.app\/explore\/2025\/03\/logo.svg\",\"caption\":\"Entri Free Materials\"},\"image\":{\"@id\":\"https:\/\/entri.app\/explore\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DAX Text Functions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/","og_locale":"en_US","og_type":"article","og_title":"DAX Text Functions","og_description":"What Are DAX Text Functions in Power BI? DAX text functions \u2014 CONCATENATE(), LEFT(), RIGHT(), UPPER(), and FORMAT() \u2014 manipulate and format text strings, letting you combine, trim, or reformat column values inside a calculated column or measure. They&#8217;re essential whenever raw data needs to be cleaned, standardized, or turned into readable labels for reports [&hellip;]","og_url":"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/","og_site_name":"Entri Free Materials","article_modified_time":"2026-09-10T12:37:12+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/","url":"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/","name":"DAX Text Functions","isPartOf":{"@id":"https:\/\/entri.app\/explore\/#website"},"datePublished":"2026-09-01T12:53:52+00:00","dateModified":"2026-09-10T12:37:12+00:00","breadcrumb":{"@id":"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/entri.app\/explore\/power-bi\/dax-text-functions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/entri.app\/explore\/"},{"@type":"ListItem","position":2,"name":"DAX Text Functions"}]},{"@type":"WebSite","@id":"https:\/\/entri.app\/explore\/#website","url":"https:\/\/entri.app\/explore\/","name":"Entri Free Materials","description":"","publisher":{"@id":"https:\/\/entri.app\/explore\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/entri.app\/explore\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/entri.app\/explore\/#organization","name":"Entri Free Materials","url":"https:\/\/entri.app\/explore\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/entri.app\/explore\/#\/schema\/logo\/image\/","url":"https:\/\/wp-cdn.entri.app\/explore\/2025\/03\/logo.svg","contentUrl":"https:\/\/wp-cdn.entri.app\/explore\/2025\/03\/logo.svg","caption":"Entri Free Materials"},"image":{"@id":"https:\/\/entri.app\/explore\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/curriculum\/1853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/curriculum"}],"about":[{"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/types\/curriculum"}],"author":[{"embeddable":true,"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/users\/2"}],"wp:attachment":[{"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/media?parent=1853"}],"wp:term":[{"taxonomy":"curriculum-category","embeddable":true,"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/curriculum-category?post=1853"},{"taxonomy":"custom_linking_tags","embeddable":true,"href":"https:\/\/entri.app\/explore\/wp-json\/wp\/v2\/custom_linking_tags?post=1853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}