PA Indicators for survey responses

CezaryBasta
Tera Guru

Hi all,

I have a problem with performance analytics. I have to create an indicator for average survey score.

Really simple scenario:

1. Indicator source on Metric Result (asmt_metric_result),

2. 2 automated indicators based on this source, one for sum of Actual Value field, the other one for count of records (no breakdowns or scripts)

3. 1 formula indicator (sum / count) (no breakdown or script)

However when I run the scheduled job that's supposed to collect data for indicators, I get java.lang.IllegalStateException: Sparse storage format has one field, sys_id. I tried googling around, but neither HI kb article nor any community thread similar to my problem could help.

I'll be grateful for any help.

--
See more of my content here.
8 REPLIES 8

pieter_goris
ServiceNow Employee
ServiceNow Employee

Hi Cezary,



does the job only collect for these 2 indicators, or are there more indicators collected in the same job?


Only for these two indicators.


--
See more of my content here.

Okay, create a new (don't duplicate; or 'insert and stay') indicator source on the table and a new simple (like COUNT) automated indicator and run this in a separate job.


If the table is not too big, don't use any conditions on your indicator source. On the indicator source form, click the blue preview button to see how many records match the indicator source:


Metric Result.New _ ServiceNow 2017-06-23 16-58-55.png



Can you post back the full error from the job log (if it generates an error)?


Thank you Pieter,



I did as you suggested and got no error back. So I started goin further - I added conditions to the automated indicator and run the data collector after every single one. And I found out that the error was caused after [Metric.Type.Name] [contains] [Level].


find_real_file.png


Here's the full error message:


Error collecting for 20170601 java.lang.IllegalStateException: Sparse storage format has one field, sys_id at com.glide.db.meta.SparseStorage.getValue(SparseStorage.java:70) at com.snc.pa.dc.Row.getValue(Row.java:104) at com.snc.pa.dc.Indicator.match(Indicator.java:233) at com.snc.pa.dc.DataCollector.map(DataCollector.java:421) at com.snc.pa.dc.DataCollector.collect(DataCollector.java:271) at com.snc.pa.dc.DataCollector.collect(DataCollector.java:213) at com.snc.pa.dc.DataCollector.collect(DataCollector.java:171) at com.snc.pa.dc.DataCollectorJob.collect(DataCollectorJob.java:230) at com.snc.pa.dc.DataCollectorJob.collectWithMutex(DataCollectorJob.java:147) at com.snc.pa.dc.DataCollectorJob.execute(DataCollectorJob.java:132) at com.glide.schedule.JobExecutor.executeJob(JobExecutor.java:103) at com.glide.schedule.JobExecutor.execute(JobExecutor.java:89) at com.glide.schedule.GlideScheduleWorker.executeJob(GlideScheduleWorker.java:219) at com.glide.schedule.GlideScheduleWorker.process(GlideScheduleWorker.java:157) at com.glide.schedule.GlideScheduleWorker.run(GlideScheduleWorker.java:67)

And the lines preceding that error:


Fetched 12 rows from asmt_metric_result


Applying map/reduce function for indicator source Survey.Responses.Test



pieter.goris, would you mind checking if you also have problem with Metric.Type.Name condition?


--
See more of my content here.