Skip to main content

IsBlank vs IsEmpty in Power Apps (and the Blank Function)

· 4 min read
Jagdish Kumawat
Founder @ Dewiride

"Is there anything there?" sounds like one question, but Power Apps answers it with two functions. IsBlank checks a single value or record. IsEmpty checks whether a table has any rows. Use the wrong one and the answer is always false. Here's the difference, with real results, plus Blank(), which creates the "nothing" they test for.

The Short Version​

You haveAskFunction
A value: text, number, date, a recordIs it missing?IsBlank
A table: rows from a list, a connector or a filterDoes it have rows?IsEmpty

From Microsoft's reference:

  • IsBlank is true for a blank value and for an empty string "".
  • IsBlank treats an empty table as not blank, so it's the wrong test for tables.
  • IsEmpty is the same as checking that CountRows is zero.

Prerequisites​

  • A canvas app with a Text control to try formulas in. The example uses the Career Development Plan app's Home screen, from Part 4 of the series, and two of its named formulas: MyManager, a record, and MyDirectReports, a table.

IsBlank: Is the Value Missing?​

In the example, the signed-in admin has no manager, so MyManager is blank:

Text control → Text
IsBlank(MyManager)

The formula bar with IsBlank(MyManager), the preview strip reading IsBlank(MyManager) = true with Data type boolean

The app uses it to choose what to show:

lblManagerHS → Text
If(
IsBlank(MyManager),
"Your Microsoft 365 profile has no manager, so nobody can review your responses yet. Ask your IT admin to add one.",
"Manager: " & MyManager.displayName
)

IsEmpty: Does the Table Have Rows?​

MyDirectReports is a table of the people who report to the admin; it has one row:

Text control → Text
IsEmpty(MyDirectReports)

The formula bar with IsEmpty(MyDirectReports), the preview strip reading IsEmpty(MyDirectReports) = false with Data type boolean

"Is this person a manager?" is "is their direct reports table not empty?":

App → Formulas
IsManager = !IsEmpty(MyDirectReports);

See How to Use Not in Power Apps.

Blank(): Making Nothing on Purpose​

Blank() returns a blank value. The example uses it twice:

Microsoft also notes you can use it to clear a field in a data source that supports empty values.

Common Mistakes​

MistakeWhat happensDo this instead
IsBlank(SomeTable)Always false, even with no rowsIsEmpty(SomeTable)
IsEmpty(SomeText)An error: it needs a tableIsBlank(SomeText)
Testing = "" for missing textMisses blank valuesIsBlank covers both

Troubleshooting​

SymptomLikely causeFix
A "no data" message never showsIsBlank on a tableUse IsEmpty
IsBlank is true for text that looks fineIt's an empty string ""Expected: IsBlank counts "" as blank
Need blank or an errorErrors aren't blankUse IsBlankOrError, or IfError first

FAQ​

Is a blank record the same as an empty table?​

No. A record is one value, tested with IsBlank. A table is a set of rows, tested with IsEmpty.

How do I replace a blank with a default?​

Use Coalesce; see How to Replace Blank Values in Power Apps with Coalesce.

What about delegation with IsBlank in filters?​

Some data sources can't delegate IsBlank inside Filter. Check your data source's delegation list before using it on large lists.

Conclusion​

IsBlank for values and records, IsEmpty for tables, and Blank() when you need "nothing" on purpose. Pick by what you're testing, and the answers come out right.

Additional Resources​

Stay Updated

Subscribe to our newsletter for the latest tutorials, tech insights, and developer news.

By subscribing, you agree to our privacy policy. Unsubscribe at any time.