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 am having data as per the below table
Product | Date | Category |
Alpha | 25-02-2023 | Service |
Alpha | 17-02-2023 | Service |
Alpha | 06-02-2023 | Purchase |
Beta | 05-02-2023 | Purchase |
Beta | 25-02-2023 | Service |
Gama | 22-02-2023 | Service |
Gama | 16-02-2023 | Service |
Gama | 21-01-2023 | Purchase |
Gama | 17-02-2023 | Service |
I want to add one column in the last as shown below with the name "New Category"
Please suggest how to create this column.
Product | Date | Category | New Category |
Alpha | 25-02-2023 | Service | Service_2 |
Alpha | 17-02-2023 | Service | Service_1 |
Alpha | 06-02-2023 | Purchase | Purchase |
Beta | 05-02-2023 | Purchase | Purchase |
Beta | 25-02-2023 | Service | Service_1 |
Gama | 22-02-2023 | Service | Service_3 |
Gama | 16-02-2023 | Service | Service_1 |
Gama | 21-01-2023 | Purchase | Purchase |
Gama | 17-02-2023 | Service | Service_2 |
please try
New category =
VAR CurrentDate = 'Table'[Date]
VAR T1 =
CALCULATETABLE (
'Table',
ALLEXCEPT ( 'Table', 'Table'[Product], 'Table'[Category] )
)
VAR Check =
COUNTROWS ( T1 ) > 1
VAR T2 =
ADDCOLUMNS (
T,
"NewCat",
[Category] & "_"
& IF ( Check, RANKX ( T1, [Date],, asc, DENSE ) )
)
RETURN
MAXX ( FILTER ( T2, [Date] = CurrentDate ), [NewCat] )
you may also try to add a column like:
Column =
VAR _table =
FILTER(
TableName,
TableName[Product]=EARLIER(TableName[Product])
&&TableName[Category]=EARLIER(TableName[Category])
)
VAR _index = RANKX(_table, [Date],,ASC)
RETURN
IF(
COUNTROWS( _table)=1,
[Category],
[Category]&"_"&_index
)
it worked like:
Hi,
Please check the below picture and the attached pbix file.
New Category CC =
SWITCH (
TRUE (),
Data[Category] = "Purchase", Data[Category],
Data[Category] = "Service",
Data[Category] & "_"
& COUNTROWS (
WINDOW (
1,
ABS,
0,
REL,
SUMMARIZE (
FILTER ( Data, Data[Category] = "Service" ),
Data[Product],
Data[Date]
),
ORDERBY ( Data[Date], ASC ),
KEEP,
PARTITIONBY ( Data[Product] )
)
)
)
Thanks
but i am getting this output with your query
Product | Date | Category | New Category |
Alpha | 25-02-2023 | Service | Service_1 |
Alpha | 17-02-2023 | Service | Service_1 |
Alpha | 06-02-2023 | Purchase | Purchase |
Beta | 05-02-2023 | Purchase | Purchase |
Beta | 25-02-2023 | Service | Service_1 |
Gama | 22-02-2023 | Service | Service_1 |
Gama | 16-02-2023 | Service | Service_1 |
Gama | 21-01-2023 | Purchase | Purchase |
Gama | 17-02-2023 | Service | Service_1 |
Output is not unique...
Product | Date | Category | New Category |
Delta | 17-02-23 | Puchase | Purchase |
Delta | 05-02-23 | Service | Service_1 |
Delta | 06-02-23 | Service | Service_1 |
Delta | 16-02-23 | Service | Sercvice_3 |
User | Count |
---|---|
22 | |
11 | |
8 | |
6 | |
6 |
User | Count |
---|---|
25 | |
13 | |
11 | |
9 | |
6 |