top of page

Power BI for Business Intelligence DAX Functions


Maths & Statistical Functions

SUM(<column>) Adds all the numbers in a column.

SUMX(<table>, <expression>) Returns the sum of an expression evaluated for each row in a table.

AVERAGE(<column>) Returns the average (arithmetic mean) of all the numbers in a column.

AVERAGEX(<table>, <expression>) Calculates the average (arithmetic mean) of a set of expressions evaluated over a table.

MEDIAN(<column>) Returns the median of a column.

MEDIANX(<table>, <expression>) Calculates the median of a set of expressions evaluated over a table.

GEOMEAN(<column>) Calculates the geometric mean of a column.

GEOMEANX(<table>, <expression>) Calculates the geometric mean of a set of expressions evaluated over a table.

COUNT(<column>) Returns the number of cells in a column that contains non-blank values.

COUNTX(<table>, <expression>) Counts the number of rows from an expression that evaluates to a non-blank value.

DIVIDE(<numerator>, <denominator> [,<alternateresult>]) Performs division and returns alternate result or BLANK() on division by 0.

MIN(<column>) Returns a minimum value of a column.

MAX(<column>) Returns a maximum value of a column.

COUNTROWS([<table>]) Counts the number of rows in a table.

DISTINCTCOUNT(<column>) Counts the number of distinct values in a column.

RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]]) Returns the ranking of a number in a list of numbers for each row in the table argument.

Filter Functions

FILTER(<table>, <filter>) Returns a table that is a subset of another table or expression.

CALCULATE(<expression>[, <filter1> [, <filter2> [, …]]]) Evaluates an expression in a filter context.

HASONEVALUE(<columnName>) Returns TRUE when the context for columnName has been filtered down to one distinct value only. Otherwise, it is FALSE.

ALLNOBLANKROW(<table> | <column>[, <column>[, <column>[,…]]]) Returns a table that is a subset of another table or expression.

ALL([<table> | <column>[, <column>[, <column>[,…]]]]) Returns all the rows in a table, or all the values in a column, ignoring any filters that might have been applied.

ALLEXCEPT(<table>, <column>[, <column>[,..]]) Returns all the rows in a table except for those rows that are affected by the specified column filters.

REMOVEFILTERS([<table> | <column>][, <column>[, <column>[,…]]]]) Clear all filters from designated tables or columns.

Logical Functions

IF(<logical_test>, <value_if_true>[, <value_if_false>]) Checks a condition, and returns a certain value depending on whether it is true or false.

AND(<logical 1>, <logical 2>) Checks whether both arguments are TRUE, and returns TRUE if both arguments are TRUE. Otherwise, it returns FALSE.

OR(<logical 1>, <logical 2>) Checks whether one of the arguments is TRUE to return TRUE. The function returns FALSE if both arguments are FALSE.

NOT(<logical>) Changes TRUE to FALSE and vice versa.

SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>]) Evaluates an expression against a list of values and returns one of possible results

IFERROR(<value>, <value_if_error>) Returns value_if_error if the first expression is an error and the value of the expression itself otherwise.

Date & Time Functions

CALENDAR(<start_date>, <end_date>) Returns a table with a single column named "Date" that contains a contiguous set of dates.

DATE(<year>, <month>, <day>) Returns the specified date in datetime format.

DATEDIFF(<date_1>, <date_2>, <interval>) Returns the number of units between two dates as defined in <interval>.

DATEVALUE(<date_text>) Converts a date in text to a date in datetime format.

DAY(<date>) Returns a number from 1 to 31 representing the day of the month.

WEEKNUM(<date>) Returns weeknumber in the year.

MONTH(<date>) Returns a number from 1 to 12 representing a month.

QUARTER(<date>) Returns a number from 1 to 4 representing a quarter.

Time Intelligence Functions

DATEADD(<dates>, <number_of_intervals>, <interval>) Moves a date by a specific interval.

DATESBETWEEN(<dates>, <date_1>, <date_2>) Returns the dates between specified dates.

TOTALYTD(<expression>, <dates>[, <filter>][, <year_end_date>]) Evaluates the year-to-date value of the expression in the current context.

SAMEPERIODLASTYEAR(<dates>) Returns a table that contains a column of dates shifted one year back in time.

STARTOFMONTH(<dates>) // ENDOFMONTH(<dates>) Returns the start // end of the month.

STARTOFQUARTER(<dates>) // ENDOFQUARTER(<dates>) Returns the start // end of the quarter.

STARTOFYEAR(<dates>) // ENDOFYEAR(<dates>) Returns the start // end of the quarter.

