#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
Module 5
8 min read

Basic DAX Functions

Learn essential DAX functions for everyday analysis

DAX Function Categories

DAX Functions Overview

DAX functions are organized into categories. Here are the essential ones you'll use daily.

Text Functions

Text Functions

FunctionPurposeExample
&Join text[First] & " " & [Last]
LEFTFirst N charsLEFT([Code], 3)
RIGHTLast N charsRIGHT([Code], 2)
UPPERUppercaseUPPER([Name])
LOWERLowercaseLOWER([Name])
TRIMRemove spacesTRIM([Name])
LENText lengthLEN([Name])

Example - Full Name:

FullName = TRIM([FirstName]) & " " & TRIM([LastName])

Date Functions

Date Functions

FunctionPurposeExample
TODAYCurrent dateTODAY()
NOWCurrent datetimeNOW()
YEARExtract yearYEAR([Date])
MONTHExtract monthMONTH([Date])
DAYExtract dayDAY([Date])
QUARTERGet quarterQUARTER([Date])
DATEDIFFDays betweenDATEDIFF([Start], [End], DAY)

Example - Age Calculation:

Age = DATEDIFF([BirthDate], TODAY(), YEAR)

Logical Functions

Logical Functions

IF

Status = IF([Amount] >= 1000, "High", "Low")

SWITCH (Better than nested IF)

Tier = SWITCH(
    TRUE(),
    [Amount] >= 5000, "Gold",
    [Amount] >= 1000, "Silver",
    "Bronze"
)

AND / OR

Eligible = IF(AND([Age] >= 18, [Score] >= 70), "Yes", "No")

Math Functions

Math Functions

FunctionPurposeExample
ROUNDRound numberROUND([Value], 2)
ABSAbsolute valueABS([Number])
MODRemainderMOD([Num], 3)
POWERPower ofPOWER([Num], 2)
SQRTSquare rootSQRT([Num])

Iterator Functions (X Functions)

Iterator Functions

These loop through each row and calculate:

FunctionPurposeExample
SUMXSum of expressionSUMX(Sales, [Qty] * [Price])
AVERAGEXAverage of expressionAVERAGEX(Sales, [Rev] - [Cost])
COUNTXCount expressionCOUNTX(Sales, [Amount])
MAXXMax of expressionMAXX(Sales, [Rev] - [Cost])
MINXMin of expressionMINX(Sales, [Rev] - [Cost])

When to use X functions:

// When you need row-level calculation first
Total = SUMX(Sales, Sales[Quantity] * Sales[Price])

Filter Functions

Filter Functions

FILTER

Big Orders = COUNTROWS(FILTER(Sales, Sales[Amount] >= 1000))

ALL (Remove filters)

% of Total = DIVIDE(
    [Total Sales],
    CALCULATE([Total Sales], ALL(Sales))
)

RELATED (Get from related table)

Category = RELATED(Products[Category])

Quick Reference Card

Quick Reference

CategoryMost Used
AggregationSUM, AVERAGE, COUNT, DISTINCTCOUNT
Text&, LEFT, UPPER, TRIM
DateYEAR, MONTH, DATEDIFF, TODAY
LogicIF, SWITCH, AND, OR
FilterFILTER, ALL, CALCULATE
IteratorSUMX, AVERAGEX, COUNTX
RelationshipRELATED, RELATEDTABLE

Real-World Examples

1. Customer Full Name:

FullName = UPPER([FirstName]) & " " & PROPER([LastName])

2. Days Since Order:

DaysSince = DATEDIFF([OrderDate], TODAY(), DAY)

3. Profit with Safe Division:

Margin % = DIVIDE([Revenue] - [Cost], [Revenue], 0)

4. Conditional Sum:

Premium Sales = SUMX(
    FILTER(Sales, [Amount] >= 1000),
    [Amount]
)

Start with SUM, IF, and CALCULATE. Add more functions as you need them. Practice makes perfect!