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
olimilo
Continued Contributor
Continued Contributor

How to get the selected value of a slicer into a calculated column?

I have the following code that's supposed to check whether the selected value of a slicer is "Month-end" or "Normal". However, the SELECTEDVALUE() returns a blank in the formula. I would like to be able to get the selected value of the slicer into a calculated column and not a measure as I need to use it as a page-level filter - how can I do this?

 

 

IsPostedCM = 

VAR CurrentMonth = MONTH(NOW())
VAR CurrentYear = YEAR(NOW())

RETURN
    SWITCH(
        SELECTEDVALUE('MonthEndToggle'[MonthEnd]),
        FALSE, AND(YEAR([DatePosted]) = CurrentYear, MONTH([DatePosted]) = CurrentMonth),
        IF(CurrentMonth = 1,
            AND(
                YEAR([DatePosted]) = CurrentYear - 1,
                MONTH([DatePosted]) = 12
            ),
            AND(
                YEAR([DatePosted]) = CurrentYear,
                MONTH([DatePosted]) = CurrentMonth - 1
            )
        )
    )

 

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @olimilo ,

Please refer below steps, I create a sample for you.

1. below is my test table

Table:

vbinbinyumsft_0-1667371156497.png

Table2:

vbinbinyumsft_1-1667371174307.png

2. add a slicer visual with Table, add a table vissual with Table2

3. create a measure with below dax formula

Measure =
VAR cur_level =
    SELECTEDVALUE ( Table2[Level] )
VAR cur_sal =
    SELECTEDVALUE ( 'Table'[Sale] )
VAR tmp1 =
    CALCULATETABLE (
        VALUES ( 'Table'[Sale] ),
        FILTER ( ALL ( 'Table' ), 'Table'[Sale] <= 20 )
    )
VAR tmp2 =
    CALCULATETABLE (
        VALUES ( 'Table'[Sale] ),
        FILTER ( ALL ( 'Table' ), 'Table'[Sale] > 20 )
    )
VAR tmp3 =
    CALCULATETABLE (
        VALUES ( 'Table'[Sale] ),
        FILTER ( ALL ( 'Table' ), 'Table'[Sale] > 50 )
    )
RETURN
    SWITCH (
        cur_level,
        "<=20", IF ( cur_sal IN tmp1, 1 ),
        ">20", IF ( cur_sal IN tmp2, 1 ),
        ">50", IF ( cur_sal IN tmp3, 1 ),
        1
    )

4. add the measure to the table visual filter in the filter pane

vbinbinyumsft_2-1667371349542.png

Animation9.gif

Please refer the attached .pbix file.

 

Best regards,
Community Support Team_ Binbin Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

 

View solution in original post

4 REPLIES 4
amitchandak
Super User
Super User

@olimilo , You can not selectedvalue in a calculated column, you have to use a measure.

 

You can use measure in the visual level filter. As of now, you can not control the page-level filter with the selected value

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
olimilo
Continued Contributor
Continued Contributor

Hi @amitchandak 

Bit confused how to do this; I created a measure like and included it in the table visual but the measure cannot be filtered as a visual-level filter (no values appear when expanding the measure value filter):

 

~Filter = SELECTEDVALUE('MonthEndToggle'[MonthEnd])

 

olimilo_0-1665974806363.png

 

Anonymous
Not applicable

Hi @olimilo ,

Please refer below steps, I create a sample for you.

1. below is my test table

Table:

vbinbinyumsft_0-1667371156497.png

Table2:

vbinbinyumsft_1-1667371174307.png

2. add a slicer visual with Table, add a table vissual with Table2

3. create a measure with below dax formula

Measure =
VAR cur_level =
    SELECTEDVALUE ( Table2[Level] )
VAR cur_sal =
    SELECTEDVALUE ( 'Table'[Sale] )
VAR tmp1 =
    CALCULATETABLE (
        VALUES ( 'Table'[Sale] ),
        FILTER ( ALL ( 'Table' ), 'Table'[Sale] <= 20 )
    )
VAR tmp2 =
    CALCULATETABLE (
        VALUES ( 'Table'[Sale] ),
        FILTER ( ALL ( 'Table' ), 'Table'[Sale] > 20 )
    )
VAR tmp3 =
    CALCULATETABLE (
        VALUES ( 'Table'[Sale] ),
        FILTER ( ALL ( 'Table' ), 'Table'[Sale] > 50 )
    )
RETURN
    SWITCH (
        cur_level,
        "<=20", IF ( cur_sal IN tmp1, 1 ),
        ">20", IF ( cur_sal IN tmp2, 1 ),
        ">50", IF ( cur_sal IN tmp3, 1 ),
        1
    )

4. add the measure to the table visual filter in the filter pane

vbinbinyumsft_2-1667371349542.png

Animation9.gif

Please refer the attached .pbix file.

 

Best regards,
Community Support Team_ Binbin Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

 

NO sure if this fix my need, but is the first simple explample I managed to get working. 

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 community update carousel

Fabric Community Update - June 2025

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