Forum Discussion
Anonymous
4 years agoNot applicable
Add new column based on whether another column's value is top N
Hey guys, I've got a column of floating-point values, sorted in descending order, called "Score". I'm trying to add a new column called "Is Top 10?" where the value for the top 10 largest values ...
BA_Pete
Super User
4 years agoHi Anonymous ,
Try this:
if
List.Contains(
List.FirstN(
List.Sort(chgTypes[Score], Order.Descending),
10
),
[Score]
)
then "Y" else "N"
Full query:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("Pc3LCcBACATQXvYcwhj/tSzpv40sRPX0UGbce+HOyFzv9TOGUCuGGDfZvWjZSztTVPdoGp6iTCsn9Z3BUiTTIahTcKemoj9ApgFQHvKJvR8=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Score = _t]),
chgTypes = Table.TransformColumnTypes(Source,{{"Score", type number}}),
addIsTop10 = Table.AddColumn(chgTypes, "isTop10", each if
List.Contains(
List.FirstN(
List.Sort(chgTypes[Score], Order.Descending),
10
),
[Score]
)
then "Y" else "N")
in
addIsTop10
Output:
Pete
Anonymous
4 years agoNot applicable
Thank you, BA_Pete!