Relationship Functions

CROSSFILTER(<left_column>, <right_column>, <crossfiltertype>) Specifies the cross-filtering direction to be used in a calculation.

RELATED(<column>) Returns a related value from another table.

Table Manipulation Functions

SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…) Returns a summary table for the requested totals over a set of groups.

DISTINCT(<table>) Returns a table by removing duplicate rows from another table or expression.

ADDCOLUMNS(<table>, <name>, <expression>[, <name>, <expression>]…) Adds calculated columns to the given table or table expression.

SELECTCOLUMNS(<table>, <name>, <expression>[, <name>, <expression>]…) Selects calculated columns from the given table or table expression.

GROUPBY(<table> [, <groupBy_columnName>[, [<column_name>] [<expression>]]…) Create a summary of the input table grouped by specific columns.

INTERSECT(<left_table>, <right_table>) Returns the rows of the left-side table that appear in the right-side table.

NATURALINNERJOIN(<left_table>, <right_table>) Joins two tables using an inner join.

NATURALLEFTOUTERJOIN(<left_table>, <right_table>) Joins two tables using a left outer join.

UNION(<table>, <table>[, <table> [,…]]) Returns the union of tables with matching columns.

Text Functions

EXACT(<text_1>, <text_2>) Checks if two strings are identical (EXACT() is case sensitive).

FIND(<text_tofind>, <in_text>) Returns the starting position a text within another text (FIND() is case sensitive).

FORMAT(<value>, <format>) Converts a value to a text in the specified number format.

LEFT(<text>, <num_chars>) Returns the number of characters from the start of a string.

RIGHT(<text>, <num_chars>) Returns the number of characters from the end of a string.

LEN(<text>) Returns the number of characters in a string of text.

LOWER(<text>) Converts all letters in a string to lowercase.

UPPER(<text>) Converts all letters in a string to uppercase.

TRIM(<text>) Remove all spaces from a text string.

CONCATENATE(<text_1>, <text_2>) Joins two strings together into one string.

SUBSTITUTE(<text>, <old_text>, <new_text>, <instance_num>) Replaces existing text with new text in a string.

REPLACE(<old_text>, <start_posotion>, <num_chars>, <new_text>) Replaces part of a string with a new string.

Information Functions

COLUMNSTATISTICS() Returns statistics regarding every column in every table. This function has no arguments.

NAMEOF(<value>) Returns the column or measure name of a value.

ISBLANK(<value>) // ISERROR(<value>) Returns whether the value is blank // an error.

ISLOGICAL(<value>) Checks whether a value is logical or not.

ISNUMBER(<value>) Checks whether a value is a number or not.

ISFILTERED(<table> | <column>) Returns true when there are direct filters on a column.

ISCROSSFILTERED(<table> | <column>) Returns true when there are crossfilters on a column.

USERPRINCIPALNAME() Returns the user principal name or email address. This function has no arguments.

DAX Statements

VAR(<name> = <expression>) Stores the result of an expression as a named variable. To return the variable, use RETURN after the variable is defined.

COLUMN(<table>[<column>] = <expression>) Stores the result of an expression as a column in a table.

ORDER BY(<table>[<column>]) Defines the sort order of a column. Every column can be sorted in ascending (ASC) or descending (DESC) way.

DAX Operators

Comparison operators Meaning

= Equal to

= = Strict equal to

> Great than

< Smaller than

> = Greater than or equal to

= < Smaller than or equal to

< > Not equal to

Text operator Meaning Example

& Concatenates text values Concatenates text values | [City]&", "&[State]

Logical operator Meaning Example

&& AND condition ([City] = "Bru") && ([Return] = "Yes"))

|| OR condition ([City] = "Bru") || ([Return] = "Yes"))

IN {} OR condition for each row Product[Color] IN {"Red", "Blue", "Gold"}

 
 
 

Son Yazılar

Hepsini Gör
Nedir Bu Sisense?

Giriş Modern iş dünyasında, veri yalnızca depolanması gereken bir kaynak değil; doğru analiz edildiğinde stratejik kararların temel...

 
 
 

Yorumlar


Bilişim Vadisi Teknopark
info@datamart.com.tr

Deniz Caddesi 
Muallimköy Tek. Gel. Bölgesi 1.Etap Sitesi 1.1.C1 Blok No:143/B İç Kapı No:Z101 
Gebze/Kocaeli

+90 532 499 81 08

Abone Olun

Teşekkürler!

Bizi takip edin

  • LinkedIn
  • Facebook
  • Twitter
bottom of page