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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Bruin87
Frequent Visitor

Filter Context - Card Visual

Hi, 

 

I have a measure (data model: https://community.powerbi.com/t5/Desktop/Semi-Additive-Calculations-Total-Values-wrong/m-p/1824181#M...)

 

Balance Closing =
VAR MaxDate = MAX('Date'[Date])
VAR MaxDates =
CALCULATETABLE(
ADDCOLUMNS(
SUMMARIZE(FactBankBalances; FactBankBalances[IBAN]);
"@MaxDate"; CALCULATE(MAX(FactBankBalances[DateKey]))
);
'Date'[Date] <= MaxDate
)
VAR MaxDatesWithLineage =
TREATAS(MaxDates; FactBankBalances[IBAN]; 'Date'[Date])
VAR BalanceClosing = CALCULATE(SUM(FactBankBalances[Kontostand_Euro]); MaxDatesWithLineage)
VAR Result = CALCULATE(
DIVIDE(BalanceClosing;
SELECTEDVALUE(ReportNumberFormat[SelectedDivision]);
1)
)
Return
Result
................................
 
I am trying to show a card visual with this measure for a certain account. However, I am not able to filter the card visual by the account name. I realized that a filter (applied on "all sites" on the date) keeps me from filtering that account, as their values are reported for a date before the selected time frame. Rather than being able to filter a certain account I receive the total of all accounts based on the filter context.
How do i have to change the above mentioned measure so that filtering by FactBankBalances[IBAN] would be possible despite the date filter?
 
Thanks in advance!
Marc
1 ACCEPTED SOLUTION
v-robertq-msft
Community Support
Community Support

Hi, @Bruin87 

According to your description and DAX formula, it seems that the problem exists in the TREATAS() function you used because in this condition, your column FactBankBalances[IBAN] is always filtered by the selected value of ‘Date’[Date].

Therefore, I think you can try to find a way to avoid using the TREATAS() function and use other functions to replace it.

v-robertq-msft_0-1620358068772.png

 

You can try to transform the DAX formulas I circled with the DAX below:

VAR BalanceClosing =
CALCULATE (
    SUM ( FactBankBalances[Kontostand_Euro] ),
    FILTER (
        ALLSELECTED ( FactBankBalances ),
        [IBAN] IN SELECTCOLUMNS ( MaxDates, "1", [@MaxDate] )
    )
)

More info about the TREATAS() function

 

If you still have a problem, you can post some sample data(without sensitive data) and your expected result.

How to Get Your Question Answered Quickly 

Thank you very much!

 

Best Regards,

Community Support Team _Robert Qin

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

2 REPLIES 2
v-robertq-msft
Community Support
Community Support

Hi, @Bruin87 

According to your description and DAX formula, it seems that the problem exists in the TREATAS() function you used because in this condition, your column FactBankBalances[IBAN] is always filtered by the selected value of ‘Date’[Date].

Therefore, I think you can try to find a way to avoid using the TREATAS() function and use other functions to replace it.

v-robertq-msft_0-1620358068772.png

 

You can try to transform the DAX formulas I circled with the DAX below:

VAR BalanceClosing =
CALCULATE (
    SUM ( FactBankBalances[Kontostand_Euro] ),
    FILTER (
        ALLSELECTED ( FactBankBalances ),
        [IBAN] IN SELECTCOLUMNS ( MaxDates, "1", [@MaxDate] )
    )
)

More info about the TREATAS() function

 

If you still have a problem, you can post some sample data(without sensitive data) and your expected result.

How to Get Your Question Answered Quickly 

Thank you very much!

 

Best Regards,

Community Support Team _Robert Qin

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi @v-robertq-msft , 

thank you for your solution!

I tried to implement it, however, i receive an error message :

 

Error Message:
MdxScript(Model) (36, 35) Calculation error in measure 'DAX Measures'[Balance Closing]: Function 'CONTAINSROW' does not support comparing values of type Date with values of type Text. Consider using the VALUE or FORMAT function to convert one of the values.

 

Is it comparing the account name (IBAN) with the date?

 

best regards

marc

 

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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