rwjblue / pivot.js

Build Pivot Tables from CSV/JSON Data
http://rwjblue.github.com/pivot.js/
Other
783 stars 134 forks source link

Stack size exceeded #9

Closed sabas closed 11 years ago

sabas commented 11 years ago

I'm working with a 1400 rows csv file and if I set a

Uncaught RangeError: Maximum call stack size exceeded

on Chrome if I set as summarizable a field with three possible values.

I was trying to emulate the excel behaviour of multiple columns as labels, using one column in the filter and the other in the total, but it's not the correct approach, because the totals should have another field.

It's possible to have multiple columns as labels?

(this second one should be in another issue perhaps)

agarone-mm commented 11 years ago

I ran into the same issue, but broke up my csv strings into 1000-line chunks.

csv = 1000_LINES_OF_CSV; csv += 1000_MORE_LINES_OF_CSV;

I did this with more than 7000 lines of CSV. Pivot.js had no problems after that.

agarone-mm commented 11 years ago

The easiest way to avoid this problem is to use an external .csv file, though, instead of having the csv contents in the code:

$('#pivot-menu-container').pivot_display('setup', {url:'PATH/TO/YOUR/CSV.csv',fields: fields});

rwjblue commented 11 years ago

Thanks for tracking this down a bit, although, I'm still not 100% sure what is actually causing the issue.

Sent from my iPhone

On Apr 4, 2013, at 11:25 PM, agarone-mm notifications@github.com wrote:

The easiest way to avoid this problem is to use an external .csv file, though, instead of having the csv contents in the code:

$('#pivot-menu-container').pivot_display('setup', {url:'PATH/TO/YOUR/CSV.csv',fields: fields});

— Reply to this email directly or view it on GitHub.

sabas commented 11 years ago

From what I see from the test, I used basically the demo code of the package with setupPivot({url:'export.csv', fields: fields, rowLabels:[]})

the file is 19k lines and 24 columns.

rwjblue commented 11 years ago

So, you receive the error when loading from a URL or from an embedded string?

Sent from my iPhone

On Apr 5, 2013, at 3:10 AM, sabas notifications@github.com wrote:

From what I see from the test, I used basically the demo code of the package with setupPivot({url:'export.csv', fields: fields, rowLabels:[]})

the file is 19k lines and 24 columns.

— Reply to this email directly or view it on GitHub.

sabas commented 11 years ago

From an url. It's due to this {name: 'Container Size', type: 'integer', filterable: true,columnLabelable: true, summarizable:'count'}, or similar parameter. When I add summarizable to these gives the errror. Basically this field value is either 20 or 40.

rwjblue commented 11 years ago

If you use columnLabelable it will try to make a another column for each unique summarized value (IIRC). If you have too many unique values this may cause the error you are seeing.

Try setting this column up as rowLabelable instead.

Sent from my iPhone

On Apr 5, 2013, at 8:27 AM, sabas notifications@github.com wrote:

From an url. It's due to this {name: 'Container Size', type: 'integer', filterable: true,columnLabelable: true, summarizable:'count'}, or similar parameter. When I add summarizable to these gives the errror. Basically this field value is either 20 or 40.

— Reply to this email directly or view it on GitHub.

sabas commented 11 years ago

Sorry, I hadn't answer anymore, I close the issue...