jlord / sheetsee-core

Module with core data manipulation functions for sheetsee.js
BSD 2-Clause "Simplified" License
14 stars 13 forks source link

Standard - JavaScript Style Guide

sheetsee-core

This module is included in every Sheetsee build. It contains methods for basic data manipulation you might want to do.

Working With Your Data

Sheetsee pairs with Tabletop.js which will fetch the data from your spreadsheet and return it as an array of objects. You'll use these methods from Sheetsee after you have that data.

Methods

Here are the functions you can use!

Sheetsee.getKeywordCount(data, keyword)

Given your data and keyword to search by, this function returns the number of times it occurs throughout all of the data.

getGroupCount(data, 'cat')
// returns a number

Sheetsee.getKeyword(data, keyword)

Given your data and a keyword to search by, this function returns every row which contains a match to the keyword.

getKeyword(data, 'cat')
// returns array of objects

Sheetsee.getColumnTotal(data, column)

Use only with columns of numbers

Given your data and column header, this function sums each cell in that column and returns the value.

getColumnTotal(data, 'cuddlability')
// returns number

Sheetsee.getColumnAverage(data, column)

Given your data and column header, this function returns the average value of every cell in the column.

getColumnAverage(data, 'cuddlability')
// returns number

Sheetsee.getMin(data, column)

Given your data and column header, this function returns an array of the rows with the lowest values within the specified column.

getMin(data, 'cuddlability')
// returns array

Sheetsee.getMax(data, column)

Given your data and column header, this function returns an array of the rows with the highest values within the specified column.

getMin(data, 'cuddlability')
// returns array of objects

Sheetsee.getMatches(data, filter, column)

Takes data, a filter term to search by within a column and returns every row that matches,

getMatches(data, 'dog', 'kind')
// returns array of objects
// [{'name': 'coco', 'kind': 'dog'...}, {'name': 'wolfgang', 'kind': 'dog'...},{'name': 'cooc', 'kind': 'dog'...} ]

Sheetsee.getOccurance(data, column)

Takes data column header and returns an object with key/value pairs of how often an item occurs in the column.

getOccurance(data, 'kind')
// Returns an object
// {'dog': 3, 'cat': 3}

Math

Don't Forget JavaScript Math! Create variables that are the sums, differences, multiples and so forth of others. Lots of info on that here on MDN.

var profit09 = Sheetsee.getColumnTotal(data, '2009')
var profit10 = Sheetsee.getColumnTotal(data, '2010')
var difference = profit09 - profit10