In-Cell Progress Bar for Each Record


#1

Hi -
We’re looking to pull a percentage of a task complete and reflected that % as a progress bar in a cell for a single record. We want the progress bar to be continuous (up to an integer) as the % of the task completed is updated… I.e. (just one of many use cases) if we have a record that is counting # of forms submitted for a given record, and the total number is noted in the record, the percentage of completed forms with respect to the completed record is reflected in an updating graphic progress bar.

Bootstrap plugin example: https://www.w3schools.com/bootstrap/bootstrap_progressbars.asp.

The progress bar Airtable feature should update from as the percentage cell on the record self-updates upon completion of a given trigger elsewhere in the Airtable ecosystem.

Many thanks!


#2

In the meantime, here is a status bar you can drop into any [knock wood] base as needed.

statusBar
As configured, it requires you to add three Formula fields, {BarGoal}, {BarCurrent}, and {StatusBar}.

  1. {BarGoal} should be set to equal the ABS() value of whichever Airtable field contains your target goal.

  2. Assuming {Current} is the field containing your current measurement, {BarCurrent} should be set to

    IF({Current},ABS({Current}),0)
    
  3. {StatusBar} should be configured for the following formula:

IF(
    BarGoal,
    REPT(
        '█',
        INT(
            (IF(
                BarCurrent<=BarGoal,
                BarCurrent,
                BarGoal
                )/BarGoal)*18
            )
        )&
        IF(
            ROUND(
                MOD(
                    (IF(
                        BarCurrent<=BarGoal,
                        BarCurrent,
                        BarGoal
                        )/BarGoal)*18,
                    1
                    ),  
                0
                )=1,
            '▌'
            )
    )

As provided, the status bar is 18 characters wide at 100%; this width can be varied by replacing the value ‘18’ with your preferred width. The status bar maxes out at 100%, and blank values of {BarCurrent} are treated as zero (0). The formulas for {BarGoal} and {BarCurrent} take the absolute values of your goal and current metrics to avoid generating errors, but negative target or current values probably won’t work the way you expect.

Optionally, the status bar can be preceded with the current percent of goal reached by using the following formula:

IF(
    BarGoal,
    REPT(
        ' ',
        3-LEN(
            INT(
                (IF(
                    BarCurrent<=BarGoal,
                    BarCurrent,
                    BarGoal
                    )/BarGoal)*100
                )&''
            )
        )&
        INT(
           (IF(
                BarCurrent<=BarGoal,
                BarCurrent,
                BarGoal
                )/BarGoal)*100
            )&
        '% '&
        REPT(
            '█',
            INT(
                (IF(
                    BarCurrent<=BarGoal,
                    BarCurrent,
                    BarGoal
                    )/BarGoal)*18
                )
            )&
            IF(
                ROUND(
                    MOD(
                        (IF(
                            BarCurrent<=BarGoal,
                            BarCurrent,
                            BarGoal
                            )/BarGoal)*18,
                        1
                        ),  
                    0
                    )=1,
                '▌'
                )
    )

Progress Bar on Website
#3

Thanks so much! I really appreciate this response.