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.


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

[frm-stats id=x type=count]

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



  • 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


  • 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]
  • thousands_sep - Set the thousands separator for the displayed total. Example: [frm-stats id=x type=count thousands_sep=","]
  • 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. Note If the < and > operators aren't working on your site, try replacing them with &lt; for < and &gt; for >.

    [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']
  • drafts - By default, the frm-stats shortcode does not count draft entries. You can choose to include only drafts, or both drafts and entries. This shortcode will count¬†only drafts in the statistic:
    [frm-stats id=x drafts=1]

    This shortcode will count both drafts and completed entries in the statistic:

    [frm-stats id=x drafts=both]

Note: As of WordPress 4.2.3, < and > are no longer processed correctly. We will be replacing these options with a more standard format, but for now you can replace < with &lt; and > with &gt;

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

This shortcode will get the total entry count across all forms for the current user. Add this function to your theme functions.php or to a new plugin, and add the shortcode [entry-count] in your page.

function my_entry_count($atts){
    global $user_ID;
    $ids = FrmDb::get_col( 'frm_items', array('user_id' => $user_ID));
    return count($ids);


Combined total for two fields

This creates a new shortcode [fields-stats] for use on your page. Your shortcode will look like this: [fields-stats ids="x,y,z"]. Replace x, y, and z with the IDs of the fields you want to total.

function my_fields_stats($atts){
    $defaults = array(
      'ids' => false,
    $atts = array_merge($defaults, $atts);
    $ids = explode( ',', $atts['ids'] );
    unset( $atts['ids'] );

    $total = 0;
    foreach ( $ids as $id ) {
      $atts['id'] = $id;
      $total += FrmProStatisticsController::stats_shortcode( $atts );
    return $total;


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);