45
GSM Query training 1

GSM Query Training

Embed Size (px)

DESCRIPTION

GSM Query Training

Citation preview

GSM Query training

Objectives of the courseAfter completing this course, the delegate will be able to:

a) select the most appropriate query for the type of analysis

b) design the query in the most efficient manner

c) use queries for both structured and ad-hoc analysis methods

This course steps through the different types of queries, teaching each method through real world scenarios, from simple queries and building in complexity, to give engineers the understanding and confidence to design their own queries from the minute the course ends.

The examples in this course note should be followed, but it is not recommended that the expressions are copied & pasted into the Expression Builder, as hidden formatting characters from MS Word may also be copied, causing errors in how the event runs.Course Pre-Requisites

Delegates must have completed the Platform Training before beginning this Query Training course. This course documentation provides screenshots based on Build 4.03.00175 with specific settings enabled in Tools > Preferences Each PC should be set in an identical manner. Subsequent releases may include differences in averages or message totals due to different features being introduced in the future.

Queries DefinitionThe Actix Platform includes a sophisticated method of analysing drive-test and protocol data, further than simply visualising the collected measurements on a map/chart/table.

Queries are a method for combining collected measurements together, applying thresholds and applying built-in functions to the measurements to highlight radio problems, generate KPI statistics or investigate problems.

Query TypesQueries are available in 6 different types, each with an increasing level of complexity:

Filters Histograms Statistics Time-Series (called Binned Queries) Multi-Dimensional Statistics (called Crosstab Queries) Event-Triggered Window Statistics (called Event Queries).It is warmly suggested to save your queries any time you modify them. To make them available any time you start Analyzer, they need to be saved in the Actix User Data, C:\Documents and Settings\All Users\Application Data\Actix\Analyzer\Queries.FiltersThese can be very simple, and be applied in combination to narrow down a problem to a specific area. It is important to note that the filter is applied to each view, meaning that the underlying raw data has not changed, but all maps, charts, tables etc now contain a filtered view, regardless of which parameter is being viewed.

For example, if a simple filter of RxLevEither < -92 dBm is applied to the following chart in Figure 1,

Figure 1: ServRxLevEither displayed on a chart.only the values satisfying the filter will be returned, as you can see in Figure 2:

Figure 2: Filtered ServRxLevEither displayed on a chart.Histograms

These can return the PDF (count) histogram for any parameter or expression, either using the ranges found in the logfile, or by specifying ranges or discrete values for the histogram bars and can only be viewed in the histogram tab of the chart, table and workbook, as can be seen by the following breakdown of Handover Interval times, Figure 3.

Figure 3: Handover Interval histogram.Statistics

These return the Mean, Mode, Median, Maximum, Minimum, Count, Standard Deviation and Variance of the parameter or expression used. These can only be viewed in the Statistics tab of the table and workbook.Binned QueriesThese can be as simple or as complex as needed to be, but have the advantage of running at every binned message point in the file, so they can be used to create a new time-series dataset. As you are essentially creating a new time-series parameter, these can be viewed on the map, time view chart, series tab of the table and workbook. However, these will be subject to which ever binning method has been chosen, but it is also possible to override the platform binning setting from inside the expression builder window.

Figure 4: Example of Binned Query.Crosstab QueriesThis type of query can be used to generate statistics against any dimension available. The results will be across the whole file, so the results are not in the time-series domain anymore, but any number of statistics can be returned, from a set of possible options such as Count , Percent True , Last Value or Sum . These have their own visualisation tool the Statistics Explorer, as you can see in Figure 5. Here you can see 6 statistic columns for each unique Site ID row.

Figure 5: Crosstab Query displayed on the Statistics Explorer.Event Queries

This type of query is essentially the same as a crosstab query with the difference being that a trigger event is defined first, and an optional window before and after (measured in either time or number of messages) can be defined. It is within these windows that the statistics are calculated.

Figure 6: Time window mechanism in the Event Queries.

Introduction to the Analysis Manager

The Analysis Manager is the central point for managing queries. It allows new queries to be written, edited and deleted, existing queries to be imported and exported, and event queries to be set to load-time. In Figure 7, you can see the 6 different types of queries it is possible to create.

Figure 7: Analysis Manager window.

It is also possible to view any of the existing queries already embedded into the solution by selecting the second tab Existing Analyses.

Figure 8: Existing Analyses.

There are also other terms which will be used throughout this query training course which, although new to begin with, will become common tools for creating and editing queries, and they are the elements of the Expression Builder.

