Insert Field Totals and Statistics

Knowledge BaseReports, Graphs, and StatisticsStatistics → Insert Field Totals and Statistics

Use this shortcode to display field totals and statistics in a page, post, View, or anywhere else shortcodes are accepted.

Usage

Insert the following shortcode on a page, post, View, or in any field in your form.

[frm-stats id=x type=count]

‘x’ = ID or key of the field you would like to display statistics for
‘count’ = type of statistics to display (all the different types are listed below)

Parameters

Required

  • id – ID or key of the field you would like to display statistics for
  • type – Specify the type of statistic you would like returned. If not specified, this defaults to total.
    • total: Adds up all the numeric values
    • count: Counts the number of entries
    • average or mean: Displays the average of numeric values
    • median: Displays the median of numeric values
    • star: Displays the average value in the format of a star rating graphic
    • maximum: Gets the maximum value from a set of values
    • minimum: Gets the minimum value from a set of values
    • unique: Counts the number of unique entries

Optional

  • user_id – Include only entries from a specific user in the statistic. This must be an integer or ‘current’. To get a user ID integer, go into Users, select a user, and the user ID number will be in the address bar. Example: [frm-stats id=x type=count user_id=current]
  • round – The maximum number of decimal places to show. If not specified, up to 100 decimals will be displayed. Example: [frm-stats id=x type=total round=2]
  • limit – Set a maximum number of entries to use for this stat. Example: [frm-stats id=x type=count limit=5]
  • value – Only include entries if they have a specific value. Example: [frm-stats id=x type=count value="Yes"]
  • entry_id – Add an entry ID or key to show statistics for a single entry, i.e. show the star rating for a single entry. Example: [frm-stats id=25 type=star entry_id=5]. In a View you can use [frm-stats id=25 type=star entry_id=[ id]]
  • any field ID in the same form – Only include entries where another field in the entry has a specific value or does NOT have a specific value. For example, you may get a total for field x when field 25 equals “Yes”:
    [frm-stats id=x type=total 25="Yes"]

    In the example above, 25 is the ID of another field in the form and “Yes” is the value that field 25 must have in order for the entry to be included in the statistic. In order to graph entries where field 25 is NOT equal to “Yes”, you can use this variation of the stats shortcode:

    [frm-stats id=x type=total 25!="Yes"]
  • field stats within ranges – Only include entries where another field falls within a specific range.
    Note: Dates, numbers, and text values can be used for the greater than and less than options.

    This shortcode will include values from field ‘x’ only if the date entered in field 25 is within the last month

    [frm-stats id=x 25>'-1 month']

    This shortcode will only count entries for field ‘x’ where the value of field 25 is between 1 month and 3 days ago:

    [frm-stats id=x '-1 month'<25<'-3 days']

    Include values from field ‘x’ when the date field (ID of 25) is between 2013-02-01 and 2013-03-01

    [frm-stats id=x '2013-02-01'<25<'2013-03-01']

PHP Alternative

echo FrmProStatisticsController::stats_shortcode(array('id' => x, 'type' => 'count', 'user_id' => 'current'));

All of the parameters listed above can be used in this function as well.

Total entry count across all forms

Add this function to your theme functions.php or to a new plugin, and add the shortcode [entry-count] in your page.

add_shortcode('entry-count','my_entry_count');
function my_entry_count($atts){
    global $user_ID, $frmdb;
    $ids = $frmdb->get_col($frmdb->entries, array('user_id' => $user_ID));
    return count($ids);
}


Percentage of a specific field value

After inserting this function in a new plugin or in your theme functions.php, add the shortcode [frm-percent id=x value="Option 1"] on your page.

add_shortcode('frm-percent', 'frm_stats_percent');
function frm_stats_percent($atts){
    $defaults = array(
    'id' => false, 'user_id' => false,
    'value' => false, 'round' => 100, 'limit' => ''
    );
    extract(shortcode_atts($defaults, $atts));
if (!$id) return; $type = 'count'; $value_count = FrmProStatisticsController::stats_shortcode(compact('id', 'type', 'value', 'user_id', 'limit')); $total_count = FrmProStatisticsController::stats_shortcode(compact('id', 'type', 'user_id', 'limit')); return round((($value_count / $total_count) * 100), $round); }