AskiaAnalyse 5.5.3
We've listened to our clients and are proud to have incorporated many of their great suggestions into AskiaAnalyse 5.5. The key new features are described in this article.
5.5.0
- Update of AskiaAnalyse user interface icons
- Freeze row and column headers in AskiaAnalyse results tab
5.5.2
- Progress bar when opening portfolio
- Speed improvements
- Ability to check text in conditional formatting menu
- More options for opening QEX files directly with AskiaAnalyse
- AskiaAnalyse can now communicate with external programs such as R & Python
- Conditional formatting option for question totals
- Automation scripts
- View data can be added to the portfolio
5.5.3
- New AskiaAnalyse extensions features
- AskiaAnalyse Extensions files added to suite installer + Option to install R
- Added a Python environment path to run extensions
- Clean up analyse extensions
- Analyse Extensions <PreCommandLine> required in xml
- New Automation scripts features
- Added methods and properties for auto-analyse
- Allowed user to create sub-populations and set weighting and level
Interface icons
Update AskiaAnalyse user interface icons. (5.5.0)
The UI and AskiaAnalyse developers have given AskiaAnalyse a more modern feel with updated icons throughout the application's user interfaces:
Freeze row and col headers
Freeze row and column headers in Analyse results tab. (5.5.0)
In your results tab, right-click and you will have the option to fix the header rows and columns:
Progress bar and portfolio
Progress bar when opening portfolio. (5.5.2)
When you load a portfolio, you will now see a progress bar at the bottom of the AskiaAnalyse window to the left of the file name:
Speed improvements (5.5.2)
The developer has made a few 'under-the-bonnet' enhancements to the speed and memory consumption required when calculating results (especially in calculated variables):
- Smart pointers to store survey data while running cross tabs
Modern C++ programs use amrt pointers to hold data - this has many advantages, one being that there are less memory leaks but the main advantage is that instead of copying an object (here we are talking of million records), it can be shared by many processes. Because we extensively use the cache, this means that the software is even faster: instead of copying the data (and consuming memory) it shares it.
It's hard to evaluate the extent of this development but it's sure to increase speed and decrease memory consumption.
Update: over all the analyse unit tests, we have achieved an increased speed of 10%.
- Multi-threaded calculation of question 'Closed by scripts'
We have added multi-threading to the calculation of the question "closed by scripts". Up to 5 threads are used to recalculate these types of questions
- Removed creation of virtual windows when recalculating questions
By removing the virtual windows (which can be slow if they have the Intellisense), we have greatly improved the speed of recalculating questions.
Conditional formatting on text
Ability to check text in conditional formatting menu. (5.5.2)
Until now the conditional formatting menu has allowed basic checks on numeric cells (=, <>, >, < etc.) and a character count of alpha cells. The latter made conditional formatting for column significance tests against totals possible, but not easy. However, we have now removed the need count your columns beforehand and for the set-up of two separate conditional format specifications by adding in new operations on strings (Contains, Does not contain, =, <>):
Now you can have one conditional format specification like below:
(note we set cells with character length = 0 back to the background colour because these are also included in the Does not contain '-' rule which sets cells to be green)
This single conditional formatting specification will work for any number columns.
26 columns or fewer:
More than 26 columns:
Opening a QEX
More options for opening QEX files directly with Analyse. (5.5.2)
You can now open a field task and inverted data by directly pointing to a QEX:
-
- Open field task: you can now open a QEX file directly
- Inverted data: you can now open a QEX file directly
Field task:
Often the default 'Askia file' is the QEX stored in the working directory:
Before we were forced to change this as QEX could not be read:
Now there is no need to change this or create a new QES:
Inverted data:
With the inverted QES file loaded in Analyse, select the Edit menu > Generate fast metadata files:
Firstly, this creates a .qex file with '-meta' added to the name. Remove the suffix from the .qex name or add '-meta' to the .dat folder name (before the .dat)
Secondly, it creates elements which were formerly stored in the .qes such as Tab templates, Profiles, Calculated variables, Weightings, Sub-populations etc. as .xml and saves them in the .dat directory:
R & Python
📰 Analyse can now communicate with external programs such as R & Python. (5.5.2)
The same Node.js technology that exists in Askia Design is now implemented in Askia Analyse. This allows Analyse to have its own REST API so we can access information about the metadata and get the data from a .qes or .qew file through http communication. This opens up integration possibilities with R, Python and any other modern programming language making use of their extensive libraries.
The blog article in the link above gives full background and detail of how the functionality works. Below are a few key related screenshots:
Total and conditional formatting
Conditional formatting option for question totals (5.5.2)
Previously, the conditional formatting for question totals was tied to the row totals so you couldn't have a separate rule for each. Now we have added and additional option so you can:
Automation scripts
📁 Automation scripts.
(5.5.2)
We now have a new scripting interface in Analyse 5.5.2 accessible in the 'Automation' menu.
Generic scripts can be run that generate a portfolio for any survey. If the survey has 'Tags' set in Design 5.5.2 or higher (e.g. tags for question types such as Demographics, NPS or tags for response types such as Main brand, Main competitor) then it gives more flexibility to quickly produce the required analysis. Some examples shown below:
i) Generate a portfolio which has each single question (excl. calculated and developed questions) in its own tab definition. Each tab definition has a tab template, 'CountsAndCumulated', from your library set into it:
ii) Generate a portfolio which has a tab definition for every level found in your survey file and display the loop questions as a summary table:
iii) Start with a portfolio that contains a generic NPS set-up on a numeric question:
Call this portfolio in your script to apply the set-up to other numeric questions (those in a brand loop). In each tab definition, show the NPS of the main brand, followed by one of the three competitor brands and add the demographics questions to the columns as a break.
Variable tags (Demographics, NPS):
Response tags (MainBrand, Main Competitor):
The script and portfolio it generates automatically:
The syntax on line 28 allows me to override the tab template that was set in the the original portfolio with one from my tab template library.
The functionality is fairly new and has already some improvements added in 5.5.3. Keep your eyes peeled for knowledge base and blog articles which will showcase more useful applications of the automation scripts and attempt to explain the structure and keywords of the language in some more detail.
You can also run automation scripts from Analyse command line using the /"automate:" parameter e.g: /"automate:C:\Qes\CreateSummaryTabs.txt"
Save view data definition
View data can be added to the portfolio. (5.5.2)
In the View > Data menu you can show raw data for selected variables. These can now be saved in the portfolio by pressing the 'Send to portfolio' button. They can have tab-styles applied to them and even key options from the tab-template (e.g. 'Break according to page layout'). When exported out to Excel, they also work with your table of contents / hyperlinks.
In order to set the tab style or break setting, right-click on a regular tab definition which already has the settings you need > Copy > right-click on your raw data definition > Paste tab-template and/or Paste tab-style.
New Analyse extensions features:
Analyse Extensions: files added to suite installer + Option to install R (5.5.3)
On the screen where it asks you to choose your set-up type, select 'Complete' and you will see the following in the installation wizard:
As well as installing version 3.6.1. of R and the accompanying Java Development Kit, it installs all the R & Python scripts required for the default extensions to be correctly set up:
Added a Python environment path to run extensions (5.5.3)
To run Python extensions, you sometimes need to specify a path for your environment. This is now added in the options:
In the build of your extension xml files you can access this path with: ??PythonEnv??.
Clean up analyse extensions (5.5.3)
-
-
-
- Add "Closed", "Single" and "Date" to the constraints for selecting questions
- Made the multiple question selection dialog box work over these constraints (and allow multi-select)
- Permitted to write back to closed questions (using numbers for single or binary for multiple)
-
-
Analyse Extensions: <PreCommandLine> required in xml (5.5.3)
Sometimes we need to run additional files/programs before the call to run the analysis in R or Python. The <PreCommandLine> tag can now be used for this purpose in the xml.
New Automation scripts features:
Added methods and properties for auto-analyse (5.5.3)
We have added a new method for Responses called FilterByTag which lets you select a list of responses depending on which tags have been set:
Dim arrResponses = HiddenBrands.Responses.FilterByTag({"MainBrand"; "Competitor"})
And we have also added the property Index to Response and Responses which had not been:
Dim arrResponses = HiddenBrands.Responses.FilterByTag({"MainBrand"; "Competitor"})
'Get the list of brand indexes which are the main ones or the competitors
Dim arrIndexes = arrResponses.Index
Allowed user to create sub-populations and set weighting and level (5.5.3)
We have let the user create sub-population and for this we have created a SubPopulation object and the first writable properties in the history of AskiaScript:
' Create SP Dim mySP as SubPopulation mySp.Name = "Males" mySp.Description = "All Males" mySp.Script = "??i1. Gender?? has 1" mySp.Save() Dim resDemo As PortfolioItem resDemo.SetType(1) resDemo.SetTitle("Demographics") resDemo.TabDef.SetSubPopulation(mySP) resDemo.TabDef.Level = "Household" resDemo.TabDef.Weighting = "NatRepUK"
In summary we have created a new object called SubPopulation
With the following properties:
-
-
-
- Name
- Description
- Script
-
-
With the method
-
-
-
- Save
-
-
And we have added the following method to the TabDef object
-
-
-
- SetSubPopulation
-
-
And these properties to the TabDef object
-
-
-
- Level
- Weighting
-
-