Figure 9: Expression Builder window.

Configuration

It is important to aid understanding of the query design that all PCs are set identically during the training. This is to allow the course instructor to be able to explain any problems as the course progresses. This section contains the settings needed for the remainder of the course: The Analyzer Classic view will be used throughout the training course Cellrefs file should be set to the Training GSM Cellrefs.txt file (and restart Analyzer)

GPS Interpolation should be disabled

Time offsets from GMT should both be set to 0 (switch and mobile)

Binning should be set to message with the bin size of 1.

Scanner Load Mode should be set to Load all scanner data

Load Speed Default should be set to Load all

GSM Bands Used should be set to 900, 1800 and 1900 GPS Transformation should be set to Default (degrees)

In the Tools > Display Thresholds window, ensure the values are set to the defaults.

Parameters Used

While there are various features allowing users to search for, and save parameters as

Favourites, Figure 10 can be used as a reference for the various parameters used in this course.

Figure 10: GSM Attributes.

Query Design

Coverage Holes and Bad Quality filtersLogfile Nemo Drive Test 1.dt1

Name Coverage Holes Filter and Poor QualityAim To find areas in the network which have bad RxLev coverage (idle and

dedicated mode) and Bad QualityDefinition:

1) Coverage Holes Filter: ServRxLevEither < -952) Bad Quality: ServRxQualSub >= 5Procedure:1) From Analyzer Classic view, load the logfile Nemo Drive Test 1.dt1.

2) Locate the ServRxLevEither parameter from the Attribute Explorer (under GSM > DownLink Measurements grouping) and by right-clicking on it, display it on a chart.

3) By right-clicking on the handset stream name, select Create new filter .

Figure 11: Create a New Filter.

4) Create the filter with the title as above, and select the ServRxLevEither parameter using the attribute picker button (). You will notice that the wizard automatically puts the state( ) function around the parameter name. This is because not every message contains every parameter. So to include it in a filter, it will need to be held across messages which do not contain the RxLev measurements.

5) Selecting the filter type to be strictly less than ( Downlink Measurements grouping). Notice how this parameter has also been filtered. Filters are applied to the WHOLE STREAM meaning that when you display the best RxQual value on a chart, you are only showing the RxQual values where the RxLev is greater than -95dBm.

Figure 14: Filtered ServRxLevEither and ServRxQualSub displayed on a chart. Only Coverage Holes Filter is applied.8) Now open Tools > Analysis Manager, select the Filter option and click the New button. This will open the Filter Wizard.

9) Give your new filter the title: Poor Quality

10) Using the Attribute Picker as before, select ServRxQualSub from the DownLink Measurements grouping.

11) Choose the greater than or equal to (>=) option, and enter 5 as the threshold.

12) Click OK to close the wizard, and OK again to save your query into the workspace.

13) Right-click on the handset stream name and follow the Filter sub-menu. The new Poor Quality filter is not selected. This is because it was created from the Analysis Manager, not from the right-click menu of that stream.

14) Select your new filter and you will see the chart filtered even further to only show areas where there is both RxLev < -95 AND RxQual >= 5.

15) Right-click on the scanner stream name and follow the Filter sub-menu. Select the OR option, and you will see your chart change to look like in Figure 15. This is because you are now filtering for all areas where either RxLev < -95 OR RxQual >= 5. You have displayed the RxLev and RxQual on the chart, and are now showing all areas where either of these 2 filters has been triggered.

Figure15: Filtered ServRxLevEither and ServRxQualSub displayed on a chart. Coverage Holes Filterand Bad Quality are both applied.

16) Disable both the filters by de-selecting it in the filter list again. Note:When filters are enabled, they have the small tick displayed next to them. The important point to remember about filters is that regardless of which parameter you use to filter the device stream, all parameters you view on the map, chart, table etc. will also be filtered. This is why it is best to use the attribute picker to choose your parameter, because Actix Analyzer will automatically add the state( ) function around your filter parameter, to hold it across all other messages that do not contain that parameter. See the Annex for a more detailed description of the state( ) function.

Figure 16: How to de-select the filters.

Coverage Holes binned

Logfile: Nemo Drive Test 1.dt1Name: Coverage Holes binnedAim: To find areas in the network which have bad server coverage.Definition: Serving Cell RxLev < -95 dBmProcedure:1) Unless it was opened in the previous exercise, open logfile Nemo Drive Test1.dt1.

