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, " 🏁", ""))))))))))))