NullCount(Email)
NullCount, TextCount, NumericCount, MissingCount in Power BI
Qlik has separate counters for NULLs, text values, numbers, and "missing" values (NULL or text). DAX columns hold one data type, so most of these turn into COUNTBLANK, COUNT or COUNTROWS with a filter. Mixed-type checks belong in Power Query.
Short answer: NullCount(x) becomes COUNTBLANK(T[x]). Count(x) on a column is COUNT(T[x]) for non-blank values. TextCount and NumericCount only make sense before loading, so do them in Power Query with Value.Is.
What it does in Qlik
NullCount(expr)counts NULL values.TextCount(expr)counts values that are text.NumericCount(expr)counts numeric values.MissingCount(expr)counts values that are NULL or text, for example when a numeric field failed to parse.
Qlik example
NullCount(Email)
NumericCount(Amount)
MissingCount(Amount)Power BI equivalent
DAX
Customers without email = COUNTBLANK ( Customer[Email] )
Rows with amount = COUNT ( Sales[Amount] )
Rows without amount = COUNTROWS ( Sales ) - COUNT ( Sales[Amount] )Power Query profiling for mixed-type columns
= Table.AddColumn(Source, "AmountIsNumber",
each Value.Is(Value.FromText([Amount]), type number), type logical)Or turn on View > Column quality and Column distribution in the Power Query editor. They show valid, error and empty counts per column.
Gotchas and behaviour differences
COUNTBLANKalso counts empty strings""in a text column. Qlik's NullCount does not count empty strings, because''is a value in Qlik.- A DAX column has one type, so a numeric column can't hold text. Values that failed to convert in Power Query become errors and break the refresh unless you remove or replace them. That is the Power BI version of MissingCount.
Official documentation
- NullCount - chart function (Qlik Help)
- TextCount - chart function (Qlik Help)
- MissingCount - chart function (Qlik Help)
- COUNTBLANK function (DAX) (Microsoft Learn)
- Using the data profiling tools (Power Query) (Microsoft Learn)
Related pages
Null(), IsNull(), NullAsValue
NULL handling vs DAX BLANK and M null
Qlik NULL, DAX BLANK and Power Query null follow different arithmetic and comparison rules. This is one of the most common reasons migrated numbers do not reconcile.
Partial / different approach
Count(DISTINCT CustomerID)
Count, Count(DISTINCT) and counting key fields
Count(DISTINCT Field) maps to DISTINCTCOUNT. Watch out for blanks, for which table you count from, and for the Qlik habit of counting key fields.
Direct equivalent
Alt(Sales, 0)
Alt and Coalesce
Qlik Coalesce() and DAX COALESCE() both return the first argument that isn't NULL or BLANK. Alt() is different: it returns the first argument that has a valid number representation, so Alt('abc', 0) returns 0. DAX has no single function that skips text that way. Power Query uses the ?? operator.
Partial / different approach
Spotted an error or a better pattern? QlikToDax is maintained by a working BI consultant; corrections are welcome via the About page. Last reviewed 2026-10-25.