Forum Discussion
Checking if value in one column matches value in another column
- 3 years ago
Hi Renee_Mas ,
you can group your data on order number to retrieve the maximum value like so:then expand the "Partition" Column to get back the fields that haven't been grouping columns.
That will return the higest stage for all fields.
Now, if you want to identify only those rows who were the higest stage, you can add additional column with formulas like this:
if [Stage] = [Hightest Stage] then [Hightest Stage] else nullYou can also paste the following code into the advanced editor and follow the steps:
let Source = Table.FromRows( Json.Document( Binary.Decompress( Binary.FromText( "i45WMjYxUtJR8k9LSy1KTQGyTJRidTBFjcCihkbGZriFXVKTczLzYIbEAgA=", BinaryEncoding.Base64 ), Compression.Deflate ) ), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Order Number" = _t, Status = _t, Stage = _t] ), #"Changed Type" = Table.TransformColumnTypes( Source, {{"Order Number", Int64.Type}, {"Status", type text}, {"Stage", Int64.Type}} ), #"Grouped Rows" = Table.Group( #"Changed Type", {"Order Number"}, { {"Hightest Stage", each List.Max([Stage]), type nullable number}, { "Partition", each _, type table [Order Number = nullable number, Status = nullable text, Stage = nullable number] } } ), #"Expanded Partition" = Table.ExpandTableColumn( #"Grouped Rows", "Partition", {"Status", "Stage"}, {"Status", "Stage"} ), #"Added Custom" = Table.AddColumn( #"Expanded Partition", "Is Higest Stage", each if [Stage] = [Hightest Stage] then [Hightest Stage] else null ), #"Added Custom1" = Table.AddColumn( #"Added Custom", "Highest Status", each if [Is Higest Stage] = null then null else [Status] ) in #"Added Custom1"
Next time, please provide sample data so the answerers don't have to create them themselves:
How to provide sample data in the Power BI Forum - Microsoft Power BI Community
Hi Renee_Mas ,
you can group your data on order number to retrieve the maximum value like so:
then expand the "Partition" Column to get back the fields that haven't been grouping columns.
That will return the higest stage for all fields.
Now, if you want to identify only those rows who were the higest stage, you can add additional column with formulas like this:
if [Stage] = [Hightest Stage] then [Hightest Stage] else null
You can also paste the following code into the advanced editor and follow the steps:
let
Source = Table.FromRows(
Json.Document(
Binary.Decompress(
Binary.FromText(
"i45WMjYxUtJR8k9LSy1KTQGyTJRidTBFjcCihkbGZriFXVKTczLzYIbEAgA=",
BinaryEncoding.Base64
),
Compression.Deflate
)
),
let
_t = ((type nullable text) meta [Serialized.Text = true])
in
type table [#"Order Number" = _t, Status = _t, Stage = _t]
),
#"Changed Type" = Table.TransformColumnTypes(
Source,
{{"Order Number", Int64.Type}, {"Status", type text}, {"Stage", Int64.Type}}
),
#"Grouped Rows" = Table.Group(
#"Changed Type",
{"Order Number"},
{
{"Hightest Stage", each List.Max([Stage]), type nullable number},
{
"Partition",
each _,
type table [Order Number = nullable number, Status = nullable text, Stage = nullable number]
}
}
),
#"Expanded Partition" = Table.ExpandTableColumn(
#"Grouped Rows",
"Partition",
{"Status", "Stage"},
{"Status", "Stage"}
),
#"Added Custom" = Table.AddColumn(
#"Expanded Partition",
"Is Higest Stage",
each if [Stage] = [Hightest Stage] then [Hightest Stage] else null
),
#"Added Custom1" = Table.AddColumn(
#"Added Custom",
"Highest Status",
each if [Is Higest Stage] = null then null else [Status]
)
in
#"Added Custom1"
Next time, please provide sample data so the answerers don't have to create them themselves:
How to provide sample data in the Power BI Forum - Microsoft Power BI Community
Hello Imke,
My problem became a bit more complex and now for each order number, I need to identify the Highest Application Status (last column in the data sample) per order per candidate.
I need to identify the highest stage highest stage each candiate has attained (which I did) and
what that highest stage was (per order number, per candidate).
As before, each order had candidates who went through numerous stages but each ends up at the last stage. Some orders have more stages than others so Highest Stage could be any number.
I am only interested in the final (higest stage) for each order.
Thank you,
ps. I liked your previous solution and wonder if that one extra step might be obvious to you.
I will also post it again.
Thank you for all the hits and pointers so far!
Renee