Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I have a transaction table(A) with 4 columns say X, Y, Value and Date. I want to create a new table(B) from Table A such that Table B have unique transactions(rows) based on the combination of X and Y columns, and should pick only first transaction based on the date column. For example -
Table A:
X | Y | Value | Date |
X1 | Y1 | 1 | 11-11-2022 |
X1 | Y1 | 2 | 14-11-2022 |
X2 | Y2 | 4 | 13-11-2022 |
Table B: It should only have one row for X1 and Y1 combination for date: 11-11-2022 as it is the first trasaction.
X | Y | Value | Date |
X1 | Y1 | 1 | 11-11-2022 |
X2 | Y2 | 4 | 13-11-2022 |
Thanks in advance.
Solved! Go to Solution.
Hi @mak_tushar ,
Here are the steps you can follow:
1. Create calculated column.
Table 2 =
CALENDAR(
MIN('Table'[Invoice Date]),MAX('Table'[Invoice Date]))
2. Create measure.
Flag =
var _select=SELECTEDVALUE('Table 2'[Date])
return
IF(
MAX('Table'[Invoice Date])=
MINX(FILTER(ALL('Table'),'Table'[X]=MAX('Table'[X])&&'Table'[Y]=MAX('Table'[Y])&&'Table'[Location]=MAX('Table'[Location])&&'Table'[Invoice Date]>=_select),[Invoice Date]),1,0)
3. Place [Flag]in Filters, set is=1, apply filter.
4. Result:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi @mak_tushar ,
Here are the steps you can follow:
1. Create calculated column.
Table 2 =
CALENDAR(
MIN('Table'[Invoice Date]),MAX('Table'[Invoice Date]))
2. Create measure.
Flag =
var _select=SELECTEDVALUE('Table 2'[Date])
return
IF(
MAX('Table'[Invoice Date])=
MINX(FILTER(ALL('Table'),'Table'[X]=MAX('Table'[X])&&'Table'[Y]=MAX('Table'[Y])&&'Table'[Location]=MAX('Table'[Location])&&'Table'[Invoice Date]>=_select),[Invoice Date]),1,0)
3. Place [Flag]in Filters, set is=1, apply filter.
4. Result:
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Thanks @Anonymous, worked perfectly.
This is part of the previous one. Actually Table A has data for past 3 years and I want to have data only after 1 Feb in the new table. -
Try to create a new table with the code below:
B =
ADDCOLUMNS(
SUMMARIZE (
A,
A[X],
A[Y],
A[Value]
) ,
"Date",
CALCULATE (MIN(A[Date]))
)
Is there a way to apply filter on the date as well? I want to pull records from table A that have invoice date greater than 1 feb.
is it a new requirement or in addition to the previous one?Or could you elaborate the expected table in Excel?
This is part of the previous one. Actually Table A has data for past 3 years and I want to have data only after 1 Feb in the new table. -
Then try this:
B =
CALCULATETABLE(
ADDCOLUMNS(
SUMMARIZE (
A,
A[X],
A[Y],
A[Value]
) ,
"Date",
CALCULATE (MIN(A[Date]))
),
A[Date]>DATE(2022,1,1)
)
Getting duplicate rows (based on X and Y column).
how does the issue look like?
Is it an issue, considering you have different data in column Value and Date?
First two rows are duplicate as the first three coulmn values are same. Form these two(duplicate) rows, I want only the first row in my table as it has an older date.
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
User | Count |
---|---|
23 | |
10 | |
10 | |
9 | |
7 |