The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
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)
It looks like it is not filtering the ReceiptDate, please point out if there is any other issue.
Solved! Go to Solution.
@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])
@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])
You are a super star. Thank you so very much.
I had to pass the date filtered table in summarize method.