Skip to main content

ServiceNow - Create a word cloud widget and PA dashboard

Creating a Word Cloud Widget - Technical Specifications



First, ensure that an indicator (on the ‘pa_indicators’ table) exists, which you will use to base your widget data on. If not, then create a new one. Also, ensure that the ‘Indicator source’ field on the indicator record has a reference to an indicator source (on the ‘pa_cubes’ table). If not, then create a new one.

PA Text Index Configuration

Create a new PA text index configuration record by navigating to: Performance Analytics > Text Analytics > Setup and then click New to create a new record.

Populate field ‘Indicator source’ with the reference to the indicator source, as mentioned in the pre-requisites section above.

After that go to field ‘Fields to analyze’ and choose the fields that need to be analysed within the word cloud widget. Note: the fields to choose must only be of type text/string, such as: ‘Short description’ and ‘Description’. You can choose multiple fields.

Finally, ensure that field ‘Use system stop words’ is checked.

Using indicators on the PA Text Index Configuration

Once the PA Text Index Configuration record is created and saved, scroll down to the ‘Indicators’ related list on the new record and click the ‘Edit’ button, where you can choose one or more of the indicators that reference the indicator source specified in the referenced on the current form. Otherwise, create new one(s).

Once done, you will see a button on the PA Text Index Configuration form called: ‘Run historical collection’. Press it in order to collect historical data according to the specified indicator source.

Pressing this button will generate PA text indexes, which will appear under the ‘Performance Analytics Text Indexes’ related list, if any where to be indexed.

Creating the ‘Word Cloud’ widget

Navigate to: Performance Analytics à Widgets and click New to create a new widget.

Choose a name, and then select the main indicator, which relates to the chosen indicator source, after that set the ‘Type’ field to be ‘Text’ and then ensure that the ‘Visualization’ field is set to be ‘Word Cloud’. After that, scroll down to the ‘Display Settings’ tab and set the ‘Default field’ field to be one of the text/string fields that you want the widget to analyse.

Check if you need to modify any other fields, and then save the new widget.

Creating the dashboard

Now navigate to: Self-Service > Dashboards and click on ‘Create a dashboard’. Once you have specified the dashboard name and other setting, proceed to save it.

Once saved, scroll down the form and click on ‘View Dashboard’ related link. You will see the new dashboard with no widget added to it yet. Click the (+) plus icon on the top-right corner of the frame, and from the ‘Widget Category’ list select ‘Performance Analytics’, and then from the new list underneath choose ‘Text’. Now you should be able to see the new widget within the list. If not found, then you can type the widget’s name within the filter box. Once you select the widget, press the ’Add’ button.

Now you should have a successfully working word cloud widget as intended.



  • How to Set Up a Text Analytics Widget (Video)

  • ServiceNow - How to Setup Spotlight and Word Cloud Performance Analytics Features in Kingston

  • Create a text widget



Post a Comment

Popular posts from this blog

ServiceNow check for null or nil or empty (or not)

Haven't tested these all recently within global/local scopes, so feel free to have a play! option 1 use an encoded query embedded in the GlideRecord , e.g.  var grProf = new GlideRecord ( 'x_cls_clear_skye_i_profile' ); grProf . addQuery ( 'status=1^ owner=NULL ' ); grProf . query (); even better use the glideRecord  addNotNullQuery or addNullQuery option 2 JSUtil.nil / notNil (this might be the most powerful. See this link ) example: if ( current . operation () == 'insert' && JSUtil . notNil ( current . parent ) && ! current . work_effort . nil ())  option 3 there might be times when you need to get inside the GlideRecord and perform the check there, for example if the code goes down 2 optional routes depending on null / not null can use gs.nil : var grAppr = new GlideRecord ( 'sysapproval_approver' ); var grUser = new GlideRecord ( 'sys_user' ); if ( grUser . get ( 'sys_id' , current . approver )){

Get URL Parameter - server side script (portal or classic UI)

Classic UI : var sURL_editparam = gs . action . getGlideURI (). getMap (). get ( ' sysparm_aparameter ' ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); } Portal : var sURL_editparam = $sp . getParameter ( " sysparm_aparameter " ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); }