2) Open the Tools menu and select Analysis Manager. NB: This can also be performed by the hotkey CTRL-A

3) Select the Binned Query type and click the New button.

4) Type the name Coverage Holes binned into the Description field.

5) Click the left mouse button to place the cursor into the expression builder area

6) In the Attribute List, scroll down to find the GSM grouping. Then, from inside the Downlink Measurements grouping, double-click on: ServRxLevEither

7) You will notice that there are a few RxLev parameters available: a. _Idle is only from idle mode measurements, b. _Full and _Sub are only reported in dedicated mode dependent on whether DTX is used in the uplink, c. without a suffix is used for Abis analysis as it intelligently selects the best between _Full or _Sub, and

d. _Either which uses the _Idle while in idle mode and the _Full while in dedicated mode.

8) Complete the expression by typing the equality check: ServRxLevEither < -95

9) You will also notice that the Format in the top-right corner has automatically jumped to GSM RxLev. This is now incorrect, as we have just created a Boolean expression an expression that can only evaluate to either FALSE or TRUE, represented internally as 0 or 1.

10) To change the format of the result to match the expression, it is possible to either scroll through the list until you find it, or if you know another parameter with the same units you can select it from the Attribute Picker the rightpointing arrow. It is also possible to type directly into the format box, and it will automatically index the search on what you type. Select the format box, and type b and o and you will notice that you have already selected Boolean.

11) Click OK to close the Binned Query builder, and OK again to save your query into the Analysis Manager.

12) Inside the handset stream in the Workspace Explorer, you will be able to find your new Binned Query

Figure 17: Coverage Holes binned.

13) Display the binned query on the map as in Figure 18:

Figure 18: Coverage Holes binned displayed on the map.

This gives a good overall picture of where the problem lie, but it would be better to only show the points where the holes existed. We will now modify our query to remove the yellow false points. Right-click on the query name in the Workspace Explorer:

Figure 19: How to edit the query Coverage Holes binned.

14) Modify the expression to place an if( ) function around it1:

if(ServRxLevEither < -95, 1, NULL )15) Save the query again and re-display it on a map. You will notice that all the points are now visible. Some may have been hidden by false values previously.

Figure 20: Modified Coverage Holes binned displayed on the map.

Dominance 1 binned

Logfile: Nemo Drive Test 1.dt1

Name: Dominance 1

Aim: To find areas where the server is weaker than the strongest neighbour.Definition: For every point in the map, show the areas where the ServRxLevSub is weaker than any NBorRxLev.

Procedure:1) Create a new binned query and enter the title Dominance 1.

2) Click inside the expression builder panel to move the cursor and scroll down inside the functions list on the right-hand side until array_count is found.

3) Double-click on array_count and you will notice that it has been added to the expression builder with placeholders for the various elements of the function. This function needs a parameter, a test and a constant expression:

array_count( , , )Notice how you are prompted for an array-parameter by the square braces.

4) With the part still highlighted, scroll down inside the attribute list inside the GSM > Neighbor Cell Info grouping and double-click on the parameter: NborRxLev

5) Now select the operation marker in the middle of the function and type > and select the expression marker at the end of the function and type -60 .

6) Your expression should look like this: array_count(NborRxLev[] , > , -60)7) Once you have saved your query, display it on the map, as in Figure 20.

Figure 20: Dominance 1 displayed on the map.

8) Edit your query and change the format to Count , and your results should be as follows. The important thing to note is that the results are still the same, but the formatting of the results is much more meaningful.

Figure 21: Modified Dominance 1 displayed on the map.

9) Now we have displayed the count of scanned values above -60 dBm, edit your query to repeat the addition of the if( ) statement from the earlier example and tighten the definition to only show the areas where there is pilot pollution according to the original aim of the query.

Figure 21: Re-Modified Dominance 1 displayed on the map.Interference per BCCH binned

Logfile: Nemo Drive Test 1.dt1Name: Interference binnedAim: To find Cell BCCH s in areas with good coverage but poor qualityDefinition: For every point in the map, show the BCCH where the ServRxLevSub was

better than -85 dBm and ServRxQualSub was worse than 3.This query should be completed without checking back at the previous examples. It can be compiled by breaking the problem down into it s constituent parts:

- check ServRxLevSub was > -85

- check ServRxQualSub was >= 4

- at message points where this is true, return the Serving Cell ARFCN value.

For this query, use the strongest ServBCCH (from the GSM > Serving Cell Parameters grouping) value to return the ARFCN.

