PHPackages                             kuriousagency/bigreports - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. kuriousagency/bigreports

ActiveCraft-plugin

kuriousagency/bigreports
========================

Run reports on large data sets.

1.1.5(4y ago)09852proprietaryPHPCI failing

Since Mar 7Pushed 4y ago1 watchersCompare

[ Source](https://github.com/KuriousAgency/craft-bigreports)[ Packagist](https://packagist.org/packages/kuriousagency/bigreports)[ RSS](/packages/kuriousagency-bigreports/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (3)Versions (14)Used By (0)

Big Reports plugin for Craft CMS 3.x
====================================

[](#big-reports-plugin-for-craft-cms-3x)

Big Reports is a plugin that allows you to create reports using Twig and have the results emailed to you as a CSV. Ideal for large data sets.

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3.0.0 or later.

Installation
------------

[](#installation)

To install the plugin, follow these instructions.

1. Open your terminal and go to your Craft project:

    ```
    cd /path/to/project

    ```
2. Then tell Composer to load the plugin:

    ```
    composer require kuriousagency/bigreports

    ```
3. In the Control Panel, go to Settings → Plugins and click the “Install” button for Craft Reports.

Craft Reports Overview
----------------------

[](#craft-reports-overview)

Set your columns by using the `craft.bigreports.service.columns()` method, then add your row data by using the `craft.bigreports.service.row()`.

Last thing to do is to use the `craft.bigreports.service.data()` method to output the data.

Here is an example report in Twig:

```
{% do craft.bigreports.service.columns(["Firstname", "Lastname", "email"]) %}

{% for user in craft.users.limit(null).all() %}
	{% do craft.bigreports.service.row([
		user.firstName,
		user.lastName,
		user.email
	]) %}
{% endfor %}

{{ craft.bigreports.service.data }}
```

**Options**

Big Reports can have options that are based on Craft CP forms macro.

```
{{ craft.forms('dateField', {
    id: 'startDate',
    label: "Start Date"|t,
    name: 'options[startDate]',
    value: options.startDate
}) }}
```

These options can then be accessed in the results. Here's an example that lists all users that have registered between two dates

```
{% set users = craft.users.
	dateCreated(['and','>= ' ~ options.startDate|date('c'),'
