Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
Hi,
I want to create a measure that sums sales figures based on customers who bought something this edition, but not last.
The edition is just a book edition and not relevant to a time/date. I would write the following in SQL:
SELECT
SUM(a.Total) AS TotalSales
FROM SalesTable a
WHERE a.edition = "2017"
AND a.accountid NOT IN (SELECT accountid FROM SalesTable WHERE a.edition = "2016")
Any idea if this is posibble to do in a Measure?
You may take a good look at the article below.
https://www.sqlbi.com/articles/from-sql-to-dax-in-and-exists/
Hi @wenners68,
Try this code:
_2017 =
VAR _2016 = SELECTCOLUMNS(FILTER(SalesTable; SalesTable[EDITION] = 2016); "ACCOUNTID"; SalesTable[ACCOUNT_ID])
VAR _2017 = SELECTCOLUMNS(FILTER(SalesTable; SalesTable[EDITION] = 2017); "ACCOUNTID"; SalesTable[ACCOUNT_ID])
VAR _tbl = EXCEPT(_2017; _2016)
RETURN
SUMX(FILTER(SalesTable; SalesTable[ACCOUNT_ID] IN (_tbl)); SalesTable[TOTAL])
Hi,
thanks, but that will only give you a total for the entire edition.
Perhaps create a calculated column first that goes something like:
BoughtLastYear = IF(ISBLANK(SUMX(FILTER(TotalSales,TotalSales[accountid]=EARLIER(TotalSales[accountid])&&TotalSales[edition]=EARLIER(TotalSales[edition]-1)),TotalSales[Total)),"No","Yes")
Should create a column with Yes if they bought last year and No if they didn't. Then you could create a Measure like:
MyMeasure = CALCULATE(SUM(TotalSales[Total]),FILTER(TotalSales,BoughtLastYear="Yes"))
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!
Check out the February 2025 Power BI update to learn about new features.
User | Count |
---|---|
85 | |
70 | |
68 | |
50 | |
32 |
User | Count |
---|---|
117 | |
100 | |
73 | |
65 | |
40 |