Figure 22: Interference per BCCH binned displayed on the map.

In Figure 22, the map legend results show that most of the interference is affecting

channels: 589, 600 and 608.

Coverage Island Analysis histogram

Logfile: Nemo Drive Test 1.dt1Name: Coverage Island HistogramAim: To display the distribution of the Timing Advance for quick coverage island

Analysis.Definition: Show the counts of ServTimingAdvanceActual from 0 to 63.Procedure:1) Press CTRL-A to display the Analysis Manager.

2) Double-click the Histogram Query icon to open the Histogram Wizard.

3) Type the title Coverage Island Hist

4) From the Attribute Picker, select: ServTimingAdvanceActual from the GSM > Dedicated Radio Link grouping.

Figure 23: Coverage Island Histogram Definition.You will notice that the state( ) function has not been added this time. This is because we are performing more of a statistical analysis of only the TA values themselves, and do not require the value to be held across subsequent messages.

5) Select the 2nd option of histogram types manually specifying discrete values.

6) Set the minimum value to be 0, and select the Inclusive checkbox.

7) Set the maximum value to be 63, and select the Inclusive checkbox.

8) Type 64 as the number of columns to generate and click Generate, as shown in Figure 24.

Figure 24: Generate function.

9) You will see your 64 ranges appear in the box above.

10) Click OK to end the wizard, and OK to save you query.

11) From the Query section in the Workspace Explorer, open the Histogram grouping, right-click on your new histogram and display on a table.

12) Change the view to the Histogram tab in the middle, and you will see your results displayed.

Figure 25: Histogram results displayed on a table.Note: To improve the efficiency of this query, edit the query, and select the Filter button. Build the following filter:

ServTimingAdvanceActual >= 0

This will only trigger the query on message points where there are values for the TA. It will not affect the results, but the query will be more efficient in terms of speed and memory usage.Timing Advance statistic

Logfile: Nemo Drive Test 1.dt1Name: Timing Advance statisticAim: To display statistical values of the parameter.Definition Display the Mean, Mode, Median, Maximum, Minimum, Count, Standard Deviation and Variance of ServTimingAdvanceActual.Procedure:1) Press CTRL-A to display the Analysis Manager.

2) Double-click the Statistic Query icon to open the Statistic Wizard.

3) Type the title Timing Advance statistic.4) From the Attribute Picker, select: ServTimingAdvanceActual from the GSM > Dedicated Radio Link grouping.

Figure 26: Statistic wizard.5) Keep the default option of not excluding any data from the calculation. This option could be used if the engineer wishes to remove spurious results that affect averages adversely.

6) Select OK to exit the wizard and OK to save your query.

7) From the Workspace Explorer, open your query into a Workbook.

Figure 27: Timing Advance statistic results in a workbook.

Note: it has been created into a sheet called Statistic Formatted Data. All statistics will be added to this sheet. Similar sheets are created for histograms, time series binned queries and crosstab/event queries.MS Analysis Statistics crosstab queryLogfile: Nemo Drive Test 2.dt1Name: File and MS statisticsAim: To generate statistics for logfile.Definition: Generate file statistics for each file, using MS parameters collected during the calls.This set of examples will build up a large crosstab query to return overview information for the logfile and data such as Number of Call Setup failures

Number of Call Setup Ok

Number of Dropped Calls

Number of Call Completed

Number of HO OK

Number of HO failures Total Driven Distance.To define the initial query, we will define a set of file statistics such as the start & end time, and file-size, and relate these to the filename. This can be reworded as:Return statistics x, y & z per file .

This statement has 2 parts: the statistics (X, Y & Z) and the dimension (File). So our crosstab query is built up from these basic objects a dimension and a set of statistics. The dimension will be used to create a set of unique rows, and the columns will contain the statistics results.Procedure:1) Load file Nemo Drive Test 2.dt1

2) Open the Analysis Manager and select the Crosstab query wizard.

3) Enter the title of File and MS statistics

4) Choose the dimension of FileName from the Attribute Picker (inside Independent > File Info).Note: the title shows (last valid value). This shows that the state( ) function has been added around your dimension to make sure that the FileName attribute is held across the whole file. This means that you can ask for any statistics from any Layer 3 or proprietary message, and they will still be calculated for the filename.

Figure 28: Crosstab query wizard.

5) Click on the New Statistic button to add a new statistic.

6) Give to the statistic the title File Size, as shown in Figure 29.

