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

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
Anonymous
Not applicable

Group by and having based on parameter

I have the following sql query which brings the accurate results as expected but not in Power BI.

 

select v.ITEMID
,v.ITEMGROUPID
,v.UNITID
,v.INVENTSITEID
,v.INVENTLOCATIONID
,v.WMSLOCATIONID
,v.INVENTSERIALID
,SUM(v.QTYAGING)
,MAX(v.RECEIPTDATE)
from AXPInventoryCube_InventAgingReceiptView v

where
v.Company = 'Microshot'
and v.ITEMID = 'Item01'
and v.INVENTLOCATIONID = 'Warehouse'
and v.RECEIPTDATE < GETDATE() and v.RECEIPTDATE > GETDATE() - 45 --Period 1
--and v.RECEIPTDATE <= GETDATE() - 45 and v.RECEIPTDATE > GETDATE() - 75 --Period 2
--and v.RECEIPTDATE <= GETDATE() - 75 and v.RECEIPTDATE > GETDATE() - 105 --Period 3
--and v.RECEIPTDATE <= GETDATE() - 105 and v.RECEIPTDATE > GETDATE() - 135 --Period 4
group by v.ITEMID
,v.ITEMGROUPID
,v.UNITID
,v.INVENTSITEID
,v.INVENTLOCATIONID
,v.WMSLOCATIONID
,v.INVENTSERIALID
,v.VOUCHER
having SUM(v.QTYAGING) > 0

 

I wrote it as DAX in InventoryOnHand table column like:

(InventoryReceiptValue is the same table as used in above sql)

QtyAgingPeriod1 =

var receiptQty = SUMX(FILTER(SUMMARIZE(InventoryReceiptValue,
InventoryReceiptValue[DATAAREAID],
InventoryReceiptValue[ITEMID],
InventoryReceiptValue[UNITID],
InventoryReceiptValue[ITEMGROUPID],
InventoryReceiptValue[INVENTSITEID],
InventoryReceiptValue[INVENTLOCATIONID],
InventoryReceiptValue[WMSLOCATIONID],
InventoryReceiptValue[INVENTSERIALID],
InventoryReceiptValue[VOUCHER],
"QtyAging", SUM(InventoryReceiptValue[QTYAGING]),
"ReceiptDate", MAX(InventoryReceiptValue[RECEIPTDATE].[Date])),
[DATAAREAID] = InventoryOnHand[DATAAREAID]
&& [ITEMID] = InventoryOnHand[ITEMID]
&& [ITEMGROUPID] = InventoryOnHand[ITEMGROUPID]
&& [UNITID] = InventoryOnHand[UNITID]
&& [INVENTSITEID] = InventoryOnHand[SITE]
&& [INVENTLOCATIONID] = InventoryOnHand[WAREHOUSE]
&& [WMSLOCATIONID] = InventoryOnHand[LOCATION]
&& [INVENTSERIALID] = InventoryOnHand[SERIAL NUMBER]
&& [QTYAGING] > 0
&& [ReceiptDate] < TODAY()
&&[ReceiptDate] > TODAY() - 45)
,[QTYAGING])

var qty = receiptQty

return qty


It looks like it is not filtering the ReceiptDate, please point out if there is any other issue.

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@Anonymous .  You have create measure for each requirement

Try with these modifications

 

QTYAGING m=

SUMX(FILTER(SUMMARIZE(Filter(InventoryReceiptValue,[ReceiptDate] < TODAY()
&&[ReceiptDate] > TODAY() - 45) ,
InventoryReceiptValue[DATAAREAID],
InventoryReceiptValue[ITEMID],
InventoryReceiptValue[UNITID],
InventoryReceiptValue[ITEMGROUPID],
InventoryReceiptValue[INVENTSITEID],
InventoryReceiptValue[INVENTLOCATIONID],
InventoryReceiptValue[WMSLOCATIONID],
InventoryReceiptValue[INVENTSERIALID],
InventoryReceiptValue[VOUCHER],
"QtyAging", SUM(InventoryReceiptValue[QTYAGING]),
"ReceiptDate", MAX(InventoryReceiptValue[RECEIPTDATE].[Date])),
[QTYAGING] > 0 )
,[QTYAGING])

 

 

ReceiptDate m =

=SUMX(FILTER(SUMMARIZE(Filter(InventoryReceiptValue,[ReceiptDate] < TODAY()
&&[ReceiptDate] > TODAY() - 45) ,
InventoryReceiptValue[DATAAREAID],
InventoryReceiptValue[ITEMID],
InventoryReceiptValue[UNITID],
InventoryReceiptValue[ITEMGROUPID],
InventoryReceiptValue[INVENTSITEID],
InventoryReceiptValue[INVENTLOCATIONID],
InventoryReceiptValue[WMSLOCATIONID],
InventoryReceiptValue[INVENTSERIALID],
InventoryReceiptValue[VOUCHER],
"QtyAging", SUM(InventoryReceiptValue[QTYAGING]),
"ReceiptDate", MAX(InventoryReceiptValue[RECEIPTDATE].[Date])),
[QTYAGING] > 0 )
,[ReceiptDate])

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

View solution in original post

2 REPLIES 2
amitchandak
Super User
Super User

@Anonymous .  You have create measure for each requirement

Try with these modifications

 

QTYAGING m=

SUMX(FILTER(SUMMARIZE(Filter(InventoryReceiptValue,[ReceiptDate] < TODAY()
&&[ReceiptDate] > TODAY() - 45) ,
InventoryReceiptValue[DATAAREAID],
InventoryReceiptValue[ITEMID],
InventoryReceiptValue[UNITID],
InventoryReceiptValue[ITEMGROUPID],
InventoryReceiptValue[INVENTSITEID],
InventoryReceiptValue[INVENTLOCATIONID],
InventoryReceiptValue[WMSLOCATIONID],
InventoryReceiptValue[INVENTSERIALID],
InventoryReceiptValue[VOUCHER],
"QtyAging", SUM(InventoryReceiptValue[QTYAGING]),
"ReceiptDate", MAX(InventoryReceiptValue[RECEIPTDATE].[Date])),
[QTYAGING] > 0 )
,[QTYAGING])

 

 

ReceiptDate m =

=SUMX(FILTER(SUMMARIZE(Filter(InventoryReceiptValue,[ReceiptDate] < TODAY()
&&[ReceiptDate] > TODAY() - 45) ,
InventoryReceiptValue[DATAAREAID],
InventoryReceiptValue[ITEMID],
InventoryReceiptValue[UNITID],
InventoryReceiptValue[ITEMGROUPID],
InventoryReceiptValue[INVENTSITEID],
InventoryReceiptValue[INVENTLOCATIONID],
InventoryReceiptValue[WMSLOCATIONID],
InventoryReceiptValue[INVENTSERIALID],
InventoryReceiptValue[VOUCHER],
"QtyAging", SUM(InventoryReceiptValue[QTYAGING]),
"ReceiptDate", MAX(InventoryReceiptValue[RECEIPTDATE].[Date])),
[QTYAGING] > 0 )
,[ReceiptDate])

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
Anonymous
Not applicable

You are a super star. Thank you so very much.
I had to pass the date filtered table in summarize method.

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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

Top Solution Authors