Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Surendar88
Frequent Visitor

Optional Parameter usage in DAX

I have a following scenario in Power BI Paginated report. Where two parameters are available. One can be blank and one can have value. Below is the DAX  which is giving the result, but it takes more time as it evaluates blank value. Is there any other approach anyone aware of to evaluate only one parameter which has value and ignore the other which is blank. 

 

DEFINE 
VAR _claim ="ABC"
VAR _policy =""
 

EVALUATE SUMMARIZECOLUMNS 
('Reporting'[Inception Year]
'Reporting'[PolicyNumber]
'Reporting'[InsuredName]

FILTER('Reporting',(_claim= "" ||'Reporting'[ClaimNumber] = _claim))
FILTER('Reporting',(_policy= "" ||Reporting'[PolicyNumber] = _policy)), 

"Premium",'Reporting'[Premium])
order by 'Reporting'[Year] desc 

 

 

 

1 ACCEPTED SOLUTION
OwenAuger
Super User
Super User

Hi @Surendar88 

The main improvement I would suggest is to filter on the ClaimNumber and PolicyNumber columns rather than the 'Reporting' table.

Something like:

 

DEFINE
    VAR _claim = "ABC"
    VAR _policy = ""

EVALUATE
SUMMARIZECOLUMNS (
    'Reporting'[Inception Year],
    'Reporting'[PolicyNumber],
    'Reporting'[InsuredName],
    FILTER (
        ALL ( 'Reporting'[ClaimNumber] ),
        _claim = ""
            || 'Reporting'[ClaimNumber] = _claim
    ),
    FILTER (
        ALL ( 'Reporting'[PolicyNumber] ),
        _policy = ""
            || 'Reporting'[PolicyNumber] = _policy
    ),
    "Premium", 'Reporting'[Premium]
)
ORDER BY 'Reporting'[Year] DESC

 

There is no way I am aware of to conditionally include/exclude a filter, as conditional tables are not possible.

There could be some other smart approach but this is what I can think of at the moment 🙂

Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
LinkedIn

View solution in original post

2 REPLIES 2
OwenAuger
Super User
Super User

Hi @Surendar88 

The main improvement I would suggest is to filter on the ClaimNumber and PolicyNumber columns rather than the 'Reporting' table.

Something like:

 

DEFINE
    VAR _claim = "ABC"
    VAR _policy = ""

EVALUATE
SUMMARIZECOLUMNS (
    'Reporting'[Inception Year],
    'Reporting'[PolicyNumber],
    'Reporting'[InsuredName],
    FILTER (
        ALL ( 'Reporting'[ClaimNumber] ),
        _claim = ""
            || 'Reporting'[ClaimNumber] = _claim
    ),
    FILTER (
        ALL ( 'Reporting'[PolicyNumber] ),
        _policy = ""
            || 'Reporting'[PolicyNumber] = _policy
    ),
    "Premium", 'Reporting'[Premium]
)
ORDER BY 'Reporting'[Year] DESC

 

There is no way I am aware of to conditionally include/exclude a filter, as conditional tables are not possible.

There could be some other smart approach but this is what I can think of at the moment 🙂

Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
LinkedIn

@OwenAuger 

Thankyou so much. It works. I am going to incorporate in my report which has few other parameters as well. I will let you know how it goes. 

 

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.