cancel
Showing results for
Did you mean:

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Post Patron

## Calculated Table showing 2 products sold within 90 days

Hi everyone,

I have created a calculated table that shows who bought the product called "21NZ1020" within the last 6 months excluding the Customer class called STAFF . This calculated table works for me.

I'm now looking to add another product into the code so I want it to show both 23NZ1020 and also 23NZ4170.

Is it possible to show me how to do this?

My working code is below. Many Thanks in advance!

NZ1060 in 2024 =
VAR _StartDateBetween =
DATE( 2024, 01, 01)
VAR _EndDateBetween =
DATE( 2024 , 05, 31)
VAR _IncludedItemProducts = { "23NZ1020"}
VAR _ExcludeStaff =
SELECTCOLUMNS(
FILTER(
'Dimension Customer' ,
'Dimension Customer'[customer class] IN { "STAFF" }
) ,

"Customer ID class staff" , 'Dimension Customer'[customer]
)

VAR _IncludedChainField =
SELECTCOLUMNS(
FILTER(
'Dimension Customer' ,
'Dimension Customer'[chain] IN { "FSNI" }
) ,

"Customer ID class staff" , 'Dimension Customer'[customer]
)

VAR Result =
CALCULATETABLE(
'Module Sales with Inventory' ,
FILTER(
ALL( CalendarTable[Date] ) ,
CalendarTable[Date] > _StartDateBetween
&& CalendarTable[Date] <= _EndDateBetween
) ,

FILTER( 'Module Sales with Inventory' , 'Module Sales with Inventory'[item] = _IncludedItemProducts ) ,
FILTER( 'Module Sales with Inventory' , NOT ('Module Sales with Inventory'[customer] ) IN _ExcludeStaff ) ,
FILTER( 'Module Sales with Inventory' , 'Module Sales with Inventory'[customer] IN _IncludedChainField )
)

RETURN
Result
1 ACCEPTED SOLUTION
Super User

Hi @gbarr12345 try v3

NZ1060 in 2024 v3 =
VAR _StartDateBetween =
DATE( 2024, 01, 01)
VAR _EndDateBetween =
DATE( 2024 , 05, 31)
VAR _IncludedItemProducts = { "23NZ1020","23NZ4170"}
VAR _ExcludeStaff =
SELECTCOLUMNS(
FILTER(
'Dimension Customer' ,
'Dimension Customer'[customer class] IN { "STAFF" }
) ,

"Customer ID class staff" , 'Dimension Customer'[customer]
)

VAR _IncludedChainField =
SELECTCOLUMNS(
FILTER(
'Dimension Customer' ,
'Dimension Customer'[chain] IN { "FSNI" }
) ,

"Customer ID class staff" , 'Dimension Customer'[customer]
)

VAR Result =
CALCULATETABLE(
'Module Sales with Inventory' ,
FILTER(
ALL( CalendarTable[Date] ) ,
CalendarTable[Date] > _StartDateBetween
&& CalendarTable[Date] <= _EndDateBetween
) ,

FILTER( 'Module Sales with Inventory' , 'Module Sales with Inventory'[item] IN { "23NZ1020","23NZ4170"} ) ,
FILTER( 'Module Sales with Inventory' , NOT ('Module Sales with Inventory'[customer] ) IN _ExcludeStaff ) ,
FILTER( 'Module Sales with Inventory' , 'Module Sales with Inventory'[customer] IN _IncludedChainField )
)

RETURN
Result

Proud to be a Super User!

4 REPLIES 4
Super User

Hi @gbarr12345 try v3

NZ1060 in 2024 v3 =
VAR _StartDateBetween =
DATE( 2024, 01, 01)
VAR _EndDateBetween =
DATE( 2024 , 05, 31)
VAR _IncludedItemProducts = { "23NZ1020","23NZ4170"}
VAR _ExcludeStaff =
SELECTCOLUMNS(
FILTER(
'Dimension Customer' ,
'Dimension Customer'[customer class] IN { "STAFF" }
) ,

"Customer ID class staff" , 'Dimension Customer'[customer]
)

VAR _IncludedChainField =
SELECTCOLUMNS(
FILTER(
'Dimension Customer' ,
'Dimension Customer'[chain] IN { "FSNI" }
) ,

"Customer ID class staff" , 'Dimension Customer'[customer]
)

VAR Result =
CALCULATETABLE(
'Module Sales with Inventory' ,
FILTER(
ALL( CalendarTable[Date] ) ,
CalendarTable[Date] > _StartDateBetween
&& CalendarTable[Date] <= _EndDateBetween
) ,

FILTER( 'Module Sales with Inventory' , 'Module Sales with Inventory'[item] IN { "23NZ1020","23NZ4170"} ) ,
FILTER( 'Module Sales with Inventory' , NOT ('Module Sales with Inventory'[customer] ) IN _ExcludeStaff ) ,
FILTER( 'Module Sales with Inventory' , 'Module Sales with Inventory'[customer] IN _IncludedChainField )
)

RETURN
Result

Proud to be a Super User!

Post Patron

That works, thank you so much!

Super User

Hi @gbarr12345 try version 2 below

NZ1060 in 2024 v2 =
VAR _StartDateBetween =
DATE( 2024, 01, 01)
VAR _EndDateBetween =
DATE( 2024 , 05, 31)
VAR _IncludedItemProducts = { "23NZ1020"}
VAR _IncludedItemProducts_2 = { "23NZ4170"}
VAR _ExcludeStaff =
SELECTCOLUMNS(
FILTER(
'Dimension Customer' ,
'Dimension Customer'[customer class] IN { "STAFF" }
) ,

"Customer ID class staff" , 'Dimension Customer'[customer]
)

VAR _IncludedChainField =
SELECTCOLUMNS(
FILTER(
'Dimension Customer' ,
'Dimension Customer'[chain] IN { "FSNI" }
) ,

"Customer ID class staff" , 'Dimension Customer'[customer]
)

VAR Result =
CALCULATETABLE(
'Module Sales with Inventory' ,
FILTER(
ALL( CalendarTable[Date] ) ,
CalendarTable[Date] > _StartDateBetween
&& CalendarTable[Date] <= _EndDateBetween
) ,

FILTER( 'Module Sales with Inventory' , 'Module Sales with Inventory'[item] = _IncludedItemProducts || 'Module Sales with Inventory'[item] = _IncludedItemProducts_2 ) ,
FILTER( 'Module Sales with Inventory' , NOT ('Module Sales with Inventory'[customer] ) IN _ExcludeStaff ) ,
FILTER( 'Module Sales with Inventory' , 'Module Sales with Inventory'[customer] IN _IncludedChainField )
)

RETURN
Result

Proud to be a Super User!

Post Patron

Hi there,

I tried your code and am getting the following error.

Any idea where I'm going wrong?