Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hi @JVKR ,
Now I got it. When sorting by the CreatedDate column it becomes quickly obvious that for each lead that already has a "Closed" event you just want to remove all events after the closed event.
You can do this in PowerQuery with these steps:
Assuming the name of your currently last step in your PowerQuery transformations is "Previous step", then the code you need to add is:
#"Add column closed date" = Table.AddColumn(
#"Previous step",
"ClosedDate",
(outer) =>
List.Min(
Table.SelectRows(
#"Previous step",
(inner) =>
inner[LeadId] = outer[LeadId] and inner[NewValue] = "Closed"
)[CreatedDate]
),
type datetime
),
// Be aware that the logic in the code describes which rows to keep,
// not which rows to remove.
#"Filtered rows" = Table.SelectRows(
#"Add column closed date",
each [CreatedDate] <= [ClosedDate] or [ClosedDate] = null
),
#"Remove column closed date" = Table.RemoveColumns(
#"Filtered rows",
{"ClosedDate"}
)
then change the return statement according to the name of the new last step:
in
#"Remove column closed date"
and make sure a comma is added to the end of the previously last step (here called "Previous step").
BR
Martin
Hi @JVKR ,
Are you sure the example is correct and the requirements are correct? The highlighted row does not meet the criterion "when NewValue="closed"". NewValue is "2" in your example.
BR
Martin
Hi Martin,
my requirement is , i dont want to fetch any records from the source table once the lead is closed.
Example : lead is closed on 20th July 2024 but the lead is updated again on 24th July 2023 which i dont need to pull from the source table.
Hi @JVKR ,
Now I got it. When sorting by the CreatedDate column it becomes quickly obvious that for each lead that already has a "Closed" event you just want to remove all events after the closed event.
You can do this in PowerQuery with these steps:
Assuming the name of your currently last step in your PowerQuery transformations is "Previous step", then the code you need to add is:
#"Add column closed date" = Table.AddColumn(
#"Previous step",
"ClosedDate",
(outer) =>
List.Min(
Table.SelectRows(
#"Previous step",
(inner) =>
inner[LeadId] = outer[LeadId] and inner[NewValue] = "Closed"
)[CreatedDate]
),
type datetime
),
// Be aware that the logic in the code describes which rows to keep,
// not which rows to remove.
#"Filtered rows" = Table.SelectRows(
#"Add column closed date",
each [CreatedDate] <= [ClosedDate] or [ClosedDate] = null
),
#"Remove column closed date" = Table.RemoveColumns(
#"Filtered rows",
{"ClosedDate"}
)
then change the return statement according to the name of the new last step:
in
#"Remove column closed date"
and make sure a comma is added to the end of the previously last step (here called "Previous step").
BR
Martin
Thanks a lot Martin, its working as expected.
Sorry, the LeadId was hardcoded in my original post. I fixed it in the previous message.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
| User | Count |
|---|---|
| 4 | |
| 3 | |
| 3 | |
| 3 | |
| 2 |