Basic DAX Functions

  • Learn essential DAX functions to perform calculations in Power BI.
  • Aggregation Functions

    Aggregation functions summarize data across rows.

    SUM()

    Calculates total of a numeric column.

    Syntax:

Total Sales = SUM(Sales[SalesAmount])
  • Example:

    SalesAmount

    1000

    2000

    1500

    Total Sales → 4500

  • COUNT()

    Counts number of rows in a column (ignores blanks).

    Syntax:

Order Count = COUNT(Sales[OrderID])
  • AVERAGE()

    Calculates average of numeric column.

    Syntax:

Average Sales = AVERAGE(Sales[SalesAmount])
  • Example:

    SalesAmount

    1000

    2000

    1500

    Average Sales → 1500


    Logical Function

    Logical functions help create conditions.

    IF()

    Checks a condition and returns value based on TRUE/FALSE.

    Syntax:

Sales Category = 
IF(Sales[SalesAmount] > 1000, "High", "Low")
  • Example:

    SalesAmount

    Sales Category

    500

    Low

    1500

    High



    Context Function

    CALCULATE()

    Most important DAX function. Changes filter context of a measure.

    Syntax:

Total Sales Gujarat = 
CALCULATE(SUM(Sales[SalesAmount]), Sales[Region] = "Gujarat")
    • SUM(Sales[SalesAmount]) → Calculation

    • Sales[Region] = "Gujarat" → Filter applied

      Example:
      Total sales for Gujarat only, ignoring other regions.

      Why CALCULATE() is Important

      • Allows dynamic measures

      • Supports multiple conditions

      • Key for time intelligence functions (YTD, MTD, YOY)

      Example with multiple filters:

    High Value Gujarat Sales =
    CALCULATE(
        SUM(Sales[SalesAmount]), 
        Sales[Region] = "Gujarat",
        Sales[SalesAmount] > 1000
    )
    • Quick Reference Table


      Function

      Type

      Example

      Purpose

      SUM()

      Aggregation

      SUM(Sales[Amount])

      Total of column

      COUNT()

      Aggregation

      COUNT(Sales[OrderID])

      Count rows

      AVERAGE()

      Aggregation

      AVERAGE(Sales[Amount])

      Average value

      IF()

      Logical

      IF(Sales>1000,"High","Low")

      Conditional logic

      CALCULATE()

      Context

      CALCULATE(SUM(Sales),Region="Gujarat")

      Change filter context