Figure 29: Statistic wizard.

7) Each statistic can take one of a number of pre-defined types, but for this case, we will be using the Last Valid Method to return the most recent value.

8) Choose the FileSize parameter from Attribute Picker (inside Independent > File Info).

9) Click OK to save the statistic, OK to exit the Crosstab wizard and OK to save the query.

10) From the Nemo Drive Test 2 file, right-click on the new Crosstab query and display on the Statistics Explorer. In Figure 30, you can see the filename dimension as the unique row and the File Size column as the statistic.

Figure 30: File and MS Statistics displayed in the Statistics Explorer.

11) The file size units are still bytes, so edit the query and select the File Size statistic.

12) Click the Edit Statistic button, and then click Edit to open the Expression Builder for the expression.

13) Divide the FileSize by 1024, and set the format to Kilobytes .

14) Save the modification and select the query again in the Statistics Explorer. Your filesize will now be formatted in Kb.

15) Add 2 new statistics: Mean ServRxLevSub, and Mean Lin. ServRxLevSub. These should be both using the same parameter from the GSM > Downlink Measurements grouping. The Methods to be used are Mean, and Mean (linear) respectively.Note: The Mean statistic simply averages using the arithmetic mean of all valid values. Mean (linear) value converts the values into the Watt scale, performs the average and then converts the values back into dBm scale.

16) Your Statistics Explorer should now display the following results.

Figure 31: Modified File and MS Statistics displayed in the Statistics Explorer.

17) Now add the following statistics on your own (see Step 18 over the page for the Format to use in each case):

Figure 32: Definition of the other statistics.

NameMethodExpressionFormatFilter

File SizeLast ValueFileSize\1024Kilobytes

Start fileLast Valuereltime2abstime(abstime())TimeOfDaymessage() == 0

End fileLast valuereltime2abstime(abstime())TimeOfDay

Avg Rx LevMean LinearServRxLevSubGSM RxLev

Avg Rx QualMean (RxQual)ServRxQualSubGSM RxQual

Number of Call Setup failuresCountEventOutgoingCallFailCount

Number of Call Setup OKCountEventOutgoingCallOKCount

Total DropsCountEventCallDroppedCount

Number of Call CompletedCountEventCallCompletedCount

Handover OKCountEventHandoverOKCount

Handover failCountEventHandoverFailCount

HO Duration Time (ms)MeanHandoverDurationTime

Table 1: Statistics to add to the query.Dropped Call Analysis event

Logfile: Nemo Drive Test 1.dt1 and Nemo Drive Test 2.dt1, superstreamed on Time.Name: MS Dropped Call StatsAim: To analyze each dropped call to report possible diagnosisDefinition: Create event query triggered on dropped call event, to analyse TA, and Dominance etc.

This event query will concentrate around the EventCallDropped events in the files. We will create 1 window this time, 5 seconds before the drop. We will use the definition of dominance already covered in an earlier example, and the distance away from the cell using the Timing Advance.

These will give us a good diagnosis of possible contributors to the drop.Procedure:1) Ensure that you have the two Nemo files superstreamed on Timestamps.

2) Create an event query which triggers on the GSM EventCallDropped event,

3) Create a Time window, 5000 ms before after the trigger.4) Do not choose a discriminator but click the Next > button.

5) Modify the default dimension EventTime: change the actual expression to reltime2abstime( event_time() /1000 ) and the Format to TimeOfDay.

Figure 34: Modification of the Dimension EventTime.

6) Create the following statistics:NameMethodExpressionFormat

Avg RxLevMeanServRxLevSubGSM RxLev

Avg Rx QualMean (RxQual)ServRxQualSubGSM RxQual

Most freq TAModeServTimingAdvanceActualGSM Timing Advance

InterferencePercent TrueServRxQualSub >= 4 AND ServRxLevSub >= -85Percentage

DominancePercent Truearray_count(NborRxLev[] , > , ServRxLevSub)>0Percentage

Last BCCHLast Valuestate(ServBCCH)GSM ARFCN

Last CILast Valuestate(ServCI)GSM CI

Table 2: Statistics to add to the query.7) Display the results in the Statistics Explorer:

Figure 35: MS Dropped Call Stats displayed in the Statistics Explorer.Report Templates

Single File Report Template

Logfile: Nemo Drive Test 1.dt1Name: Single File Report TemplateAim: To create a report template that will return KPIs from one file.Definition: Create a report template from existing parameters and queries which can be run on any file. This will return the total number of dropped calls, a histogram of the Handover Duration, maximum TA, mean (linear) of RxLev and total distance travelled for the whole file.

