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.
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
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.
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 |
---|---|
21 | |
15 | |
11 | |
10 | |
10 |