Reply
ronhs
Frequent Visitor
Partially syndicated - Outbound

Tagging data base on dynamic time period

I have a dataset which include two columns, ID and order time.
I want to create a new column to tag two type of value.
The definition of value is below:
New : before current order time never appear in previous time.
Existing : exclude "New" tag data.

I'm trying to create a loop like structure to filter time period and merge filter data to genarate what I want, but it's look like so inefficient...

sample data is below:

ORDER_TIMEID
2022/12/1a
2021/12/3b

I want to genarate tags below:

ORDER_TIMEIDCUSTOMER_TYPE
2022/12/1aEXISTING
2021/12/3bNEW

Is there any faster way to tagging data?

1 ACCEPTED SOLUTION
v-yanjiang-msft
Community Support
Community Support

Syndicated - Outbound

Hi @ronhs ,

According to your description, here's my solution. Add a custom column in Power Query.

if [ORDER_TIME]=List.Min(#"Changed Type"[ORDER_TIME])then"New"else"EXISTING"

Get the result:

vkalyjmsft_0-1670220925852.png

Here's the whole M syntax, you can copy-paste it in a blank query to see the details.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMtI3BCIlHaVEpVgdsIghSMQYKJKkFBsLAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ORDER_TIME = _t, ID = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ORDER_TIME", type date}, {"ID", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "CUSTOMER_TYPE", each if [ORDER_TIME]=List.Min(#"Changed Type"[ORDER_TIME])then"New"else"EXISTING")
in
    #"Added Custom"

I attach my sample below for your reference.

 

Best Regards,
Community Support Team _ kalyj

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

2 REPLIES 2
v-yanjiang-msft
Community Support
Community Support

Syndicated - Outbound

Hi @ronhs ,

According to your description, here's my solution. Add a custom column in Power Query.

if [ORDER_TIME]=List.Min(#"Changed Type"[ORDER_TIME])then"New"else"EXISTING"

Get the result:

vkalyjmsft_0-1670220925852.png

Here's the whole M syntax, you can copy-paste it in a blank query to see the details.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMtI3BCIlHaVEpVgdsIghSMQYKJKkFBsLAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ORDER_TIME = _t, ID = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ORDER_TIME", type date}, {"ID", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "CUSTOMER_TYPE", each if [ORDER_TIME]=List.Min(#"Changed Type"[ORDER_TIME])then"New"else"EXISTING")
in
    #"Added Custom"

I attach my sample below for your reference.

 

Best Regards,
Community Support Team _ kalyj

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

lbendlin
Super User
Super User

Syndicated - Outbound

You can do that with measures. Please provide sanitized sample data that fully covers your issue.
https://community.powerbi.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-...
Please show the expected outcome based on the sample data you provided.

https://community.powerbi.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523

avatar user

Helpful resources

Announcements
March PBI video - carousel

Power BI Monthly Update - March 2025

Check out the March 2025 Power BI update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)