Procedure:1) Ensure you have the above Nemo file loaded.

2) First we look at the requirements for the report. These can be separated into existing parameters and those we need to generate through queries.

Existing KPIs (in File and MS statistics query and in Timing Advance statistic) Mean (linear) level from the serving cell

Total distance travelled for the whole file Dropped call total Maximum Timing Advance

New KPIs Handover Duration histogram.

The Handoff Duration may already be a parameter, so it could be possible to add this to a workbook to obtain the automatic histogram view of the data, but we are trying to create a generic report template to be run on other files. To use the automatic view, the legends will be controlled through the format group of the parameter and may filter out ranges not found in the file. For this reason, we need to force the number of ranges used in the histogram through a query.

3) Display File and MS statistics query on workbook.4) Display Timing Advance statistic selecting Display on workbook (Active).5) The workbook has got 2 worksheets: CrossTab Formatted Data with the raw data from File and MS statistics query and Statistic Formatted Data with the raw data from Timing Advance statistic.6) Keeping the workbook open, switch back to the Actix solution and write a histogram query for Handover Duration with 8 ranges from 0 (inclusive) to 400 (inclusive).

7) Display Handover Duration Histogram selecting Display on workbook (Active): now, the workbook is composed by 3 worksheets and the last is Histogram Formatted Data with the raw data from Handover Duration Histogram.8) Notice how all 3 views from these two parameters have been added to the workbook (Series, Histogram and Statistic Formatted Data tabs). Save the workbook to your desktop, and close the workbook.

Figure 36: Save the workbook.9) Open the report template through the Workbook > Open Workbook/Report menu option, and choose to run it on the NemGSM(0) device stream.

Figure 37: Stream Selection.

10) These tabs will contain the results from whatever file you run the report template on. Open Sheet 1 and create your KPI statistics here as follows:

11) Now go back into the all other sheets and delete the raw data from row 1 downwards. This cleans the report template so that it can be run on any other file, of varying size.

12) Save your report template.

13) Open the Nemo Drive Test 1 file and run the report template on this file as you did in step 9. Compare the results.

Figure 38: Building the report.

Annex

state() vs. prev_state()

Due to the nature of how the information elements are reported in different Layer 3 messages, useful engineering parameters such as signal strength and quality may not be at the same message point as events such as dropped calls or call setup failures.

Therefore any query such as an Event query which triggers on a dropped call may trigger on an idle-mode System Information message, or a CC Disconnect message with an abnormal cause code. If the most recent EcNo or ServRxLev are required, it is necessary to look back in the message sequence to the exact message where they were reported.

This is performed using the state() function. This function starts by looking in the current message for the parameter, but if it does not find a valid value, it iterates back in the message sequence until it finds the first valid value.

The prev_state() function works in exactly the same manner, but the difference is, it begins its search at the previous message. This is illustrated by the following two Figures:

Figure A: Values of state(ServRxLevsub) and prev_state(ServRxLevsub) at time 13:19:10:290.

Where the selected message is the Measurement Report where SerRvLevSub = -71dBm, the stateform shows that the prev_state() function still returns -75.

Figure B: Values of state(ServRxLevsub) and prev_state(ServRxLevsub) at time 13:19:10:370.

However, when the following message is selected both values are the same.This can be used to easily identify GSM cell-reselections where:state( ServCI ) != prev_state( ServCI )

Editing existing report templates

Actix solutions use Excel as the standard reporting tool in fact, by displaying any parameter or query on a workbook, you have created a report template which can be run on other files or superstreams. This is because the workbook actually stores the name of the parameter and any query definitions inside itself, and also the name of the most recent file the report was ran/created against.

This is useful when sharing report templates, as the embedded queries do not need to be distributed with the report template they are automatically loaded and evaluated when the report is run against a new file. However, to modify the queries embedded inside a report template, a particular process needs to be followed:

1. Load a data file

2. Run the old report template against the file. This will load the queries embedded in the report template into the workspace.

3. Close the report template.

4. Modify the queries and check the results are correct. Do not change the query names.

5. Re-run the report template. The old queries in the template will be replaced with the modified versions.

6. Save the report template again. The next time it is run against a file, the new query definitions will be used.

If you need to add a query to a report template, first run the report, and then by right-clicking on the query, choose Display on workbook (Active).

PAGE 1