My browser is paused after drawing pivot.

Answered
jiwon asked on June 22, 2018

I have data set have 3 columns and 150,000 rows.
I saw your demo page that draw one million rows data to pivot so I thought that 150,000 rows data is not a big problem.
 
My logic flow is this:
User makes condition -> select data from query as user's condition (the result came out 150,000 rows) -> give result data to flexmonster by 'setReport' method.
 
And I tried these things, too. give result data to flexmonster by ajax result, json file, csv file.
But It comes out same problem all.
I don't know how to deal with it.
 
I can give you my 150,000 rows data. but I don't want to attach file in this place.
If you let me know way of private contact, I'll send you file.
 

7 answers

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster June 22, 2018

Hello Jiwon,
Thank you for writing. You can send all the sensitive information by email. Also could you please specify what browser you are using for the tests?
That will definitely help us in our investigation. 
Waiting for the update from you.
Regards,
Dmytro

Public
jiwon June 22, 2018

I send a mail to you. Please check this 🙂 Thanks!

Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster June 22, 2018

Hello Jiwon,
Thank you for the provided details. We have converted the excel file to the CSV and loaded it into the component. Everything works as expected. Here is a video example: https://www.screencast.com/t/WzEyL4J2 .  It seems that you may have sent data in the incorrect format. Please have a look at the following article: https://www.flexmonster.com/doc/json-data-source/ . It looks like the JSON format should fit you better. In such case, the simple setReport call should look the following way: 
setReport({
    dataSource: {
         data: jsonReference
    }
})
Please let us know if the information above was helpful to solve the case.
Regards,
Dmytro

Public
jiwon June 22, 2018

Thank you for replying fast, Dmytro.
But My problem is not solved yet.
I tried your way of video. local csv what imported from local did well. The browser not paused after drawing pivot.
But My system doesn't send data of pivot from user's local computer. we make data from server-side and then make json file.
we call setReport method on ajax response area all at once.
and we apply slice options(rows, columns, value) on slice option of setReport method at once.
I want to see video that you test in condition what I said.
: use setReport with slice options(rows, columns, value) at once. not control by toolbar button. Just code. I tested setReport with slice options(only rows and columns. not column). In this condition, 150,000 data works good, too. So I thought that columns options is little bit awkward.
Please check this. I'll waiting your reply.
Regards,
Jiwon.
 
(+) we found these problems. please check this, too.

  1. we apply new csv data and slice option(only rows and value) all at once.(I tested apply csv file to setReport options and remote CSV file, toolbar buttons) Until this step, 8GB desktop and 16GB desktop works well. After drawing pivot, we apply measure of slice by toolbar button. 8GB desktop's browser paused. 16GB desktop's browser not paused, draw well. At this point, we worried about that many of user doesn't have good memory desktop. I'm not said exact reason of problem. Just said to you about my test condition.
Public
Dmytro Zvazhii Dmytro Zvazhii Flexmonster June 25, 2018

Hello Jiwon, 

Thank you for your feedback. When you are loading data asynchronously you need to be sure that component is already loaded and ready to listen to your requests. For such cases, we recommend using Flexmonster's events. The reportcomplete event allows making sure that everything is up and running. After that, you can run setReport API call. Here is an example: http://jsfiddle.net/flexmonster/2qb8wzh1/. You can find more information about our events here: https://www.flexmonster.com/api/reportcomplete/ .
As an alternative approach, you can load data firstly and then initialize pivot object with all the configurations without using setReport API call.

Regarding your latest question, we assume that the new data file you were using for tests is slightly bigger than the previous one. Please note, that Flexmonster component is a browser application. Therefore, it is limited with the RAM and CPU resources comparing to the desktop applications such as Excel Pivot Table. It is difficult to define strict data limit since that really depends on the case. As you have already noticed, that number depends on the client's RAM size, data structure and also on the browser which is used for the tests. However, such difficulties can be solved with a certain amount of optimization. In such cases, we recommend our clients prefiltering the data on the server side. Such approach produces more specific reports and protects weak client's machines from crashing. Please find our recommendations in the following article: https://www.flexmonster.com/blog/blog-perform-faster/.

Let us know if you have any other question.
Regards,
Dmytro

Public
Albert Ryan Banez January 7, 2021

Hello Dmytro,
I'm doing ajax call as well inside reportComplete. But how can I show the Loading icon in the center of the grid so while waiting for ajax success. It will show Loading....
Regards,
Albert

Public
Vera Didenko Vera Didenko Flexmonster January 11, 2021

Hello, Albert, 
 
Thank you for your question.
 
Please see our reply in the following Support forum thread: https://www.flexmonster.com/question/loading-icon/#answer-34979.
 
Kind regards,
Vera

Please login or Register to Submit Answer