Revised Version

Progress Bar

Progress Bar

Progress → From Rollups

Progress

(prop("Current") / prop("Target") >= 1) ? "✅" : (and(empty(prop("Current")), not empty(prop("Target"))) ? "❌" : format(slice("■■■■■■■■■■", 0, round(prop("Current") / prop("Target") * 10)) + " " + format(round(prop("Current") / prop("Target") * 100)) + (and(empty(prop("Current")), empty(prop("Target"))) ? "" : "%")))

(prop("Current") / prop("Target") >= 1) ? "✅"

If Current divided by Target is greater than or equal to 1, display ✅

: (and(empty(prop("Current")), not empty(prop("Target"))) ? "❌"

Otherwise if Current returns nothing but Target returns something, display ❌

: format(slice("■■■■■■■■■■", 0, round(prop("Current") / prop("Target") * 10))

Otherwise divide prop("Current") by prop("Target"), round the results to a full number, then remove that number of squares from ■■■■■■■■■■

+ " " + format(round(prop("Current") / prop("Target") * 100))

Add the rounded percentage after the squares.

+ (and(empty(prop("Current")), empty(prop("Target"))) ? "" : "%")))

And add a % symbol if both Current and Target are not empty.

Found Version 1

if(prop("Current") / prop("Target") == 0, " ❌", if(smallerEq(prop("Current") / prop("Target"), 0.1), "■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(smallerEq(prop("Current") / prop("Target"), 0.2), "■■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(smallerEq(prop("Current") / prop("Target"), 0.3), "■■■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(smallerEq(prop("Current") / prop("Target"), 0.4), "■■■■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(smallerEq(prop("Current") / prop("Target"), 0.5), "■■■■■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(smallerEq(prop("Current") / prop("Target"), 0.6), "■■■■■■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(smallerEq(prop("Current") / prop("Target"), 0.7), "■■■■■■■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(smallerEq(prop("Current") / prop("Target"), 0.8), "■■■■■■■■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(smallerEq(prop("Current") / prop("Target"), 0.9), "■■■■■■■■■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(smallerEq(prop("Current") / prop("Target"), 0.99), "■■■■■■■■■■ " + format(round(prop("Current") / prop("Target") * 100)) + "%", if(prop("Current") / prop("Target") == 1, " ✅", ""))))))))))))

Found Version 2

if(prop("Sections Read") / prop("Sections") == 0, " ✖︎", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.1), "◉ ", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.2), "◉◉ ", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.3), "◉◉◉ ", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.4), "◉◉◉◉ ", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.5), "◉◉◉◉◉ ", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.6), "◉◉◉◉◉◉ ", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.7), "◉◉◉◉◉◉◉ ", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.8), "◉◉◉◉◉◉◉◉ ", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.9), "◉◉◉◉◉◉◉◉◉ ", if(smallerEq(prop("Sections Read") / prop("Sections"), 0.99), "◉◉◉◉◉◉◉◉◉◉ ", if(prop("Sections Read") / prop("Sections") == 1, " 🏁", ""))))))))))))

<aside> <img src="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/1649d2f9-1b45-478a-86b4-341fbe27e06f/benny.png" alt="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/1649d2f9-1b45-478a-86b4-341fbe27e06f/benny.png" width="40px" /> By BenLatest • Was this helpful? Please consider buying me a coffee. Cheers!

</aside>