cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
C-Jac
Helper I
Helper I

SWITCH filter by unrelated table

I have three tables: 

- Transaction Amounts

- Transaction Calendar

- Unrelated Table 

 

What I need to do, is filter the transaction calendar using a filter based on the value sin the unrelated table, so that the transaction amounts are only shown in the selected period. 

Table1: 

Transaction Date ID | Transaction Amount

 

Table 2: 

Transaction Date ID | Transaction Date | PeriodID

 

Table 3: 

PeriodID | Period Value

The date in Table 2 can ONLY have one PeriodID. 

E.g. I have 3 different Periods in Table 3. 1, 2 and 3. 
If I select Period Value 1, I only want to see the dates that have PeriodID 1. 
If I select Period Value 2, I only want to see the dates that have PeriodID 1 AND 2. 

If I select Period Value 3, I only want to see the dates that have PeriodID 1, 2 AND 3. 

 

I've tried various SWITCH formulas, but somehow I cannot get them to work. 

Transaction by Ye:=
VAR Selection = SELECTEDVALUE(FilterPeriodYear[PeriodYearID])
RETURN

CALCULATE([Transactions] ,
FILTER(_TransactionDateCalendar, _TransactionDateCalendar[PeriodByYear] in FILTER(ALL(FilterPeriodYear), FilterPeriodYear[PeriodYearID] <= Selection)))

Transactions by Y:=
VAR Selection = SELECTEDVALUE(FilterPeriodYear[PeriodYearID])
RETURN

CALCULATE([Transactions] ,
SWITCH( TRUE() ,
Selection = 1 , FILTER(_TransactionDateCalendar, _TransactionDateCalendar[PeriodByYear] = 1)
, Selection = 2 , FILTER(_TransactionDateCalendar , _TransactionDateCalendar[PeriodByYear] in {(1), (2)})
, Selection = 3 , FILTER(_TransactionDateCalendar , _TransactionDateCalendar[PeriodByYear] in {(1), (2), (3)})))

Transacions by Year:=
CALCULATE([Transactions], SWITCH(SELECTEDVALUE(FilterPeriodYear[PeriodYearID]) ,
1 , FILTER(_TransactionDateCalendar , _TransactionDateCalendar[PeriodByYear] = 1) ,
2 , FILTER(_TransactionDateCalendar , _TransactionDateCalendar[PeriodByYear] in {(1), (2)}),
3 , FILTER(_TransactionDateCalendar , _TransactionDateCalendar[PeriodByYear] in {(1), (2), (3)}),
4 , FILTER(_TransactionDateCalendar , _TransactionDateCalendar[PeriodByYear] in{(1), (2), (3), (4)}),
5 , FILTER(_TransactionDateCalendar, _TransactionDateCalendar[PeriodByYear] in{(1), (2), (3), (4), (5)})
)
)

I hope someone can help 🙂 

0 REPLIES 0

Helpful resources

Announcements
September Update

Check it Out!

Click here to learn more about the September 2022 updates!

Power BI Show Episode 10 Recap

The Power BI Community Show

Watch the playback when Amit Chandak, a Power BI Super User, demos how to use Field Parameters to make reports more dynamic.

Power BI Dev Camp Session 26

New Date - Check it Out!

Mark your calendars and join us on Thursday, October 6 at 11a PDT for a great session with Ted Pattison!

Health and Life Sciences Power BI User Group

Health and Life Sciences Power BI User Group

Power BI specialists at Microsoft have created a community user group where customers in the provider, payor, pharma, health solutions, and life science industries can collaborate.

Top Solution Authors
Top Kudoed Authors