<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sdmxcloud.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Glenn</id>
	<title>Fusion Registry Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sdmxcloud.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Glenn"/>
	<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/Special:Contributions/Glenn"/>
	<updated>2026-05-27T20:58:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5395</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5395"/>
		<updated>2023-02-24T10:40:38Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-6.zip]] 24 February 2023&lt;br /&gt;
&lt;br /&gt;
See the [[FXLData Changelog]] for recent changes, updates and bug fixes.&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Client-side REST Arguments=&lt;br /&gt;
The =FXLData() and =FXLDataV() functions support additional REST arguments to modify behaviour in Excel. These arguments are not passed to the Fusion Registry or Edge Server.&lt;br /&gt;
&lt;br /&gt;
'''nocc''' - suppress completion of the resultset cube when startPeriod and / or endPeriod are specified. Under normal behaviour, the resultset will always span the time periods specified irrespective of whether there are observation values available. If nocc is specified in the REST Arguments, the resultset will only span time periods for which observations are available.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
 nocc&lt;br /&gt;
 round=2&amp;amp;nocc&lt;br /&gt;
 nocc&amp;amp;dimensionAtObservation=REF_AREA&lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
This article from microsoft also explains the process to unblock a macro: &lt;br /&gt;
&lt;br /&gt;
https://support.microsoft.com/en-us/topic/a-potentially-dangerous-macro-has-been-blocked-0952faa0-37e7-4316-b61d-5b5ed6024216&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;br /&gt;
&lt;br /&gt;
==== Unable to Retrieve Dataflows ====&lt;br /&gt;
If you are using FREE version 11 or higher you may need to review your settings in Fusion Security Manager. If you are unsure how to do this, please create a support ticket or email us : info@metadatatechnology.com&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-6.zip&amp;diff=5394</id>
		<title>File:FXLData 1-2-6.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-6.zip&amp;diff=5394"/>
		<updated>2023-02-24T10:39:54Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Checksum'''&lt;br /&gt;
&lt;br /&gt;
FXLData.xlam SHA256: a6b691b16e422db74a845f2f4fc6acfd62975f3ed6c11de6cc7ecab11d9e3717&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-6.zip&amp;diff=5393</id>
		<title>File:FXLData 1-2-6.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-6.zip&amp;diff=5393"/>
		<updated>2023-02-24T10:38:43Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5390</id>
		<title>FXLData Change Log</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5390"/>
		<updated>2023-02-23T11:40:21Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
'''Excel Command'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion(&amp;quot;changelog&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.5 (23 February 2023) ==&lt;br /&gt;
* FXLData: fixed bug in [user]@ syntax handler that mangled the URL if an @ symbol is used in the Dataflow ID for instance&lt;br /&gt;
* Legacy Mode: modified application event handling to make control over automatic calculation more robust&lt;br /&gt;
* Fusion Registry refreshable Excel workbooks: fixed bug preventing workbooks from being refreshed on open&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.4 (18 November 2022) ==&lt;br /&gt;
* FXLData: show the REST data API url in the header&lt;br /&gt;
* FXLData: add 'nocc' client-side REST Argument to restrict the resultset time periods to only those with observation values when startPeriod and / or endPeriod are specified&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.3 (14 November 2022) ==&lt;br /&gt;
* Legacy Mode: bug fix displaying N/A under certain circumstances&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.2 (11 November 2022) ==&lt;br /&gt;
* Legacy Mode: bug fix preventing display of datasets with only a single row&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.1 (08 November 2022) ==&lt;br /&gt;
* Legacy Mode: change automatic calculation option to 'off' by default to address general worksheet performance issues&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.0 (05 July 2022) ==&lt;br /&gt;
* Legacy Mode: add Ribbon function to disable automatic calculation to speed bulk changes to worksheets such as deleting large numbers of cells&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.2 (27 June 2022) ==&lt;br /&gt;
* Wizard: fix dataflow search&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.1 (09 June 2022) ==&lt;br /&gt;
* Refreshable worksheets: modified automatic refresh on open to improve reliability of refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.0 (30 May 2022) ==&lt;br /&gt;
* FXLData: Support 'un' parameter to force login on refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.1 (16 May 2022) ==&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.0 (13 May 2022) ==&lt;br /&gt;
First Public Release&lt;br /&gt;
1.0.1 (16 May 2022)&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------&lt;br /&gt;
== Beta Versions ==&lt;br /&gt;
Beta 0.3.3&lt;br /&gt;
* Authentication issues fixed&lt;br /&gt;
Beta 0.3.4&lt;br /&gt;
* Modified parameterised variants to allow no dataflow and a dataflow/series key to be specified in the expression&lt;br /&gt;
Beta 0.3.5&lt;br /&gt;
* JSON / POST data query support for series baskets&lt;br /&gt;
Beta 0.3.6&lt;br /&gt;
* Vertical JSON / POST support&lt;br /&gt;
Beta 0.3.7&lt;br /&gt;
* Fixed bug in URL validator which rejected URLs where the host contains hyphens&lt;br /&gt;
* Fixed bug where URL's of the form crash the API call http://@hostname&lt;br /&gt;
Beta 0.3.8&lt;br /&gt;
* Add workaround for 'aggregate' queries where the availability query does not return the correct series_count&lt;br /&gt;
* =FXLDataV() now takes the same arguments as =FXLData() to ease switching between horizontal and vertical presentations - some arguments are ignored though&lt;br /&gt;
Beta 0.4.0&lt;br /&gt;
* Add ribbon bar Wizard&lt;br /&gt;
Beta 0.4.1&lt;br /&gt;
* Wizard: Removed redundant ribbon bar components&lt;br /&gt;
* Wizard: Added dataflow dropdown refresh&lt;br /&gt;
Beta 0.4.2&lt;br /&gt;
* Wizard: Added defence against JSON being supplied as a literal Expression value - Excel doesn't support that&lt;br /&gt;
* Wizard: Added tool tips&lt;br /&gt;
* Wizard: Corrected tab order&lt;br /&gt;
Beta 0.4.3&lt;br /&gt;
* Wizard: Improved handling of FXLData function execution errors when inserting the function into a sheet&lt;br /&gt;
Beta 0.4.4&lt;br /&gt;
* Wizard: Added checks to verify the correct version of Excel is being used (Microsoft 365 Excel Sept 2018 or later)&lt;br /&gt;
Beta 0.5.0&lt;br /&gt;
* FXLData / Wizard / Refresh: add support for pre-Excel 2018 'legacy mode' where the result array is iterated and inserting into the cells on ribbon button click&lt;br /&gt;
Beta 0.5.1&lt;br /&gt;
* FXLData: Added data query caching to improve performance particularly on legacy refresh where the same query may be executed multiple times&lt;br /&gt;
Beta 0.5.2&lt;br /&gt;
* Purge Cache: Added 'Purge Cache' function to the ribbon bar&lt;br /&gt;
Beta 0.5.3&lt;br /&gt;
* Legacy Mode: legacy functions now automatically refresh on change without using the Ribbon 'Refresh' emulating the behaviour of normal Excel functions to some extent&lt;br /&gt;
* Legacy Mode: added error handling for stack overflows on legacy 'evaulate' where the formula length exceeds the 255 character limit&lt;br /&gt;
Beta 0.5.4&lt;br /&gt;
* Ribbon: Added control over automatic refresh in legacy mode&lt;br /&gt;
* FXLData: Improved caching to avoid caching error results&lt;br /&gt;
* Legacy Mode: Modified application event handling to avoid triggering refresh events where not needed&lt;br /&gt;
Beta 0.5.5&lt;br /&gt;
* Wizard: check each Dataflow for access rights before adding to the dropdown to ensure the list only contains Dataflows for which the user has permissions&lt;br /&gt;
Beta 0.5.6&lt;br /&gt;
* FXLData: Fixed issues with FXLDaatV returning the incorrect number of series (removed paging which is not relevant for vertical and corrected series calcs when using calculated measures)&lt;br /&gt;
* FXLData: Removed API paging due to limited benefit&lt;br /&gt;
* FXLData: Fixed bug resulting in 'Query Error - 0 series retrieved of 0' due to paging errors&lt;br /&gt;
* Wizard: Query Builder - added clear selection button&lt;br /&gt;
* Wizard: Query Builder - show series count for entire dataflow on initialisation&lt;br /&gt;
* Wizard: Query Builder - removed irrelevant TIME_PERIOD tab&lt;br /&gt;
* Wizard: Added REST arguments syntax help&lt;br /&gt;
* Legacy Mode: Stopped screen updating during refresh to improve performance&lt;br /&gt;
Beta 0.5.7&lt;br /&gt;
* Wizard: Query Builder enhanced to grey-out invalid codes as selections are made&lt;br /&gt;
* Wizard: Improved query builder refresh performance&lt;br /&gt;
* Wizard: Improved 'unapplied changes' indicator&lt;br /&gt;
* Wizard: Improved REST API help popup&lt;br /&gt;
Beta 0.5.8&lt;br /&gt;
* FXLData: Trap and gracefully handled Registry data query errors that return no data, but result in HTTP 500 and 'Index:0, Size:0' responses&lt;br /&gt;
* Refresh: Added Refresh Sheet option&lt;br /&gt;
* Ribbon: Moved Refresh and Calculations to Ribbon menus&lt;br /&gt;
Beta 0.6.0&lt;br /&gt;
* Legacy Mode: Modified legacy mode dynamic array emulation to improve performance to that comparable with actual dynamic arrays (legacyRefreshCell refactor - assign resultset arrary directly to range.value instead of iterating one cell at a time)&lt;br /&gt;
* Legacy Mode: Application events initialised in the FXLData Workbook Open event&lt;br /&gt;
* Legacy Mode: Automatic calculation defaulted on true in the FXLData Workbook Open event which improves reliability by avoiding reliance on ribbon initialisation to perform that task&lt;br /&gt;
* FXLData: Corrected duplication of double quotes where they appear in component labels&lt;br /&gt;
Beta 0.6.1&lt;br /&gt;
* Addin: Forces Excel to execute the FXLData formula in cell B2 on workbook open ensuring that refreshable workbooks generated by Fusion Registry refresh as expected on open&lt;br /&gt;
Beta 0.7.0&lt;br /&gt;
* FXLData: Fusion Registry 11 support&lt;br /&gt;
* FXLData: Authentication exception handling bug fixed in all four of the fxldata query execution functions - URL h and v, POST h and v&lt;br /&gt;
* FXLData: Added freshness timestamp to the resultset metrics&lt;br /&gt;
* Wizard: Do not show the wizard for FXLDataURL or FXLDataURLV functions as it is designed for use only with the parameterised function variants&lt;br /&gt;
Beta 0.7.2&lt;br /&gt;
* FXLData: SDMX 3.0 availability API support&lt;br /&gt;
Beta 0.7.3&lt;br /&gt;
* FXLData: Added FXLDataUrlFact() function&lt;br /&gt;
Beta 0.7.4&lt;br /&gt;
* FXLDataUrlFact: Added defence against errors caused where the availability query incorrectly indicates data is available, and the data query returns none&lt;br /&gt;
* FXLDataUrlFact: Added gzip accept encoding to XML dataset GET&lt;br /&gt;
* FXLData: Weakened the URL syntax check to avoid FXLDataURL refreshable sheet calls being rejected as bad URL because of spaces in the 'saveAs' parameter&lt;br /&gt;
Beta 0.7.5&lt;br /&gt;
* FXLData: Fixed issue preventing refreshable worksheets refreshing on open in legacy mode&lt;br /&gt;
* FXLData: Fixed FXLDataUrlFact bug where the wrong number of output columns was estimated under certain circumstances&lt;br /&gt;
Beta 0.7.6&lt;br /&gt;
* Wizard: Added 'Purge Cache on Apply' option&lt;br /&gt;
* Legacy Mode: Fixed bug in legacy mode refresh where resultsets in the same cell on different sheets are deleted on refresh&lt;br /&gt;
Beta 0.7.7&lt;br /&gt;
* Legacy Mode: Changed refresh to clear the contents of the range rather than clear all thus preserving user-applied formatting&lt;br /&gt;
* Legacy Mode: Fixed refresh bug which left redundant ranges where a FXLdata formula was moved, deleted or over written &lt;br /&gt;
* Legacy Mode: Changed refresh behaviour to not delete the range content when an FXLData formula is moved, deleted or over written&lt;br /&gt;
Beta 0.7.8&lt;br /&gt;
* Legacy Mode: Modified sub legacyRefreshCell() to exit immediately if the cell does not contain an FXLData function&lt;br /&gt;
* FXLData: FXLDATA-2 Vertical presentation fails with an 'subscript out of range' inline error when the resultset has one series&lt;br /&gt;
Beta 0.7.9&lt;br /&gt;
* Wizard: Added dataflow quick filter&lt;br /&gt;
* Legacy Mode: Removed the Ribbon Bar option to control automatic refresh on change because setting to 'manual' prevented workbook and sheet refresh because named ranges were not being created&lt;br /&gt;
* Legacy Mode: Fixed 'refreshselectedcell' bug whereby a named range was not being created if the function returns an error thus preventing subsequent workbook and sheet refresh operations&lt;br /&gt;
Beta 0.7.10&lt;br /&gt;
* Wizard: Date format syntax help added&lt;br /&gt;
* Wizard: Corrected date format validation bug that reported dates of the form '01/01/2010' as valid&lt;br /&gt;
* Wizard: Corrected bug that incorrectly evaluated date values in existing formulas on wizard startup&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* Legacy Mode: Changed legacy mode to use 'worksheet' scoped named ranges rather the 'workbook' to avoid confusion when worksheets are duplicated&lt;br /&gt;
* Legacy Mode: Modified legacy refresh to use worksheet.evaluate rather than application.evaluation to ensure formulas run within the correct worksheet context - fixes unexpected workbook refresh results due to the formulas on other worksheets being evaluated in the current worksheet context&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* FXLData: Bug fix to availability query to correctly set the format=sdmx-2.1 - resolves problem in Fusion Registry 11.0.0 where the query was being rejected with HTTP 406 due to invalid format specifier&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5389</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5389"/>
		<updated>2023-02-23T11:39:12Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-5.zip]] 23 February 2023&lt;br /&gt;
&lt;br /&gt;
See the [[FXLData Changelog]] for recent changes, updates and bug fixes.&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Client-side REST Arguments=&lt;br /&gt;
The =FXLData() and =FXLDataV() functions support additional REST arguments to modify behaviour in Excel. These arguments are not passed to the Fusion Registry or Edge Server.&lt;br /&gt;
&lt;br /&gt;
'''nocc''' - suppress completion of the resultset cube when startPeriod and / or endPeriod are specified. Under normal behaviour, the resultset will always span the time periods specified irrespective of whether there are observation values available. If nocc is specified in the REST Arguments, the resultset will only span time periods for which observations are available.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
 nocc&lt;br /&gt;
 round=2&amp;amp;nocc&lt;br /&gt;
 nocc&amp;amp;dimensionAtObservation=REF_AREA&lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
This article from microsoft also explains the process to unblock a macro: &lt;br /&gt;
&lt;br /&gt;
https://support.microsoft.com/en-us/topic/a-potentially-dangerous-macro-has-been-blocked-0952faa0-37e7-4316-b61d-5b5ed6024216&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;br /&gt;
&lt;br /&gt;
==== Unable to Retrieve Dataflows ====&lt;br /&gt;
If you are using FREE version 11 or higher you may need to review your settings in Fusion Security Manager. If you are unsure how to do this, please create a support ticket or email us : info@metadatatechnology.com&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-5.zip&amp;diff=5388</id>
		<title>File:FXLData 1-2-5.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-5.zip&amp;diff=5388"/>
		<updated>2023-02-23T11:38:37Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Checksum'''&lt;br /&gt;
&lt;br /&gt;
FXLData.xlam&lt;br /&gt;
SHA256: eb3da60632f64362313192da60e650886ecc67bd9fbba1b2317918f9cd979fb9&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-5.zip&amp;diff=5387</id>
		<title>File:FXLData 1-2-5.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-5.zip&amp;diff=5387"/>
		<updated>2023-02-23T11:37:35Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Main_Page&amp;diff=5386</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Main_Page&amp;diff=5386"/>
		<updated>2023-02-22T14:14:50Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Fusion Registry Components and Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;opacity:0;position:absolute;&amp;quot;&amp;gt;{{FULLPAGENAME}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:2.0rem;&amp;quot;&amp;gt;Fusion Registry Knowledge Base&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;SDMX Statistical Data Warehouse&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fusion Registry is for central banks, international organisations, national statistics offices, development banks and regional statistics authorities who need an enterprise SDMX statistical data warehouse for storage of aggregated time series, data cataloguing and public dissemination.&lt;br /&gt;
&lt;br /&gt;
::[[File:FR11 ScreenshotComputer.png|450px]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Change Logs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Change Log FR - V11|Fusion Registry Core 11]] || [[Change Log Fusion Data Browser|Fusion Data Browser]] || [[Change Log Fusion Security Manager|Fusion Security Manager]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Change Log FR - V10|Fusion Registry Core 10]] || [[FusionXL Change Log| Fusion XL]] || [[Change Log Fusion Fame Mapper|Fusion Fame Mapper]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Change Log Fusion Edge Server - V2| Fusion Edge Server 2]] || [[FXLData Change Log| FusionXLData]] || [[Change Log Fusion Transformer|Fusion Transformer]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Change Log Fusion Edge Server -V3| Fusion Edge Server 3]] || [[Change Log Fusion Portal|Fusion Portal]] || [[Change Log Registry Command Line|Fusion Registry Command Line]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Fusion Registry Components and Modules==&lt;br /&gt;
It consists of a number of modules centered on the Fusion Registry Core data engine, including a secure high-performance data dissemination server and a configurable data explorer and analytics tool for data consumers and analysts. &lt;br /&gt;
&lt;br /&gt;
Fusion Registry Core has an integrated SDMX structural metadata registry that is 100% compatible with Fusion Metadata Registry.&lt;br /&gt;
&lt;br /&gt;
[[File:FR11 Components.png|900px]]&lt;br /&gt;
&lt;br /&gt;
====Fusion Registry Core====&lt;br /&gt;
SDMX statistical data engine and structural metadata registry.&amp;lt;br&amp;gt;&lt;br /&gt;
The main statistical engine for data collection, integration, processing, storage, query execution and time-series calculations. It provides an SDMX-compliant data and metadata REST API.&amp;lt;br&amp;gt;&lt;br /&gt;
The integrated SDMX structural metadata registry acts as the central repository, authoring and maintenance tool for all of the structures including Codelists, Concepts and Data Structure Definitions.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fusion Registry Core|More]]&lt;br /&gt;
&lt;br /&gt;
====Fusion Edge Server====&lt;br /&gt;
High-performance data dissemination server.&amp;lt;br&amp;gt;&lt;br /&gt;
A light-weight SDMX data and metadata REST API server designed to be deployed in clusters in the DMZ or at the network edge for scalable, fault-tolerant public data dissemination use cases.&amp;lt;br&amp;gt;&lt;br /&gt;
[[EdgeServer|More]]&lt;br /&gt;
&lt;br /&gt;
====Fusion Data Browser====&lt;br /&gt;
Web tool for data consumers to explore the Fusion Registry data catalogue, create charts and tables, and download data.&amp;lt;br&amp;gt;&lt;br /&gt;
Fusion Data Browser is a web application suitable for both internal and external data consumers to search and explore the catalogue of datasets, select series and cubes of interest, build visualisations using tables and charts, and retrieve selected data in a variety of formats including SDMX, Excel and CSV.&amp;lt;br&amp;gt;&lt;br /&gt;
It can connect to either a Fusion Registry Core engine, or a Fusion Edge Server cluster.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Fusion Data Browser|More]]&lt;br /&gt;
&lt;br /&gt;
====FusionXL====&lt;br /&gt;
Microsoft Excel addin for Fusion Registry.&amp;lt;br&amp;gt;&lt;br /&gt;
FusionXL is an Excel addin for browsing and modifying structural metadata, exploring the data catalogue, and downloading data directly into a spreadsheet.&lt;br /&gt;
&lt;br /&gt;
====Fusion FAME Mapper====&lt;br /&gt;
Web tool for creating and maintaining Fusion Registry FAME to SDMX series mappings.&amp;lt;br&amp;gt;&lt;br /&gt;
Web tool for Fusion Registry Core for mapping series with a single dimension to richer multi-dimensional structures using SDMX structure mapping rules.&amp;lt;br&amp;gt;&lt;br /&gt;
The main use case is mapping FAME series which typically have a single 'series code' dimension to SDMX multi-dimensional structures including dimensions and attributes like: FREQ, INDICATOR, REF_AREA and UNIT_MULT. However, it will work with source data with a single dimension like 'Indicator'.&lt;br /&gt;
&lt;br /&gt;
[[Fusion_Fame_Mapper|more]]&lt;br /&gt;
&lt;br /&gt;
====Fusion Registry Command Line====&lt;br /&gt;
Windows and Linux command line interface.&amp;lt;br&amp;gt;&lt;br /&gt;
A command line interface to Fusion Registry's REST API providing utility scripts for loading structures, data and metadata, validating data, exporting content and deleting content.&lt;br /&gt;
&lt;br /&gt;
Click here [https://wiki.sdmxcloud.org/Fusion_Registry_Command_Line to read the documentation].&lt;br /&gt;
&lt;br /&gt;
==Fusion Registry Core Topics==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:SDMX Structures|'''Structural Metadata''']]|| Detailed explanations of the main SDMX structural metadata artefacts&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:How To|'''How To''']] || Guidance on specific tasks using Fusion Registry&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:Behaviour|'''Behaviours''']] || Answers to 'What happens when...?' questions&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:Components and Modules|'''Components and Modules''']] || Components and modules reference&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:Functions|'''Functions Reference''']] || Features and functions reference&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:SdmxDataFormat|'''Data Formats''']] || A description of supported Data Formats&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:DynamicData|'''Dynamic Data''']] || Calculations, Transformations and Dynamic Attributes on queried data&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:RegistrySecurity|'''Security''']] || Authentication and Authorisation Features&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:WebService|'''Web Services''']] || Registry Web Services&lt;br /&gt;
|-&lt;br /&gt;
| [[Fusion_Registry_Command_Line|'''Command Line''']] || Structure, data, and metadata publishing from the command line&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:Glossary|'''Glossary of Terms''']] || Glossary of SDMX and Fusion Registry terminology&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FusionXL==&lt;br /&gt;
FusionXL is an addin for Microsoft Excel which connects to a Fusion Registry server for both data and structure retrieval, and maintenance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[FusionXL_Install|'''Installation''']] || How to Install Fusion XL and connect to a Fusion Registry server&lt;br /&gt;
|-&lt;br /&gt;
| [[FXLData|'''Inline Data Retrieval''']] || Data Retrieval using the FXLData function&lt;br /&gt;
|-&lt;br /&gt;
| [[FusionXL_DataBrowser|'''Data Browser''']] || Graphical Data Browsing via the Excel Ribbon&lt;br /&gt;
|-&lt;br /&gt;
| [[FusionXL_DataBAuthor|'''Data Author''']] || Create datasets and load datasets for the purpose of data authoring, validation, conversion, and publishing&lt;br /&gt;
|-&lt;br /&gt;
| [[FusionXL_StructureExplorer|'''Structure Explorer''']] || Create, Retrieve and Modify Structures using the Excel Ribbon&lt;br /&gt;
|-&lt;br /&gt;
| [[FusionXL_DataExplorer|'''Data Explorer''']] || Browse datasets that have been made available to the linked Fusion Registry service.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FXLData==&lt;br /&gt;
Excel add in providing a collection of worksheet functions which retrieve data directly from a Fusion Registry data warehouse.&lt;br /&gt;
&lt;br /&gt;
[[FXLData|FXLData function reference]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[FXLData Wizard|FXLData Wizard - Excel ribbon bar tools to help with the task of creating and modifying FXLData function calls]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[FXLData Refreshable Worksheet|FXLData Refreshable Worksheet - Fusion Registry refreshable Excel worksheets export option]]&lt;br /&gt;
&lt;br /&gt;
==Fusion FAME Mapper==&lt;br /&gt;
Fusion Data Mapper provides a web user Interface to administer Structure Maps in the Fusion Registry, where the maps support a specific use case – mapping from Single Dimension Data Structures to multidimensional Data Structures.  This use case is borne out of statistical applications which model time series datasets as a single unique identifier for the Series alongside a Time Dimension.   By modelling these dataset as a DSD with one Dimension (and a Time Dimension), it is very easy to overlay SDMX metadata to describe the Time Series as a multidimensional Cube with additional series Attributes to carry richer metadata. &lt;br /&gt;
&lt;br /&gt;
[[Fusion_Fame_Mapper|Fusion Fame Mapper]]&lt;br /&gt;
&lt;br /&gt;
==Fusion Edge Server==&lt;br /&gt;
Fusion Edge Server is a solution for supporting high performance data and metadata dissemination, with high throughput. The Fusion Edge Server serves all data, related metadata, including reference metadata, from its highly optimised in memory store and as such has no reliance on a database. The Fusion Edge Server has been designed to support the use case of high availability of data through load balancing.&lt;br /&gt;
&lt;br /&gt;
Fusion Edge Server provides access to its stored data and metadata through SDMX compliant web services, and includes support for non-SDMX data formats such as CSV and Excel. The Fusion Edge Server extends the SDMX web services by providing additional information such as data metrics, and data search.&lt;br /&gt;
&lt;br /&gt;
Fusion Edge Server is compatible with Fusion Data Browser and Fusion XL, providing an off-the-shelf solution for both web based data exploration, and from within Microsoft Excel. Connectivity to statistical software such as R and Matlab can be achieved using third party SDMX Connector libraries such as the [https://github.com/amattioc/SDMX SDMX Connectors project].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[EdgeServer|'''Product Overview''']] || Product and Features Overview&lt;br /&gt;
|-&lt;br /&gt;
| [[EdgeServerInstall|'''Installation''']] || Install and Configure Fusion Edge Server&lt;br /&gt;
|-&lt;br /&gt;
| [[Edge_Server_-_Publish_Content|'''Publishing Content''']] || How to publish data and metadata to the Fusion Edge Server&lt;br /&gt;
|-&lt;br /&gt;
| [[Fusion_Edge_Compiler|'''Compiler Reference''']] || Fusion Edge Server Compiler&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:FusionEdgeFunctions|'''Functions Reference''']] || Features and functions reference&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fusion Data Browser ==&lt;br /&gt;
Fusion Data Browser is a HTML and JavaScript client side web application which provides a user interface for querying, graphing, and exporting data from a Fusion Registry or Fusion Edge Server.  &lt;br /&gt;
&lt;br /&gt;
[https://demo.metadatatechnology.com/FusionDataBrowser/ Live Demo] running against data from the [https://demo.metadatatechnology.com/FusionRegistry Registry Demo Server].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Browser_Install|'''Installation''']] || How to Install/Deploy the Data Browser&lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Browser_Configuration|'''Configuration Reference''']] || Configuration of the Browser, Charts, and Series&lt;br /&gt;
|-&lt;br /&gt;
| [[:Category:DataBrowserFunctions|'''Functions Reference''']] || Features and functions reference&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Fusion Transformer==&lt;br /&gt;
Fusion Transformer is a command-line application providing transformations between SDMX and GESMES data files and structure files.&lt;br /&gt;
&lt;br /&gt;
Click here to access the [[Fusion_Transformer|Fusion Transformer article]].&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_Fusion_Transformer&amp;diff=5329</id>
		<title>Change Log Fusion Transformer</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_Fusion_Transformer&amp;diff=5329"/>
		<updated>2023-01-20T13:29:29Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Version 2.5   (2022-07-15) ==&lt;br /&gt;
'''Bug fixes'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-51] - Correct Issue with &amp;quot;forceTimeFormatSeriesAttr&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Version 2.2   (2022-05-12) ==&lt;br /&gt;
'''Improvements:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-47] - New argument in DataParser to specify group name when processing EDI data files &amp;lt;br&amp;gt;&lt;br /&gt;
[FT-46] - Fusion Transformer now uses io.sdmx codebase&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 2.1   (2021-10-01) ==&lt;br /&gt;
[FT-45] - Issue where &amp;quot;edi_tf_attr&amp;quot; mode does not output Time Format on all series&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-44] - Some errors produced by Transformer are codes without human readable explanation&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-43] - Quieten Stack Trace when &amp;quot;illegal&amp;quot; Contact ID specified in EDI file&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 2.0   (2021-06-29) ==&lt;br /&gt;
'''Improvements:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-35] - Support Reading and Writing of SDMX CSV&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-36] - Support Reading and Writing of SDMX JSON&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.28  (2021-04-23) ==&lt;br /&gt;
[FT-34] - Add &amp;quot;Create EDI Time Format Series Attribute&amp;quot; mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.27  (2021-01-21) ==&lt;br /&gt;
[FT-33] - Add feature to Unify Monthly Data&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-32] - Weekly SDMX 2.1 data must always be output always as 2 digits&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-31] - Custom Replacement of Characters&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-30] - Add Pretty-Print output to Structure and Data Transformations&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.26  (2020-04-20) ==&lt;br /&gt;
[FT-25] Support EDI Lenient for Data Reading and Data Writing&amp;lt;br&amp;gt;&lt;br /&gt;
[FT-27] EDI Leniency mode to support non-coded dimensions&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.25  (2019-02-15) ==&lt;br /&gt;
[FT-24] Support Upgrade Groups from SDMX v2.0 to v2.1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.23  (2016-11-02T16:36:20Z) ==&lt;br /&gt;
Now uses SdmxSource 1.5.6.7&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;Test&amp;quot; is now output in EDI header if is a test message&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.22  (2016-10-07T15:18:13Z) ==&lt;br /&gt;
Now uses SdmxSource 1.5.6.7&amp;lt;br&amp;gt;&lt;br /&gt;
Generated XML files now declare UTF-8 in the header.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;EDI Lenient&amp;quot; mode will output referenced codelists and concepts in the same agency as the referring structure&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.21  (20160609-1720) ==&lt;br /&gt;
Now uses SdmxSource 1.5.6.6&amp;lt;br&amp;gt;&lt;br /&gt;
Corrected an issue handling the question mark character in EDI files&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.20  (20160602-1523) ==&lt;br /&gt;
Now uses SdmxSource 1.5.6.5&amp;lt;br&amp;gt;&lt;br /&gt;
Corrected another issue with EDI generation&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.19  (20160523-1802) ==&lt;br /&gt;
Now uses SdmxSource 1.5.6.4&amp;lt;br&amp;gt;&lt;br /&gt;
Corrected an issue with EDI generation&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.18  (20151127-1405) ==&lt;br /&gt;
Added EDI-LENIENT as an option for structure output.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.17  (20150714-1330) ==&lt;br /&gt;
Corrected an issue with bi-annual observation dates in SDMX 2.0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.16  (20150713-1000) ==&lt;br /&gt;
Fixed an issue with incorrect truncation of EDI observation values.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.15  (20150324-1419) ==&lt;br /&gt;
Fixed an issue with bi-annual dates.&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 1.5.6&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.14  (20150303-1008) ==&lt;br /&gt;
PRE_BREAK_VALUE is now treated the same way as OBS_PRE_BREAK.&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 1.5.3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.13  (20141110-0958) ==&lt;br /&gt;
Addressed an issue with the DTM segment and invalid date.&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 1.4.1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.12  (20141031-1656) ==&lt;br /&gt;
Now uses SdmxSource 1.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.11  (20141001-1353) ==&lt;br /&gt;
Creating SDMX version 1.0 should not create dates in quarterly format&amp;lt;br&amp;gt;&lt;br /&gt;
(YYYY-Qq) but rather monthly format (YYYY-MM)&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 1.3.11&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.10  (20140929-1338) ==&lt;br /&gt;
Fixed issue where it was possible to create invalid DSI Segments&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 1.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.9  (20140827-1043) ==&lt;br /&gt;
Fixed issue with IDE+10+message-id' putting the Name in the Sender rather than &lt;br /&gt;
the Name Field of the Header.  &amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 1.3.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.8  (20140429-1645) ==&lt;br /&gt;
Now uses SdmxSource 1.2.7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.7  (20140227-1705) ==&lt;br /&gt;
Warns when creating an EDI file if there are multiple observations for the same time period&amp;lt;br&amp;gt;&lt;br /&gt;
Fixed issue with exponent and plus symbol with EDI characters&amp;lt;br&amp;gt;&lt;br /&gt;
Implemented &amp;quot;truncate&amp;quot; function so EDI decimal values over 15 characters are rounded to 15 characters&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 1.1.5&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.6  (20140217-1649) ==&lt;br /&gt;
Fixed issue with &amp;quot;empty&amp;quot; Footnote section of EDI file.&amp;lt;br&amp;gt;&lt;br /&gt;
Fixed issue with empty attributes causing invalid EDI syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Fixed CONF_STATUS issue where it should have been synonymous with OBS_CONF&amp;lt;br&amp;gt;&lt;br /&gt;
Fixed TIME_FORMAT appearing in attributes section&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 1.1.3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.5  (20130621-1812) ==&lt;br /&gt;
Fixed a number of errors with DataSet attributes.&amp;lt;br&amp;gt;&lt;br /&gt;
Fixed error causing inconsistent frequencies which was due to caching of dates.&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 0.9.33&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.4  (20130507-1525) ==&lt;br /&gt;
Multiple datasets were being lost when transforming from SDMX-ML to SDMX-EDI.&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 0.9.27&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.3  (20130425-0953) ==&lt;br /&gt;
Fixed an issue where the FNS Segment was not being output for EDI messages.&amp;lt;br&amp;gt;&lt;br /&gt;
Fixed an issue where a 12 hour clock was being used instead of a 24 hour clock&amp;lt;br&amp;gt;&lt;br /&gt;
Now uses SdmxSource 0.9.26&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.2  (20130410-1605) ==&lt;br /&gt;
Added command line are -tf which removes the TIME_FORMAT attribute from the data structure before transforming data (EDI only)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.1  (20130405-1026) ==&lt;br /&gt;
EDI delete message bug fix, where the deleted artifact is the sibling group&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.0  (20130204-1056) ==&lt;br /&gt;
First public release.&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5211</id>
		<title>FXLData Change Log</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5211"/>
		<updated>2022-11-18T13:18:53Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
'''Excel Command'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion(&amp;quot;changelog&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.4 (18 November 2022) ==&lt;br /&gt;
* FXLData: show the REST data API url in the header&lt;br /&gt;
* FXLData: add 'nocc' client-side REST Argument to restrict the resultset time periods to only those with observation values when startPeriod and / or endPeriod are specified&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.3 (14 November 2022) ==&lt;br /&gt;
* Legacy Mode: bug fix displaying N/A under certain circumstances&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.2 (11 November 2022) ==&lt;br /&gt;
* Legacy Mode: bug fix preventing display of datasets with only a single row&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.1 (08 November 2022) ==&lt;br /&gt;
* Legacy Mode: change automatic calculation option to 'off' by default to address general worksheet performance issues&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.0 (05 July 2022) ==&lt;br /&gt;
* Legacy Mode: add Ribbon function to disable automatic calculation to speed bulk changes to worksheets such as deleting large numbers of cells&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.2 (27 June 2022) ==&lt;br /&gt;
* Wizard: fix dataflow search&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.1 (09 June 2022) ==&lt;br /&gt;
* Refreshable worksheets: modified automatic refresh on open to improve reliability of refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.0 (30 May 2022) ==&lt;br /&gt;
* FXLData: Support 'un' parameter to force login on refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.1 (16 May 2022) ==&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.0 (13 May 2022) ==&lt;br /&gt;
First Public Release&lt;br /&gt;
1.0.1 (16 May 2022)&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------&lt;br /&gt;
== Beta Versions ==&lt;br /&gt;
Beta 0.3.3&lt;br /&gt;
* Authentication issues fixed&lt;br /&gt;
Beta 0.3.4&lt;br /&gt;
* Modified parameterised variants to allow no dataflow and a dataflow/series key to be specified in the expression&lt;br /&gt;
Beta 0.3.5&lt;br /&gt;
* JSON / POST data query support for series baskets&lt;br /&gt;
Beta 0.3.6&lt;br /&gt;
* Vertical JSON / POST support&lt;br /&gt;
Beta 0.3.7&lt;br /&gt;
* Fixed bug in URL validator which rejected URLs where the host contains hyphens&lt;br /&gt;
* Fixed bug where URL's of the form crash the API call http://@hostname&lt;br /&gt;
Beta 0.3.8&lt;br /&gt;
* Add workaround for 'aggregate' queries where the availability query does not return the correct series_count&lt;br /&gt;
* =FXLDataV() now takes the same arguments as =FXLData() to ease switching between horizontal and vertical presentations - some arguments are ignored though&lt;br /&gt;
Beta 0.4.0&lt;br /&gt;
* Add ribbon bar Wizard&lt;br /&gt;
Beta 0.4.1&lt;br /&gt;
* Wizard: Removed redundant ribbon bar components&lt;br /&gt;
* Wizard: Added dataflow dropdown refresh&lt;br /&gt;
Beta 0.4.2&lt;br /&gt;
* Wizard: Added defence against JSON being supplied as a literal Expression value - Excel doesn't support that&lt;br /&gt;
* Wizard: Added tool tips&lt;br /&gt;
* Wizard: Corrected tab order&lt;br /&gt;
Beta 0.4.3&lt;br /&gt;
* Wizard: Improved handling of FXLData function execution errors when inserting the function into a sheet&lt;br /&gt;
Beta 0.4.4&lt;br /&gt;
* Wizard: Added checks to verify the correct version of Excel is being used (Microsoft 365 Excel Sept 2018 or later)&lt;br /&gt;
Beta 0.5.0&lt;br /&gt;
* FXLData / Wizard / Refresh: add support for pre-Excel 2018 'legacy mode' where the result array is iterated and inserting into the cells on ribbon button click&lt;br /&gt;
Beta 0.5.1&lt;br /&gt;
* FXLData: Added data query caching to improve performance particularly on legacy refresh where the same query may be executed multiple times&lt;br /&gt;
Beta 0.5.2&lt;br /&gt;
* Purge Cache: Added 'Purge Cache' function to the ribbon bar&lt;br /&gt;
Beta 0.5.3&lt;br /&gt;
* Legacy Mode: legacy functions now automatically refresh on change without using the Ribbon 'Refresh' emulating the behaviour of normal Excel functions to some extent&lt;br /&gt;
* Legacy Mode: added error handling for stack overflows on legacy 'evaulate' where the formula length exceeds the 255 character limit&lt;br /&gt;
Beta 0.5.4&lt;br /&gt;
* Ribbon: Added control over automatic refresh in legacy mode&lt;br /&gt;
* FXLData: Improved caching to avoid caching error results&lt;br /&gt;
* Legacy Mode: Modified application event handling to avoid triggering refresh events where not needed&lt;br /&gt;
Beta 0.5.5&lt;br /&gt;
* Wizard: check each Dataflow for access rights before adding to the dropdown to ensure the list only contains Dataflows for which the user has permissions&lt;br /&gt;
Beta 0.5.6&lt;br /&gt;
* FXLData: Fixed issues with FXLDaatV returning the incorrect number of series (removed paging which is not relevant for vertical and corrected series calcs when using calculated measures)&lt;br /&gt;
* FXLData: Removed API paging due to limited benefit&lt;br /&gt;
* FXLData: Fixed bug resulting in 'Query Error - 0 series retrieved of 0' due to paging errors&lt;br /&gt;
* Wizard: Query Builder - added clear selection button&lt;br /&gt;
* Wizard: Query Builder - show series count for entire dataflow on initialisation&lt;br /&gt;
* Wizard: Query Builder - removed irrelevant TIME_PERIOD tab&lt;br /&gt;
* Wizard: Added REST arguments syntax help&lt;br /&gt;
* Legacy Mode: Stopped screen updating during refresh to improve performance&lt;br /&gt;
Beta 0.5.7&lt;br /&gt;
* Wizard: Query Builder enhanced to grey-out invalid codes as selections are made&lt;br /&gt;
* Wizard: Improved query builder refresh performance&lt;br /&gt;
* Wizard: Improved 'unapplied changes' indicator&lt;br /&gt;
* Wizard: Improved REST API help popup&lt;br /&gt;
Beta 0.5.8&lt;br /&gt;
* FXLData: Trap and gracefully handled Registry data query errors that return no data, but result in HTTP 500 and 'Index:0, Size:0' responses&lt;br /&gt;
* Refresh: Added Refresh Sheet option&lt;br /&gt;
* Ribbon: Moved Refresh and Calculations to Ribbon menus&lt;br /&gt;
Beta 0.6.0&lt;br /&gt;
* Legacy Mode: Modified legacy mode dynamic array emulation to improve performance to that comparable with actual dynamic arrays (legacyRefreshCell refactor - assign resultset arrary directly to range.value instead of iterating one cell at a time)&lt;br /&gt;
* Legacy Mode: Application events initialised in the FXLData Workbook Open event&lt;br /&gt;
* Legacy Mode: Automatic calculation defaulted on true in the FXLData Workbook Open event which improves reliability by avoiding reliance on ribbon initialisation to perform that task&lt;br /&gt;
* FXLData: Corrected duplication of double quotes where they appear in component labels&lt;br /&gt;
Beta 0.6.1&lt;br /&gt;
* Addin: Forces Excel to execute the FXLData formula in cell B2 on workbook open ensuring that refreshable workbooks generated by Fusion Registry refresh as expected on open&lt;br /&gt;
Beta 0.7.0&lt;br /&gt;
* FXLData: Fusion Registry 11 support&lt;br /&gt;
* FXLData: Authentication exception handling bug fixed in all four of the fxldata query execution functions - URL h and v, POST h and v&lt;br /&gt;
* FXLData: Added freshness timestamp to the resultset metrics&lt;br /&gt;
* Wizard: Do not show the wizard for FXLDataURL or FXLDataURLV functions as it is designed for use only with the parameterised function variants&lt;br /&gt;
Beta 0.7.2&lt;br /&gt;
* FXLData: SDMX 3.0 availability API support&lt;br /&gt;
Beta 0.7.3&lt;br /&gt;
* FXLData: Added FXLDataUrlFact() function&lt;br /&gt;
Beta 0.7.4&lt;br /&gt;
* FXLDataUrlFact: Added defence against errors caused where the availability query incorrectly indicates data is available, and the data query returns none&lt;br /&gt;
* FXLDataUrlFact: Added gzip accept encoding to XML dataset GET&lt;br /&gt;
* FXLData: Weakened the URL syntax check to avoid FXLDataURL refreshable sheet calls being rejected as bad URL because of spaces in the 'saveAs' parameter&lt;br /&gt;
Beta 0.7.5&lt;br /&gt;
* FXLData: Fixed issue preventing refreshable worksheets refreshing on open in legacy mode&lt;br /&gt;
* FXLData: Fixed FXLDataUrlFact bug where the wrong number of output columns was estimated under certain circumstances&lt;br /&gt;
Beta 0.7.6&lt;br /&gt;
* Wizard: Added 'Purge Cache on Apply' option&lt;br /&gt;
* Legacy Mode: Fixed bug in legacy mode refresh where resultsets in the same cell on different sheets are deleted on refresh&lt;br /&gt;
Beta 0.7.7&lt;br /&gt;
* Legacy Mode: Changed refresh to clear the contents of the range rather than clear all thus preserving user-applied formatting&lt;br /&gt;
* Legacy Mode: Fixed refresh bug which left redundant ranges where a FXLdata formula was moved, deleted or over written &lt;br /&gt;
* Legacy Mode: Changed refresh behaviour to not delete the range content when an FXLData formula is moved, deleted or over written&lt;br /&gt;
Beta 0.7.8&lt;br /&gt;
* Legacy Mode: Modified sub legacyRefreshCell() to exit immediately if the cell does not contain an FXLData function&lt;br /&gt;
* FXLData: FXLDATA-2 Vertical presentation fails with an 'subscript out of range' inline error when the resultset has one series&lt;br /&gt;
Beta 0.7.9&lt;br /&gt;
* Wizard: Added dataflow quick filter&lt;br /&gt;
* Legacy Mode: Removed the Ribbon Bar option to control automatic refresh on change because setting to 'manual' prevented workbook and sheet refresh because named ranges were not being created&lt;br /&gt;
* Legacy Mode: Fixed 'refreshselectedcell' bug whereby a named range was not being created if the function returns an error thus preventing subsequent workbook and sheet refresh operations&lt;br /&gt;
Beta 0.7.10&lt;br /&gt;
* Wizard: Date format syntax help added&lt;br /&gt;
* Wizard: Corrected date format validation bug that reported dates of the form '01/01/2010' as valid&lt;br /&gt;
* Wizard: Corrected bug that incorrectly evaluated date values in existing formulas on wizard startup&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* Legacy Mode: Changed legacy mode to use 'worksheet' scoped named ranges rather the 'workbook' to avoid confusion when worksheets are duplicated&lt;br /&gt;
* Legacy Mode: Modified legacy refresh to use worksheet.evaluate rather than application.evaluation to ensure formulas run within the correct worksheet context - fixes unexpected workbook refresh results due to the formulas on other worksheets being evaluated in the current worksheet context&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* FXLData: Bug fix to availability query to correctly set the format=sdmx-2.1 - resolves problem in Fusion Registry 11.0.0 where the query was being rejected with HTTP 406 due to invalid format specifier&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5210</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5210"/>
		<updated>2022-11-18T13:16:23Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-4.zip]] 18 November 2022&lt;br /&gt;
&lt;br /&gt;
See the [[FXLData Changelog]] for recent changes, updates and bug fixes.&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Client-side REST Arguments=&lt;br /&gt;
The =FXLData() and =FXLDataV() functions support additional REST arguments to modify behaviour in Excel. These arguments are not passed to the Fusion Registry or Edge Server.&lt;br /&gt;
&lt;br /&gt;
'''nocc''' - suppress completion of the resultset cube when startPeriod and / or endPeriod are specified. Under normal behaviour, the resultset will always span the time periods specified irrespective of whether there are observation values available. If nocc is specified in the REST Arguments, the resultset will only span time periods for which observations are available.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
 nocc&lt;br /&gt;
 round=2&amp;amp;nocc&lt;br /&gt;
 nocc&amp;amp;dimensionAtObservation=REF_AREA&lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5209</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5209"/>
		<updated>2022-11-18T13:16:05Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Change Log */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-4.zip]] 18 November 2022&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Client-side REST Arguments=&lt;br /&gt;
The =FXLData() and =FXLDataV() functions support additional REST arguments to modify behaviour in Excel. These arguments are not passed to the Fusion Registry or Edge Server.&lt;br /&gt;
&lt;br /&gt;
'''nocc''' - suppress completion of the resultset cube when startPeriod and / or endPeriod are specified. Under normal behaviour, the resultset will always span the time periods specified irrespective of whether there are observation values available. If nocc is specified in the REST Arguments, the resultset will only span time periods for which observations are available.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
 nocc&lt;br /&gt;
 round=2&amp;amp;nocc&lt;br /&gt;
 nocc&amp;amp;dimensionAtObservation=REF_AREA&lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5208</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5208"/>
		<updated>2022-11-18T13:14:55Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Client-side REST Arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-4.zip]] 18 November 2022&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
=Change Log=&lt;br /&gt;
See the [[FXLData Changelog]] for recent changes, updates and bug fixes.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Client-side REST Arguments=&lt;br /&gt;
The =FXLData() and =FXLDataV() functions support additional REST arguments to modify behaviour in Excel. These arguments are not passed to the Fusion Registry or Edge Server.&lt;br /&gt;
&lt;br /&gt;
'''nocc''' - suppress completion of the resultset cube when startPeriod and / or endPeriod are specified. Under normal behaviour, the resultset will always span the time periods specified irrespective of whether there are observation values available. If nocc is specified in the REST Arguments, the resultset will only span time periods for which observations are available.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
 nocc&lt;br /&gt;
 round=2&amp;amp;nocc&lt;br /&gt;
 nocc&amp;amp;dimensionAtObservation=REF_AREA&lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5207</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5207"/>
		<updated>2022-11-18T13:14:09Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Legacy Mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-4.zip]] 18 November 2022&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
=Change Log=&lt;br /&gt;
See the [[FXLData Changelog]] for recent changes, updates and bug fixes.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Client-side REST Arguments=&lt;br /&gt;
The =FXLData() and =FXLDataV() functions support additional REST arguments to modify behaviour in Excel and are not passed to the Fusion Registry or Edge Server.&lt;br /&gt;
&lt;br /&gt;
'''nocc''' - suppress completion of the resultset cube when startPeriod and / or endPeriod are specified. Under normal behaviour, the resultset will always span the time periods specified irrespective of whether there are observation values available. If nocc is specified in the REST Arguments, the resultset will only span time periods for which observations are available.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
 nocc&lt;br /&gt;
 round=2&amp;amp;nocc&lt;br /&gt;
 nocc&amp;amp;dimensionAtObservation=REF_AREA&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5206</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5206"/>
		<updated>2022-11-18T13:03:14Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-4.zip]] 18 November 2022&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
=Change Log=&lt;br /&gt;
See the [[FXLData Changelog]] for recent changes, updates and bug fixes.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-4.zip&amp;diff=5205</id>
		<title>File:FXLData 1-2-4.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-4.zip&amp;diff=5205"/>
		<updated>2022-11-18T13:02:41Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5203</id>
		<title>FXLData Change Log</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5203"/>
		<updated>2022-11-14T16:57:57Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
'''Excel Command'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion(&amp;quot;changelog&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.3 (14 November 2022) ==&lt;br /&gt;
* Legacy Mode: bug fix displaying N/A under certain circumstances&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.2 (11 November 2022) ==&lt;br /&gt;
* Legacy Mode: bug fix preventing display of datasets with only a single row&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.1 (08 November 2022) ==&lt;br /&gt;
* Legacy Mode: change automatic calculation option to 'off' by default to address general worksheet performance issues&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.0 (05 July 2022) ==&lt;br /&gt;
* Legacy Mode: add Ribbon function to disable automatic calculation to speed bulk changes to worksheets such as deleting large numbers of cells&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.2 (27 June 2022) ==&lt;br /&gt;
* Wizard: fix dataflow search&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.1 (09 June 2022) ==&lt;br /&gt;
* Refreshable worksheets: modified automatic refresh on open to improve reliability of refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.0 (30 May 2022) ==&lt;br /&gt;
* FXLData: Support 'un' parameter to force login on refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.1 (16 May 2022) ==&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.0 (13 May 2022) ==&lt;br /&gt;
First Public Release&lt;br /&gt;
1.0.1 (16 May 2022)&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------&lt;br /&gt;
== Beta Versions ==&lt;br /&gt;
Beta 0.3.3&lt;br /&gt;
* Authentication issues fixed&lt;br /&gt;
Beta 0.3.4&lt;br /&gt;
* Modified parameterised variants to allow no dataflow and a dataflow/series key to be specified in the expression&lt;br /&gt;
Beta 0.3.5&lt;br /&gt;
* JSON / POST data query support for series baskets&lt;br /&gt;
Beta 0.3.6&lt;br /&gt;
* Vertical JSON / POST support&lt;br /&gt;
Beta 0.3.7&lt;br /&gt;
* Fixed bug in URL validator which rejected URLs where the host contains hyphens&lt;br /&gt;
* Fixed bug where URL's of the form crash the API call http://@hostname&lt;br /&gt;
Beta 0.3.8&lt;br /&gt;
* Add workaround for 'aggregate' queries where the availability query does not return the correct series_count&lt;br /&gt;
* =FXLDataV() now takes the same arguments as =FXLData() to ease switching between horizontal and vertical presentations - some arguments are ignored though&lt;br /&gt;
Beta 0.4.0&lt;br /&gt;
* Add ribbon bar Wizard&lt;br /&gt;
Beta 0.4.1&lt;br /&gt;
* Wizard: Removed redundant ribbon bar components&lt;br /&gt;
* Wizard: Added dataflow dropdown refresh&lt;br /&gt;
Beta 0.4.2&lt;br /&gt;
* Wizard: Added defence against JSON being supplied as a literal Expression value - Excel doesn't support that&lt;br /&gt;
* Wizard: Added tool tips&lt;br /&gt;
* Wizard: Corrected tab order&lt;br /&gt;
Beta 0.4.3&lt;br /&gt;
* Wizard: Improved handling of FXLData function execution errors when inserting the function into a sheet&lt;br /&gt;
Beta 0.4.4&lt;br /&gt;
* Wizard: Added checks to verify the correct version of Excel is being used (Microsoft 365 Excel Sept 2018 or later)&lt;br /&gt;
Beta 0.5.0&lt;br /&gt;
* FXLData / Wizard / Refresh: add support for pre-Excel 2018 'legacy mode' where the result array is iterated and inserting into the cells on ribbon button click&lt;br /&gt;
Beta 0.5.1&lt;br /&gt;
* FXLData: Added data query caching to improve performance particularly on legacy refresh where the same query may be executed multiple times&lt;br /&gt;
Beta 0.5.2&lt;br /&gt;
* Purge Cache: Added 'Purge Cache' function to the ribbon bar&lt;br /&gt;
Beta 0.5.3&lt;br /&gt;
* Legacy Mode: legacy functions now automatically refresh on change without using the Ribbon 'Refresh' emulating the behaviour of normal Excel functions to some extent&lt;br /&gt;
* Legacy Mode: added error handling for stack overflows on legacy 'evaulate' where the formula length exceeds the 255 character limit&lt;br /&gt;
Beta 0.5.4&lt;br /&gt;
* Ribbon: Added control over automatic refresh in legacy mode&lt;br /&gt;
* FXLData: Improved caching to avoid caching error results&lt;br /&gt;
* Legacy Mode: Modified application event handling to avoid triggering refresh events where not needed&lt;br /&gt;
Beta 0.5.5&lt;br /&gt;
* Wizard: check each Dataflow for access rights before adding to the dropdown to ensure the list only contains Dataflows for which the user has permissions&lt;br /&gt;
Beta 0.5.6&lt;br /&gt;
* FXLData: Fixed issues with FXLDaatV returning the incorrect number of series (removed paging which is not relevant for vertical and corrected series calcs when using calculated measures)&lt;br /&gt;
* FXLData: Removed API paging due to limited benefit&lt;br /&gt;
* FXLData: Fixed bug resulting in 'Query Error - 0 series retrieved of 0' due to paging errors&lt;br /&gt;
* Wizard: Query Builder - added clear selection button&lt;br /&gt;
* Wizard: Query Builder - show series count for entire dataflow on initialisation&lt;br /&gt;
* Wizard: Query Builder - removed irrelevant TIME_PERIOD tab&lt;br /&gt;
* Wizard: Added REST arguments syntax help&lt;br /&gt;
* Legacy Mode: Stopped screen updating during refresh to improve performance&lt;br /&gt;
Beta 0.5.7&lt;br /&gt;
* Wizard: Query Builder enhanced to grey-out invalid codes as selections are made&lt;br /&gt;
* Wizard: Improved query builder refresh performance&lt;br /&gt;
* Wizard: Improved 'unapplied changes' indicator&lt;br /&gt;
* Wizard: Improved REST API help popup&lt;br /&gt;
Beta 0.5.8&lt;br /&gt;
* FXLData: Trap and gracefully handled Registry data query errors that return no data, but result in HTTP 500 and 'Index:0, Size:0' responses&lt;br /&gt;
* Refresh: Added Refresh Sheet option&lt;br /&gt;
* Ribbon: Moved Refresh and Calculations to Ribbon menus&lt;br /&gt;
Beta 0.6.0&lt;br /&gt;
* Legacy Mode: Modified legacy mode dynamic array emulation to improve performance to that comparable with actual dynamic arrays (legacyRefreshCell refactor - assign resultset arrary directly to range.value instead of iterating one cell at a time)&lt;br /&gt;
* Legacy Mode: Application events initialised in the FXLData Workbook Open event&lt;br /&gt;
* Legacy Mode: Automatic calculation defaulted on true in the FXLData Workbook Open event which improves reliability by avoiding reliance on ribbon initialisation to perform that task&lt;br /&gt;
* FXLData: Corrected duplication of double quotes where they appear in component labels&lt;br /&gt;
Beta 0.6.1&lt;br /&gt;
* Addin: Forces Excel to execute the FXLData formula in cell B2 on workbook open ensuring that refreshable workbooks generated by Fusion Registry refresh as expected on open&lt;br /&gt;
Beta 0.7.0&lt;br /&gt;
* FXLData: Fusion Registry 11 support&lt;br /&gt;
* FXLData: Authentication exception handling bug fixed in all four of the fxldata query execution functions - URL h and v, POST h and v&lt;br /&gt;
* FXLData: Added freshness timestamp to the resultset metrics&lt;br /&gt;
* Wizard: Do not show the wizard for FXLDataURL or FXLDataURLV functions as it is designed for use only with the parameterised function variants&lt;br /&gt;
Beta 0.7.2&lt;br /&gt;
* FXLData: SDMX 3.0 availability API support&lt;br /&gt;
Beta 0.7.3&lt;br /&gt;
* FXLData: Added FXLDataUrlFact() function&lt;br /&gt;
Beta 0.7.4&lt;br /&gt;
* FXLDataUrlFact: Added defence against errors caused where the availability query incorrectly indicates data is available, and the data query returns none&lt;br /&gt;
* FXLDataUrlFact: Added gzip accept encoding to XML dataset GET&lt;br /&gt;
* FXLData: Weakened the URL syntax check to avoid FXLDataURL refreshable sheet calls being rejected as bad URL because of spaces in the 'saveAs' parameter&lt;br /&gt;
Beta 0.7.5&lt;br /&gt;
* FXLData: Fixed issue preventing refreshable worksheets refreshing on open in legacy mode&lt;br /&gt;
* FXLData: Fixed FXLDataUrlFact bug where the wrong number of output columns was estimated under certain circumstances&lt;br /&gt;
Beta 0.7.6&lt;br /&gt;
* Wizard: Added 'Purge Cache on Apply' option&lt;br /&gt;
* Legacy Mode: Fixed bug in legacy mode refresh where resultsets in the same cell on different sheets are deleted on refresh&lt;br /&gt;
Beta 0.7.7&lt;br /&gt;
* Legacy Mode: Changed refresh to clear the contents of the range rather than clear all thus preserving user-applied formatting&lt;br /&gt;
* Legacy Mode: Fixed refresh bug which left redundant ranges where a FXLdata formula was moved, deleted or over written &lt;br /&gt;
* Legacy Mode: Changed refresh behaviour to not delete the range content when an FXLData formula is moved, deleted or over written&lt;br /&gt;
Beta 0.7.8&lt;br /&gt;
* Legacy Mode: Modified sub legacyRefreshCell() to exit immediately if the cell does not contain an FXLData function&lt;br /&gt;
* FXLData: FXLDATA-2 Vertical presentation fails with an 'subscript out of range' inline error when the resultset has one series&lt;br /&gt;
Beta 0.7.9&lt;br /&gt;
* Wizard: Added dataflow quick filter&lt;br /&gt;
* Legacy Mode: Removed the Ribbon Bar option to control automatic refresh on change because setting to 'manual' prevented workbook and sheet refresh because named ranges were not being created&lt;br /&gt;
* Legacy Mode: Fixed 'refreshselectedcell' bug whereby a named range was not being created if the function returns an error thus preventing subsequent workbook and sheet refresh operations&lt;br /&gt;
Beta 0.7.10&lt;br /&gt;
* Wizard: Date format syntax help added&lt;br /&gt;
* Wizard: Corrected date format validation bug that reported dates of the form '01/01/2010' as valid&lt;br /&gt;
* Wizard: Corrected bug that incorrectly evaluated date values in existing formulas on wizard startup&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* Legacy Mode: Changed legacy mode to use 'worksheet' scoped named ranges rather the 'workbook' to avoid confusion when worksheets are duplicated&lt;br /&gt;
* Legacy Mode: Modified legacy refresh to use worksheet.evaluate rather than application.evaluation to ensure formulas run within the correct worksheet context - fixes unexpected workbook refresh results due to the formulas on other worksheets being evaluated in the current worksheet context&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* FXLData: Bug fix to availability query to correctly set the format=sdmx-2.1 - resolves problem in Fusion Registry 11.0.0 where the query was being rejected with HTTP 406 due to invalid format specifier&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5202</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5202"/>
		<updated>2022-11-14T16:56:45Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-3.zip]] 14 November 2022&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
=Change Log=&lt;br /&gt;
See the [[FXLData Changelog]] for recent changes, updates and bug fixes.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-3.zip&amp;diff=5201</id>
		<title>File:FXLData 1-2-3.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-3.zip&amp;diff=5201"/>
		<updated>2022-11-14T16:56:28Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5200</id>
		<title>FXLData Change Log</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5200"/>
		<updated>2022-11-14T11:23:43Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
'''Excel Command'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion(&amp;quot;changelog&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.2 (11 November 2022) ==&lt;br /&gt;
* Legacy Mode: bug fix preventing display of datasets with only a single row&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.1 (08 November 2022) ==&lt;br /&gt;
* Legacy Mode: change automatic calculation option to 'off' by default to address general worksheet performance issues&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.0 (05 July 2022) ==&lt;br /&gt;
* Legacy Mode: add Ribbon function to disable automatic calculation to speed bulk changes to worksheets such as deleting large numbers of cells&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.2 (27 June 2022) ==&lt;br /&gt;
* Wizard: fix dataflow search&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.1 (09 June 2022) ==&lt;br /&gt;
* Refreshable worksheets: modified automatic refresh on open to improve reliability of refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.0 (30 May 2022) ==&lt;br /&gt;
* FXLData: Support 'un' parameter to force login on refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.1 (16 May 2022) ==&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.0 (13 May 2022) ==&lt;br /&gt;
First Public Release&lt;br /&gt;
1.0.1 (16 May 2022)&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------&lt;br /&gt;
== Beta Versions ==&lt;br /&gt;
Beta 0.3.3&lt;br /&gt;
* Authentication issues fixed&lt;br /&gt;
Beta 0.3.4&lt;br /&gt;
* Modified parameterised variants to allow no dataflow and a dataflow/series key to be specified in the expression&lt;br /&gt;
Beta 0.3.5&lt;br /&gt;
* JSON / POST data query support for series baskets&lt;br /&gt;
Beta 0.3.6&lt;br /&gt;
* Vertical JSON / POST support&lt;br /&gt;
Beta 0.3.7&lt;br /&gt;
* Fixed bug in URL validator which rejected URLs where the host contains hyphens&lt;br /&gt;
* Fixed bug where URL's of the form crash the API call http://@hostname&lt;br /&gt;
Beta 0.3.8&lt;br /&gt;
* Add workaround for 'aggregate' queries where the availability query does not return the correct series_count&lt;br /&gt;
* =FXLDataV() now takes the same arguments as =FXLData() to ease switching between horizontal and vertical presentations - some arguments are ignored though&lt;br /&gt;
Beta 0.4.0&lt;br /&gt;
* Add ribbon bar Wizard&lt;br /&gt;
Beta 0.4.1&lt;br /&gt;
* Wizard: Removed redundant ribbon bar components&lt;br /&gt;
* Wizard: Added dataflow dropdown refresh&lt;br /&gt;
Beta 0.4.2&lt;br /&gt;
* Wizard: Added defence against JSON being supplied as a literal Expression value - Excel doesn't support that&lt;br /&gt;
* Wizard: Added tool tips&lt;br /&gt;
* Wizard: Corrected tab order&lt;br /&gt;
Beta 0.4.3&lt;br /&gt;
* Wizard: Improved handling of FXLData function execution errors when inserting the function into a sheet&lt;br /&gt;
Beta 0.4.4&lt;br /&gt;
* Wizard: Added checks to verify the correct version of Excel is being used (Microsoft 365 Excel Sept 2018 or later)&lt;br /&gt;
Beta 0.5.0&lt;br /&gt;
* FXLData / Wizard / Refresh: add support for pre-Excel 2018 'legacy mode' where the result array is iterated and inserting into the cells on ribbon button click&lt;br /&gt;
Beta 0.5.1&lt;br /&gt;
* FXLData: Added data query caching to improve performance particularly on legacy refresh where the same query may be executed multiple times&lt;br /&gt;
Beta 0.5.2&lt;br /&gt;
* Purge Cache: Added 'Purge Cache' function to the ribbon bar&lt;br /&gt;
Beta 0.5.3&lt;br /&gt;
* Legacy Mode: legacy functions now automatically refresh on change without using the Ribbon 'Refresh' emulating the behaviour of normal Excel functions to some extent&lt;br /&gt;
* Legacy Mode: added error handling for stack overflows on legacy 'evaulate' where the formula length exceeds the 255 character limit&lt;br /&gt;
Beta 0.5.4&lt;br /&gt;
* Ribbon: Added control over automatic refresh in legacy mode&lt;br /&gt;
* FXLData: Improved caching to avoid caching error results&lt;br /&gt;
* Legacy Mode: Modified application event handling to avoid triggering refresh events where not needed&lt;br /&gt;
Beta 0.5.5&lt;br /&gt;
* Wizard: check each Dataflow for access rights before adding to the dropdown to ensure the list only contains Dataflows for which the user has permissions&lt;br /&gt;
Beta 0.5.6&lt;br /&gt;
* FXLData: Fixed issues with FXLDaatV returning the incorrect number of series (removed paging which is not relevant for vertical and corrected series calcs when using calculated measures)&lt;br /&gt;
* FXLData: Removed API paging due to limited benefit&lt;br /&gt;
* FXLData: Fixed bug resulting in 'Query Error - 0 series retrieved of 0' due to paging errors&lt;br /&gt;
* Wizard: Query Builder - added clear selection button&lt;br /&gt;
* Wizard: Query Builder - show series count for entire dataflow on initialisation&lt;br /&gt;
* Wizard: Query Builder - removed irrelevant TIME_PERIOD tab&lt;br /&gt;
* Wizard: Added REST arguments syntax help&lt;br /&gt;
* Legacy Mode: Stopped screen updating during refresh to improve performance&lt;br /&gt;
Beta 0.5.7&lt;br /&gt;
* Wizard: Query Builder enhanced to grey-out invalid codes as selections are made&lt;br /&gt;
* Wizard: Improved query builder refresh performance&lt;br /&gt;
* Wizard: Improved 'unapplied changes' indicator&lt;br /&gt;
* Wizard: Improved REST API help popup&lt;br /&gt;
Beta 0.5.8&lt;br /&gt;
* FXLData: Trap and gracefully handled Registry data query errors that return no data, but result in HTTP 500 and 'Index:0, Size:0' responses&lt;br /&gt;
* Refresh: Added Refresh Sheet option&lt;br /&gt;
* Ribbon: Moved Refresh and Calculations to Ribbon menus&lt;br /&gt;
Beta 0.6.0&lt;br /&gt;
* Legacy Mode: Modified legacy mode dynamic array emulation to improve performance to that comparable with actual dynamic arrays (legacyRefreshCell refactor - assign resultset arrary directly to range.value instead of iterating one cell at a time)&lt;br /&gt;
* Legacy Mode: Application events initialised in the FXLData Workbook Open event&lt;br /&gt;
* Legacy Mode: Automatic calculation defaulted on true in the FXLData Workbook Open event which improves reliability by avoiding reliance on ribbon initialisation to perform that task&lt;br /&gt;
* FXLData: Corrected duplication of double quotes where they appear in component labels&lt;br /&gt;
Beta 0.6.1&lt;br /&gt;
* Addin: Forces Excel to execute the FXLData formula in cell B2 on workbook open ensuring that refreshable workbooks generated by Fusion Registry refresh as expected on open&lt;br /&gt;
Beta 0.7.0&lt;br /&gt;
* FXLData: Fusion Registry 11 support&lt;br /&gt;
* FXLData: Authentication exception handling bug fixed in all four of the fxldata query execution functions - URL h and v, POST h and v&lt;br /&gt;
* FXLData: Added freshness timestamp to the resultset metrics&lt;br /&gt;
* Wizard: Do not show the wizard for FXLDataURL or FXLDataURLV functions as it is designed for use only with the parameterised function variants&lt;br /&gt;
Beta 0.7.2&lt;br /&gt;
* FXLData: SDMX 3.0 availability API support&lt;br /&gt;
Beta 0.7.3&lt;br /&gt;
* FXLData: Added FXLDataUrlFact() function&lt;br /&gt;
Beta 0.7.4&lt;br /&gt;
* FXLDataUrlFact: Added defence against errors caused where the availability query incorrectly indicates data is available, and the data query returns none&lt;br /&gt;
* FXLDataUrlFact: Added gzip accept encoding to XML dataset GET&lt;br /&gt;
* FXLData: Weakened the URL syntax check to avoid FXLDataURL refreshable sheet calls being rejected as bad URL because of spaces in the 'saveAs' parameter&lt;br /&gt;
Beta 0.7.5&lt;br /&gt;
* FXLData: Fixed issue preventing refreshable worksheets refreshing on open in legacy mode&lt;br /&gt;
* FXLData: Fixed FXLDataUrlFact bug where the wrong number of output columns was estimated under certain circumstances&lt;br /&gt;
Beta 0.7.6&lt;br /&gt;
* Wizard: Added 'Purge Cache on Apply' option&lt;br /&gt;
* Legacy Mode: Fixed bug in legacy mode refresh where resultsets in the same cell on different sheets are deleted on refresh&lt;br /&gt;
Beta 0.7.7&lt;br /&gt;
* Legacy Mode: Changed refresh to clear the contents of the range rather than clear all thus preserving user-applied formatting&lt;br /&gt;
* Legacy Mode: Fixed refresh bug which left redundant ranges where a FXLdata formula was moved, deleted or over written &lt;br /&gt;
* Legacy Mode: Changed refresh behaviour to not delete the range content when an FXLData formula is moved, deleted or over written&lt;br /&gt;
Beta 0.7.8&lt;br /&gt;
* Legacy Mode: Modified sub legacyRefreshCell() to exit immediately if the cell does not contain an FXLData function&lt;br /&gt;
* FXLData: FXLDATA-2 Vertical presentation fails with an 'subscript out of range' inline error when the resultset has one series&lt;br /&gt;
Beta 0.7.9&lt;br /&gt;
* Wizard: Added dataflow quick filter&lt;br /&gt;
* Legacy Mode: Removed the Ribbon Bar option to control automatic refresh on change because setting to 'manual' prevented workbook and sheet refresh because named ranges were not being created&lt;br /&gt;
* Legacy Mode: Fixed 'refreshselectedcell' bug whereby a named range was not being created if the function returns an error thus preventing subsequent workbook and sheet refresh operations&lt;br /&gt;
Beta 0.7.10&lt;br /&gt;
* Wizard: Date format syntax help added&lt;br /&gt;
* Wizard: Corrected date format validation bug that reported dates of the form '01/01/2010' as valid&lt;br /&gt;
* Wizard: Corrected bug that incorrectly evaluated date values in existing formulas on wizard startup&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* Legacy Mode: Changed legacy mode to use 'worksheet' scoped named ranges rather the 'workbook' to avoid confusion when worksheets are duplicated&lt;br /&gt;
* Legacy Mode: Modified legacy refresh to use worksheet.evaluate rather than application.evaluation to ensure formulas run within the correct worksheet context - fixes unexpected workbook refresh results due to the formulas on other worksheets being evaluated in the current worksheet context&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* FXLData: Bug fix to availability query to correctly set the format=sdmx-2.1 - resolves problem in Fusion Registry 11.0.0 where the query was being rejected with HTTP 406 due to invalid format specifier&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5198</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5198"/>
		<updated>2022-11-11T09:28:51Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-2.zip]] 11 November 2022&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
=Change Log=&lt;br /&gt;
See the [[FXLData Changelog]] for recent changes, updates and bug fixes.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-2.zip&amp;diff=5197</id>
		<title>File:FXLData 1-2-2.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-2.zip&amp;diff=5197"/>
		<updated>2022-11-11T09:28:34Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5196</id>
		<title>FXLData Change Log</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData_Change_Log&amp;diff=5196"/>
		<updated>2022-11-08T13:03:49Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
'''Excel Command'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion(&amp;quot;changelog&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.1 (08 November 2022) ==&lt;br /&gt;
* Legacy Mode: change automatic calculation option to 'off' by default to address general worksheet performance issues&lt;br /&gt;
&lt;br /&gt;
== Version 1.2.0 (05 July 2022) ==&lt;br /&gt;
* Legacy Mode: add Ribbon function to disable automatic calculation to speed bulk changes to worksheets such as deleting large numbers of cells&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.2 (27 June 2022) ==&lt;br /&gt;
* Wizard: fix dataflow search&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.1 (09 June 2022) ==&lt;br /&gt;
* Refreshable worksheets: modified automatic refresh on open to improve reliability of refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.1.0 (30 May 2022) ==&lt;br /&gt;
* FXLData: Support 'un' parameter to force login on refreshable worksheets&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.1 (16 May 2022) ==&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version 1.0.0 (13 May 2022) ==&lt;br /&gt;
First Public Release&lt;br /&gt;
1.0.1 (16 May 2022)&lt;br /&gt;
* FXLData: Fixed invalid availability query syntax when working with Fusion Registry 11 and SDMX 3.0&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------&lt;br /&gt;
== Beta Versions ==&lt;br /&gt;
Beta 0.3.3&lt;br /&gt;
* Authentication issues fixed&lt;br /&gt;
Beta 0.3.4&lt;br /&gt;
* Modified parameterised variants to allow no dataflow and a dataflow/series key to be specified in the expression&lt;br /&gt;
Beta 0.3.5&lt;br /&gt;
* JSON / POST data query support for series baskets&lt;br /&gt;
Beta 0.3.6&lt;br /&gt;
* Vertical JSON / POST support&lt;br /&gt;
Beta 0.3.7&lt;br /&gt;
* Fixed bug in URL validator which rejected URLs where the host contains hyphens&lt;br /&gt;
* Fixed bug where URL's of the form crash the API call http://@hostname&lt;br /&gt;
Beta 0.3.8&lt;br /&gt;
* Add workaround for 'aggregate' queries where the availability query does not return the correct series_count&lt;br /&gt;
* =FXLDataV() now takes the same arguments as =FXLData() to ease switching between horizontal and vertical presentations - some arguments are ignored though&lt;br /&gt;
Beta 0.4.0&lt;br /&gt;
* Add ribbon bar Wizard&lt;br /&gt;
Beta 0.4.1&lt;br /&gt;
* Wizard: Removed redundant ribbon bar components&lt;br /&gt;
* Wizard: Added dataflow dropdown refresh&lt;br /&gt;
Beta 0.4.2&lt;br /&gt;
* Wizard: Added defence against JSON being supplied as a literal Expression value - Excel doesn't support that&lt;br /&gt;
* Wizard: Added tool tips&lt;br /&gt;
* Wizard: Corrected tab order&lt;br /&gt;
Beta 0.4.3&lt;br /&gt;
* Wizard: Improved handling of FXLData function execution errors when inserting the function into a sheet&lt;br /&gt;
Beta 0.4.4&lt;br /&gt;
* Wizard: Added checks to verify the correct version of Excel is being used (Microsoft 365 Excel Sept 2018 or later)&lt;br /&gt;
Beta 0.5.0&lt;br /&gt;
* FXLData / Wizard / Refresh: add support for pre-Excel 2018 'legacy mode' where the result array is iterated and inserting into the cells on ribbon button click&lt;br /&gt;
Beta 0.5.1&lt;br /&gt;
* FXLData: Added data query caching to improve performance particularly on legacy refresh where the same query may be executed multiple times&lt;br /&gt;
Beta 0.5.2&lt;br /&gt;
* Purge Cache: Added 'Purge Cache' function to the ribbon bar&lt;br /&gt;
Beta 0.5.3&lt;br /&gt;
* Legacy Mode: legacy functions now automatically refresh on change without using the Ribbon 'Refresh' emulating the behaviour of normal Excel functions to some extent&lt;br /&gt;
* Legacy Mode: added error handling for stack overflows on legacy 'evaulate' where the formula length exceeds the 255 character limit&lt;br /&gt;
Beta 0.5.4&lt;br /&gt;
* Ribbon: Added control over automatic refresh in legacy mode&lt;br /&gt;
* FXLData: Improved caching to avoid caching error results&lt;br /&gt;
* Legacy Mode: Modified application event handling to avoid triggering refresh events where not needed&lt;br /&gt;
Beta 0.5.5&lt;br /&gt;
* Wizard: check each Dataflow for access rights before adding to the dropdown to ensure the list only contains Dataflows for which the user has permissions&lt;br /&gt;
Beta 0.5.6&lt;br /&gt;
* FXLData: Fixed issues with FXLDaatV returning the incorrect number of series (removed paging which is not relevant for vertical and corrected series calcs when using calculated measures)&lt;br /&gt;
* FXLData: Removed API paging due to limited benefit&lt;br /&gt;
* FXLData: Fixed bug resulting in 'Query Error - 0 series retrieved of 0' due to paging errors&lt;br /&gt;
* Wizard: Query Builder - added clear selection button&lt;br /&gt;
* Wizard: Query Builder - show series count for entire dataflow on initialisation&lt;br /&gt;
* Wizard: Query Builder - removed irrelevant TIME_PERIOD tab&lt;br /&gt;
* Wizard: Added REST arguments syntax help&lt;br /&gt;
* Legacy Mode: Stopped screen updating during refresh to improve performance&lt;br /&gt;
Beta 0.5.7&lt;br /&gt;
* Wizard: Query Builder enhanced to grey-out invalid codes as selections are made&lt;br /&gt;
* Wizard: Improved query builder refresh performance&lt;br /&gt;
* Wizard: Improved 'unapplied changes' indicator&lt;br /&gt;
* Wizard: Improved REST API help popup&lt;br /&gt;
Beta 0.5.8&lt;br /&gt;
* FXLData: Trap and gracefully handled Registry data query errors that return no data, but result in HTTP 500 and 'Index:0, Size:0' responses&lt;br /&gt;
* Refresh: Added Refresh Sheet option&lt;br /&gt;
* Ribbon: Moved Refresh and Calculations to Ribbon menus&lt;br /&gt;
Beta 0.6.0&lt;br /&gt;
* Legacy Mode: Modified legacy mode dynamic array emulation to improve performance to that comparable with actual dynamic arrays (legacyRefreshCell refactor - assign resultset arrary directly to range.value instead of iterating one cell at a time)&lt;br /&gt;
* Legacy Mode: Application events initialised in the FXLData Workbook Open event&lt;br /&gt;
* Legacy Mode: Automatic calculation defaulted on true in the FXLData Workbook Open event which improves reliability by avoiding reliance on ribbon initialisation to perform that task&lt;br /&gt;
* FXLData: Corrected duplication of double quotes where they appear in component labels&lt;br /&gt;
Beta 0.6.1&lt;br /&gt;
* Addin: Forces Excel to execute the FXLData formula in cell B2 on workbook open ensuring that refreshable workbooks generated by Fusion Registry refresh as expected on open&lt;br /&gt;
Beta 0.7.0&lt;br /&gt;
* FXLData: Fusion Registry 11 support&lt;br /&gt;
* FXLData: Authentication exception handling bug fixed in all four of the fxldata query execution functions - URL h and v, POST h and v&lt;br /&gt;
* FXLData: Added freshness timestamp to the resultset metrics&lt;br /&gt;
* Wizard: Do not show the wizard for FXLDataURL or FXLDataURLV functions as it is designed for use only with the parameterised function variants&lt;br /&gt;
Beta 0.7.2&lt;br /&gt;
* FXLData: SDMX 3.0 availability API support&lt;br /&gt;
Beta 0.7.3&lt;br /&gt;
* FXLData: Added FXLDataUrlFact() function&lt;br /&gt;
Beta 0.7.4&lt;br /&gt;
* FXLDataUrlFact: Added defence against errors caused where the availability query incorrectly indicates data is available, and the data query returns none&lt;br /&gt;
* FXLDataUrlFact: Added gzip accept encoding to XML dataset GET&lt;br /&gt;
* FXLData: Weakened the URL syntax check to avoid FXLDataURL refreshable sheet calls being rejected as bad URL because of spaces in the 'saveAs' parameter&lt;br /&gt;
Beta 0.7.5&lt;br /&gt;
* FXLData: Fixed issue preventing refreshable worksheets refreshing on open in legacy mode&lt;br /&gt;
* FXLData: Fixed FXLDataUrlFact bug where the wrong number of output columns was estimated under certain circumstances&lt;br /&gt;
Beta 0.7.6&lt;br /&gt;
* Wizard: Added 'Purge Cache on Apply' option&lt;br /&gt;
* Legacy Mode: Fixed bug in legacy mode refresh where resultsets in the same cell on different sheets are deleted on refresh&lt;br /&gt;
Beta 0.7.7&lt;br /&gt;
* Legacy Mode: Changed refresh to clear the contents of the range rather than clear all thus preserving user-applied formatting&lt;br /&gt;
* Legacy Mode: Fixed refresh bug which left redundant ranges where a FXLdata formula was moved, deleted or over written &lt;br /&gt;
* Legacy Mode: Changed refresh behaviour to not delete the range content when an FXLData formula is moved, deleted or over written&lt;br /&gt;
Beta 0.7.8&lt;br /&gt;
* Legacy Mode: Modified sub legacyRefreshCell() to exit immediately if the cell does not contain an FXLData function&lt;br /&gt;
* FXLData: FXLDATA-2 Vertical presentation fails with an 'subscript out of range' inline error when the resultset has one series&lt;br /&gt;
Beta 0.7.9&lt;br /&gt;
* Wizard: Added dataflow quick filter&lt;br /&gt;
* Legacy Mode: Removed the Ribbon Bar option to control automatic refresh on change because setting to 'manual' prevented workbook and sheet refresh because named ranges were not being created&lt;br /&gt;
* Legacy Mode: Fixed 'refreshselectedcell' bug whereby a named range was not being created if the function returns an error thus preventing subsequent workbook and sheet refresh operations&lt;br /&gt;
Beta 0.7.10&lt;br /&gt;
* Wizard: Date format syntax help added&lt;br /&gt;
* Wizard: Corrected date format validation bug that reported dates of the form '01/01/2010' as valid&lt;br /&gt;
* Wizard: Corrected bug that incorrectly evaluated date values in existing formulas on wizard startup&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* Legacy Mode: Changed legacy mode to use 'worksheet' scoped named ranges rather the 'workbook' to avoid confusion when worksheets are duplicated&lt;br /&gt;
* Legacy Mode: Modified legacy refresh to use worksheet.evaluate rather than application.evaluation to ensure formulas run within the correct worksheet context - fixes unexpected workbook refresh results due to the formulas on other worksheets being evaluated in the current worksheet context&lt;br /&gt;
Beta 0.7.11&lt;br /&gt;
* FXLData: Bug fix to availability query to correctly set the format=sdmx-2.1 - resolves problem in Fusion Registry 11.0.0 where the query was being rejected with HTTP 406 due to invalid format specifier&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5195</id>
		<title>FXLData</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=FXLData&amp;diff=5195"/>
		<updated>2022-11-08T13:02:36Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:1.5rem;&amp;quot;&amp;gt;An Excel add-in providing a collection of functions for retrieving statistical data from a Fusion Registry directly into a worksheet&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Fxldata animation.gif]]&lt;br /&gt;
&lt;br /&gt;
=Download=&lt;br /&gt;
Download the latest version [[File:FXLData 1-2-1.zip]] 08 November 2022&lt;br /&gt;
&lt;br /&gt;
=Quick start=&lt;br /&gt;
# Download the latest version and unzip the add-in which is a single file: FXLData.xlam&lt;br /&gt;
# [[#Installation|Install]] the add in&lt;br /&gt;
# Open a blank Excel worksheet&lt;br /&gt;
# Paste the following formula into a cell&lt;br /&gt;
 =fxldata(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;)&lt;br /&gt;
A sample 100 series of annual ECB exchange rates data will be retrieved from Metadata Technology's public demonstration Fusion Registry service and inserted directly into the sheet.&lt;br /&gt;
&lt;br /&gt;
The [[FXLData Wizard]] provides tools to help with the task of building FXLData formulas.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|FXLData Excel ribbon|200px]]&lt;br /&gt;
&lt;br /&gt;
=Change Log=&lt;br /&gt;
See the [[FXLData Changelog]] for recent changes, updates and bug fixes.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
=Overview=&lt;br /&gt;
The FXLData family of functions are Excel ''array formulas''.&lt;br /&gt;
&lt;br /&gt;
These work in the same way normal as normal single-cell funcions such as =SUM() and =STDEV() with the exception that the result is an ''array'' of series and observation values spanning a range of rows and columns. &lt;br /&gt;
&lt;br /&gt;
Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] provides general information on how to work with array formulas in Excel.&lt;br /&gt;
&lt;br /&gt;
====Parameterised functions====&lt;br /&gt;
These functions take a number of separate arguments making them suitable for building sophisticated data models where Start Period, End Period and other parameters use cell references or Excel formulas.&lt;br /&gt;
[[File:Fxldata example1.PNG|thumb|Horizontal time-series example]]&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLData'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, labels, headers and whether dimensions and attributes are shown&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataV'''( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] - ignored, [IncludeBreakdown] - ignored, [IncludeAttributes]'' )&amp;lt;/span&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Returns a selected dataset in 'vertical' format with one series per column&lt;br /&gt;
* Three mandatory arguments: the base URL of the Fusion Registry, the Dataflow, a Series Key pattern specifying what series to return&lt;br /&gt;
* A further nine optional arguments can be specified including: maximum number of series to retrieve, start / end period, and whether dimensions, attributes and metrics are shown&lt;br /&gt;
* IncludeSeriesKey is ignored&lt;br /&gt;
* IncludeBreakdown is ignored&lt;br /&gt;
* Set Labels=both to show IDs and dimensions / attributes&lt;br /&gt;
* If Labels=both, setting IncludeAttributes=TRUE will show the breakdown of series / dataset attributes in the header&lt;br /&gt;
* IncludeHeader controls whether the resultset metrics are shown at the top (e.g. 205/1276 series   1.78 seconds)&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;)&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A...&amp;quot;,1000,&amp;quot;round=2&amp;quot;,2010,2020,&amp;quot;both&amp;quot;,true,true,true,false)&lt;br /&gt;
 =FXLData(C14,C4,C7,C15,C13,C5,C6,C12,C9,C8,C10,C11)&lt;br /&gt;
 =FXLDataV(A9,B24,B25,1000,,min(D55,2010),max(D56,2020))&lt;br /&gt;
Like all Excel functions, arguments can either be literal values, cell references, or other formulas.&lt;br /&gt;
&lt;br /&gt;
====Functions taking a Fusion Registry data query URL====&lt;br /&gt;
These functions take a single fully-formed Fusion Registry data query URL making them suitable for use cases where another tool such as the Fusion Data Browser has been used for data discovery, with data retrieval being performed directly in Excel.&lt;br /&gt;
&lt;br /&gt;
Both the horizontal and 'V' verical variants take the same arguments making it easy to switch between presentations. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrl'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'horizontal' time-series format with one series per row&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLData() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlV'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset in 'vertical' format with one series per column&amp;lt;br/&amp;gt;&lt;br /&gt;
* Behaves in the same way as =FXLDataV() but takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataUrlFact'''( ''Url , [MaxSeries] '' )&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table]&amp;lt;br/&amp;gt;&lt;br /&gt;
* Takes a single mandatory argument: a fully-formed Fusion Registry data query URL&lt;br /&gt;
* A single optional argument allows the maximum number of series to be set&lt;br /&gt;
* Returns one row per observation including all series and observation attributes&lt;br /&gt;
* Following the traditional fact table model, only dimension and attributes codes are returned - there is not option to return code labels&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
 =FXLDataUrlV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt;&amp;quot;,1000)&lt;br /&gt;
 =FXLDataUrlFact(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/.CAD+MXN+MYR...&amp;lt;/nowiki&amp;gt;&amp;quot;,20)&lt;br /&gt;
&lt;br /&gt;
====Administrative functions====&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;gt;'''=FXLDataVersion()'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* Returns the software version number and build date&lt;br /&gt;
&lt;br /&gt;
====Microsoft 365 Excel 2018 and later====&lt;br /&gt;
In Microsoft 365 versions of Excel, the FXLData functions act as [https://support.microsoft.com/en-us/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 dynamic array formulas] which populate or 'spill' the result set into neighbouring cells on execution. There is no need for an explicit refresh because Excel will 'recalculate' any FXLData functions that have changed using its normal worksheet calculation behaviour. Settings Excel's calculation options to Automatic (the default) will automatically refresh an FXLData formula if the formula or something it depends upon such as a parameter in referenced cell has changed. If calculation is set to Manual, changed FXLData formulas will be refreshed when the user asks Excel to perform a recalculation using the ''Calculate Now'' or ''Calculate Sheet'' buttons on the ribbon bar. A complete recalculation can be forced using CTRL+ALT+SHIFT+F9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Office 2010-2019 Excel====&lt;br /&gt;
For these older versions of Excel which do not support dynamic array formulas, the FXLData functions work in [[#Legacy_Mode|legacy mode]] which emulates to some extent the dynamic array formula behaviour. On execution, the result set still populates into neighbouring cells. However, there are some important differences between legacy mode and proper dynamic arrays:&lt;br /&gt;
* In legacy mode, the result set is written directly into the worksheet which Excel treats as a collection of largely disconnected cells. By contrast, Excel treats a dynamic array as a single entity.&lt;br /&gt;
* Excel automatically protects against dyanamic arrays overwriting other content in the worksheet resulting in a [https://support.microsoft.com/en-us/office/how-to-correct-a-spill-error-ffe0f555-b479-4a17-a6e2-ef9cc9ad4023 #Spill!] error if that would otherwise occur. Legacy mode will overwrite any existing content meaning that care is required to avoid worksheet corruption if the result set from an FXLData function is larger than expected.&lt;br /&gt;
* Legacy mode FXLData functions will be automatically refreshed if the formula itself is changed, but it not if a dependency of the formula changes. This is because the legacy mode refresh only emulates the proper dynamic array formuala spill behaviour.&lt;br /&gt;
&lt;br /&gt;
====FXLData Wizard====&lt;br /&gt;
The [[FXLData Wizard]] is an Excel ribbon bar tool for interactively building and editing FXLData functions and comes as part of the add in.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
# Fusion Registry 10.7.0 or later&lt;br /&gt;
# Microsoft 365 Excel 2018 or later - supports dynamic arrays which automatically 'spill' the result set into the worksheet&lt;br /&gt;
# Office 2010-2019 - FXLData functions operate in [[#Legacy_Mode|legacy mode]] which provides dynamic array emulation&lt;br /&gt;
&lt;br /&gt;
Refer to Microsoft's [https://support.microsoft.com/en-us/office/guidelines-and-examples-of-array-formulas-7d94a64e-3ff3-4686-9372-ecfd5caa57c7 documentation] on dyanmic arrays and legacy 'ctrl-shift-enter' behavior.&lt;br /&gt;
&lt;br /&gt;
Excel on Apple Mac is not supported because FXLData uses operating system services only available on Windows.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
[[File:Excel addinmanager.png|thumb|Excel add-in manager]]&lt;br /&gt;
The FXLData add-in is distributed as a single Excel file:&lt;br /&gt;
&lt;br /&gt;
''FXLData.xlam''&lt;br /&gt;
&lt;br /&gt;
There are two installation options.&lt;br /&gt;
&lt;br /&gt;
====Option 1: Excel Add-ins manager====&lt;br /&gt;
# From the Excel File menu, choose Options&lt;br /&gt;
# On the Options popup, choose Add-ins from the list&lt;br /&gt;
# At the bottom, choose Excel Add-ins from the 'Manage' list and click Go&lt;br /&gt;
# On the Add-ins popup, choose Browse and select the FXLData.xlam distribution file&lt;br /&gt;
&lt;br /&gt;
====Option 2: Excel XLSTART directory====&lt;br /&gt;
# Copy the FXLData.xlam to the Excel XLSTART directory which is usually in the following location C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Excel\XLSTART&lt;br /&gt;
&lt;br /&gt;
=Function Reference=&lt;br /&gt;
====FXLData()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLData() returns a horizontal time-series dataset, one series per row with time spanning the columns i.e. time is the dimension at observation. A different dimension at observation can be chosen using the RestAuguments parameter - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLData&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - names only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes component labels at the head of each column and shows metrics&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; component labels and metrics are ommitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; adds a calculated dimension 'series' with the series key as the value&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; series keys are not included in the dataset || FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Boolean&amp;lt;br&amp;gt;Controls whether a breakdown of the dataset's components is shown.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes dimensions. Attributes are also shown if the IncludeAttributes argument is TRUE. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; no components are included || TRUE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes in the component breakdown&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrl()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrl() returns a horizontal time-series dataset. Time is the dimension at observation by default resulting in one series per row with time periods spanning the columns. A different dimension at observation can be chosen by adding a REST argument to the URL - refer to the guidance [[#Dimension at Observation|below]].   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrl&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataV()===&lt;br /&gt;
By default ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This parameterised form is suitable for hand coding in a spreadsheet. Like all Excel functions, the arguments can be literal values, cell references or Excel expressions allowing the creation of complex data models. In its simplest form, only three arguments are required:&lt;br /&gt;
* The 'base URL' of the Fusion Registry to connect to&lt;br /&gt;
* The ID of the Dataflow&lt;br /&gt;
* A series key specifying which series to retrieve, or simply 'all' to retrieve all series&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;all&amp;quot;)&lt;br /&gt;
By default, the number of series returned is capped at 100, but can be altered using the ''MaxSeries'' argument&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataV&amp;lt;/strong&amp;gt;( ''RegUrl , Dataflow , Expression , [MaxSeries] , [RestArguments] , [StartPeriod] , [EndPeriod] , [Labels] , [IncludeHeader] , [IncludeSeriesKey] , [IncludeBreakdown] , [IncludeAttributes]'' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||RegUrl|| The base URL of the Fusion Registry service || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||Dataflow || Options:&amp;lt;br&amp;gt;1. The dataflow to query conforming to the SDMX REST specification for data queries&amp;lt;br&amp;gt;2. A blank string - in this case the Dataflow(s) to query must be specified as part of the Expression. || EXR&amp;lt;br&amp;gt;ECB,EXR,1.0 || style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 3||Expression || Options:&amp;lt;br&amp;gt;1. A [[Series Key|series key]] &amp;lt;br&amp;gt;2. A dataflow and series key expression &amp;lt;dataflow&amp;gt;/&amp;lt;series key&amp;gt;&amp;lt;br&amp;gt;3. A [[Anatomy_of_the_Data_Browser#Series_List_From_Series_Basket|JSON series basket expression]] which must be a cell reference and cannot be a literal value&amp;lt;br&amp;gt;4. The keyword 'all' to select all series in the dataset|| A&amp;lt;br&amp;gt;A.CAD+HUF+INR...E&amp;lt;br&amp;gt;all&amp;lt;br&amp;gt;ECB,EXR,1.0/A.HUF...E&amp;lt;br&amp;gt;C4 (cell reference)||style=&amp;quot;background-color:pink;&amp;quot; | Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 4||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|-&lt;br /&gt;
| 5||RestArguments || Additional [[Data_Query_Web_Service#Extended_HTTP_Query_Parameters|data REST query arguments]] intended for special use cases like adding calculated measures or changing the dimension at observation  || round=3&amp;amp;calculatemeasure=THE_MEASURE;pch;mvavg,3&amp;amp;dimensionAtObservation=CURRENCY_DENOM || Optional&lt;br /&gt;
|-&lt;br /&gt;
| 6||StartPeriod || The start period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the start of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 7||EndPeriod || The end period in [[SDMX Time Formats|SDMX standard time format]] || 2010-06-12&amp;lt;br&amp;gt;2010 || Optional&amp;lt;br&amp;gt;Defaults to the end of the available data&lt;br /&gt;
|-&lt;br /&gt;
| 8||Labels || Component labels&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - IDs only&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;both&amp;lt;/code&amp;gt; - both IDs and names || both || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 9||IncludeHeader || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; shows resultset metrics (e.g. 108/1256 series  2.15 seconds)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; metrics are omitted|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 10||IncludeSeriesKey || Ignored|| || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 11||IncludeBreakdown || Ignored || || Optional&amp;lt;br&amp;gt;Ignored&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 12||IncludeAttributes || Boolean&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; includes series attributes if labels=both&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; excludes attributes|| FALSE || Optional&amp;lt;br&amp;gt;Defaults to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlV()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns a vertical dataset, one series per column with time spanning the rows. The dimension at observation cannot be changed, the REST argument, if set is ignored.   &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Fdb query syntax.PNG|thumb|Fusion Data Browser Query Syntax function]]&lt;br /&gt;
This version of the function is designed primarily for use cases where a data query URL is generated by a data discovery tool, for example:&lt;br /&gt;
* The Fusion Registry [https://demo.metadatatechnology.com/FusionRegistry/webservice/data.html REST Web Service query builder]&lt;br /&gt;
* The Fusion Data Browser Export Data ''Query Syntax'' function&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlV&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataUrlFact()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlFact() returns the selected resultset as a [https://en.wikipedia.org/wiki/Fact_table data warehouse style fact table] with one row per observation including all series and observation attributes. As this is conceptually just the fact table of a [https://en.wikipedia.org/wiki/Star_schema star schema], only code IDs are returned - code labels are not available.    &lt;br /&gt;
&lt;br /&gt;
'''Use Case'''&amp;lt;br&amp;gt;&lt;br /&gt;
This version of the function is designed for data analytics involving observation attributes. The fact table model also works well with Excel's standard Pivot Table features.&lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataUrlFact&amp;lt;/strong&amp;gt;( ''Url , [MaxSeries] '' )&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:70%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=max-width:4em | Argument!! style=max-width:4em | Description !! style=max-width:4em | Examples !! style=max-width:4em | Required?&lt;br /&gt;
|-&lt;br /&gt;
| 1||Url|| A complete and fully-formed SDMX data query URL || &amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/ECB,EXR,1.0/A.CAD+HUF+INR...E?round=2&amp;amp;labels=id&amp;lt;/nowiki&amp;gt; || style=&amp;quot;background-color:pink;&amp;quot; |Mandatory&lt;br /&gt;
|-&lt;br /&gt;
| 2||MaxSeries || The maximum number of series to return || 1000 || Optional&amp;lt;br&amp;gt;Defaults to 100 series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====FXLDataVersion()===&lt;br /&gt;
ƒ&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; =FXLDataUrlV() returns the version number of the FXLData addin.  &lt;br /&gt;
&lt;br /&gt;
'''Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;=&amp;lt;strong&amp;gt;FXLDataVersion&amp;lt;/strong&amp;gt;()&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example'''&amp;lt;br&amp;gt;&lt;br /&gt;
 =FXLDataVersion()&lt;br /&gt;
Returns &amp;lt;code&amp;gt;1.3.2 18/12/2021&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Legacy Mode=&lt;br /&gt;
&amp;lt;strong&amp;gt;Legacy Mode&amp;lt;/strong&amp;gt; emulates the latest Microsoft 365 dynamic array behaviour in older Office Excel 2010-2019 versions by populating the cells neighbouring that holding an FXLData formula with the data result set.&lt;br /&gt;
&lt;br /&gt;
In versions of Microsoft 365 Excel that do support dynamic arrays, legacy mode can also be used to write the result set directly into the worksheet. That's useful in situations where discrete data points are needed rather than an Excel array which has certain limitations.&lt;br /&gt;
&lt;br /&gt;
====Office Excel 2010-2019====&lt;br /&gt;
FXLData always works in legacy mode when using Office Excel 2010-2019. &lt;br /&gt;
&lt;br /&gt;
When an FXLData function is executed, the first cell of the result set will appear as the formula result. If automatic calculation is enabled, FXLData's ''dynamic array emulation'' will immediately populate the neighbouring cells with the remainder of the result set. If automatic calculation is disabled, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
====Forcing Microsoft 365 Excel to use Legacy Mode====&lt;br /&gt;
FXLData functions in Microsoft 365 Excel operate as dynamic array formulas by default where the result set appears in the worksheet as an Excel array.&lt;br /&gt;
&lt;br /&gt;
Using the [https://support.microsoft.com/en-us/office/implicit-intersection-operator-ce3be07b-0101-4450-a24e-c1c999be2b34 Implicit intersection operator: @] however forces the FXLData function to operate in legacy mode causing the result set to be written directly into the worksheet.&lt;br /&gt;
 =@FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://registry.domain.org/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;ECB,EXR,1.0&amp;quot;,&amp;quot;A..BGN+BEF..&amp;quot;,100,&amp;quot;round=2&amp;quot;,&amp;quot;2010&amp;quot;,&amp;quot;2020&amp;quot;,&amp;quot;id&amp;quot;,TRUE,FALSE,TRUE,FALSE)&lt;br /&gt;
In the above example the '''@''' preceeding the FXLData function name instructs Excel to return the ''implicit intersection'' of the result set array which is just the first cell. If legacy mode ''automatic calculation'' is enabled, the FXLData's dynamic array emulation will populate the neighbouring cells. If not, [[#Refresh|Refresh]] must be used.&lt;br /&gt;
&lt;br /&gt;
=Refresh=&lt;br /&gt;
===Microsoft 365 Excel and dynamic array formulas===&lt;br /&gt;
====Interactive====&lt;br /&gt;
FXLData functions by default work as ''dynamic array formulas'' in Microsoft 365 so are refreshed using the normal Excel calculation rules:&lt;br /&gt;
&lt;br /&gt;
Refresh occurs when:&lt;br /&gt;
* a change is made to the formula&lt;br /&gt;
* a change is made to something the formula depends upon such as an argument value held in another cell&lt;br /&gt;
* Excel is forced to recalculate open workbooks using &amp;lt;code&amp;gt;CTRL+ALT+F9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CTRL+ALT+SHIFT+F9&amp;lt;/code&amp;gt;&lt;br /&gt;
* a saved workbook is opened&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] The Refresh options on the FXLData ribbon do not refresh dynamic array formulas.&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
Refreshing FXLData from VBA, C# or C code uses the standard [https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation Excel API calculation functions], for instance:&lt;br /&gt;
* VBA: ActiveSheet.Calculate&lt;br /&gt;
* C API: xlcCalculateDocument()&lt;br /&gt;
&lt;br /&gt;
===Office 2010-2019 Excel and Microsoft 365 Excel working in legacy Mode===&lt;br /&gt;
====Interactive====&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|thumb|FXLData Excel ribbon|200px]]&lt;br /&gt;
In older versions of Office Excel and when forcing legacy mode in Microsoft 365 using the @ implicit intersection operator, FXLData functions can be manually refreshed using the Refresh options on the ribbon bar.&lt;br /&gt;
* Refresh Selected: refreshes the FXLData function at the current active cell&lt;br /&gt;
* Refresh Sheet: refreshes all FXLData functions on the current work sheet&lt;br /&gt;
* Refresh Book: refreshes all FXLData functions in the work book&lt;br /&gt;
&lt;br /&gt;
[[File:Using Refresh in Legacy mode.PNG|thumb|Using Refresh in Legacy mode|200px]]&lt;br /&gt;
&lt;br /&gt;
====From Code====&lt;br /&gt;
The FXLData add-in exposes three public sub-routines to trigger a refresh from VBA code.&lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] A reference to FXLDataAddin must be added to the VBA project.&lt;br /&gt;
&lt;br /&gt;
Macro Example 1 - Refresh the FXLData function in the current active cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshActiveCell&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 2 - Refresh all FXLData functions in the workbook&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshWorkbook&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 3 - Refresh all FXLData functions in the current sheet&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshSheet&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
Macro Example 4 - Refresh the FXLData function in the specified cell&lt;br /&gt;
 Public Sub myMacro()&lt;br /&gt;
    FXLDataRefreshCell Range(&amp;quot;C4&amp;quot;)&lt;br /&gt;
 End Sub&lt;br /&gt;
&lt;br /&gt;
=Dimension at Observation=&lt;br /&gt;
For horizontal presentation functions, the ''dimension at observation'' defaults to time but can be changed using the &amp;lt;code&amp;gt;dimensionAtObservation&amp;lt;/code&amp;gt; REST argument.&lt;br /&gt;
&lt;br /&gt;
'''REST Argument Syntax'''&amp;lt;br&amp;gt;&lt;br /&gt;
dimensionAtObservation=&amp;lt;DIMENSION_ID&amp;gt; | AllDimensions&lt;br /&gt;
&lt;br /&gt;
'''Behaviour'''&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:60%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Behaviour !! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;DIMENSION_ID&amp;gt; || Using the ID of any other dimension in the dataset will cause the observations to be broken down by that dimension which will appear across the columns || dimensionAtObservation=REF_AREA&lt;br /&gt;
|-&lt;br /&gt;
| TIME_PERIOD || The same as the default behaviour where time is the dimension at observation || (dimensionAtObservation argument is ommitted)&lt;br /&gt;
|-&lt;br /&gt;
| AllDimensions || Setting the dimension at observation to the special value ''AllDimensions'' generates a result set with a single row per observation || dimensionAtObservation=AllDimensions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples'''&amp;lt;br&amp;gt;&lt;br /&gt;
Setting REF_AREA as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=REF_AREA&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
AllDimensions - the result is precisely one observation per row&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;amp;dimensionAtObservation=AllDimensions&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Default behaviour with time as the dimension at observation&lt;br /&gt;
 =FXLDataUrl(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry/ws/public/sdmxapi/rest/data/WB,GCI,1.0/GBR?labels=id&amp;amp;round=1&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Choosing Attributes to Include in the Resultset=&lt;br /&gt;
A breakdown of some or all series attributes can be returned as part of the resultset if required. Note that dataset and observation-level attributes are not available.&lt;br /&gt;
====Include all attributes====&lt;br /&gt;
* =FXLData() horizontal presentation: set ''includeBreakdown=TRUE'' and ''includeAttributes=TRUE''&amp;lt;br&amp;gt;&lt;br /&gt;
* =FXLDataV() vertical presentation: set ''labels=both'' and ''includeAttributes=TRUE''&lt;br /&gt;
&lt;br /&gt;
====Include selected attributes====&lt;br /&gt;
* Set ''includeBreakdown=TRUE'' for =FXLData() or ''labels=both'' for =FXLDataV()&amp;lt;br&amp;gt;&lt;br /&gt;
* Add to the ''REST Args'': ''attributes='' followed by a comma-separated list of the attribute IDs to include. e.g. &amp;lt;code&amp;gt;attributes=UNIT,TITLE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worked examples====&lt;br /&gt;
The following are samples from the ECB's EXR (Exchange Rates) dataset:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Include all attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include all attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using horizontal presentation.&lt;br /&gt;
 =FXLData(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;id&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
Include just the UNIT and TITLE attributes using vertical presentation.&lt;br /&gt;
 =FXLDataV(&amp;quot;&amp;lt;nowiki&amp;gt;https://demo.metadatatechnology.com/FusionRegistry&amp;lt;/nowiki&amp;gt;&amp;quot;,&amp;quot;EXR&amp;quot;,&amp;quot;A&amp;quot;,100,&amp;quot;attributes=UNIT,TITLE&amp;quot;,&amp;quot;1990&amp;quot;,&amp;quot;1995&amp;quot;,&amp;quot;both&amp;quot;,True,True,True,True)&lt;br /&gt;
&lt;br /&gt;
=Fusion Registry Authentication=&lt;br /&gt;
Excel will automatically request the user to authenticate when executing and FXLData function where the Fusion Registry data source is operating in ''[[Server_Security#Server_Security|private mode]]''.&lt;br /&gt;
&lt;br /&gt;
Points to note:&lt;br /&gt;
* Excel will remember authentication details provided for the remainder of the session. Close and reopen Excel if you need to re-authenticate as a different user.&lt;br /&gt;
* A spread sheet can contain multiple FXLData functions using different Fusion Registries. Excel will ask for separate authentication details for each Fusion Registry, thus it is possible to connect to Fusion Registry A as user X, and Fusion Registry B as user Y.&lt;br /&gt;
* No authentication will be requested if a Fusion Registry is operating in ''public mode''. &lt;br /&gt;
&lt;br /&gt;
[[File:Sign.png|30px]] There is no way to force FXLData to authenticate as a particular user if the Fusion Registry is operating in ''[[Server_Security#Server_Security|public mode]]'' but also allows authenticated users with additional data access privileges. Fusion Registry administrators should consider switching to ''[[Server_Security#Server_Security|private mode]]'' as a work-around.&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Excel Authentication.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
===[username]@ URL prefix to force authentication as a specific user===&lt;br /&gt;
From Fusion Registry 11.1.1 (release 10 June 2022) and FXLData 1.1.1, [username]@ can be prefixed to the URL to force authentication as the user identified by [username].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 =FXLData(&amp;quot;johnwright@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry will ensure the user logs in with the given username.  To force authentication without specifying a username, user the @ prefix with no username.&lt;br /&gt;
&lt;br /&gt;
 =FXLData(&amp;quot;@https://stats.mydomain.org/FusionRegistry&amp;quot;,&amp;quot;ABC,CPI,1.0&amp;quot;,&amp;quot;A..X00.M+Q._Z&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=Resultset Metrics=&lt;br /&gt;
Metrics are shown in the first row of the result set if headers are enabled.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Example Metrics 0 7 0.JPG|thumb|Example Metrics]]&lt;br /&gt;
&lt;br /&gt;
===Series Count===&lt;br /&gt;
 100/3608 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;base series retrieved&amp;gt;/&amp;lt;base series available&amp;gt; ''series''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;base series retrieved&amp;gt; is the number of base series retrieved ''before any calculated measures are added or aggregations performed''.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;base series available&amp;gt; is the total number of base series available for the query.&lt;br /&gt;
&lt;br /&gt;
====The effect of calculated measures====&lt;br /&gt;
If the query includes calculated measures such as percentage change or moving average, the actual number of series retrieved will be '''higher''' than the reported base series. The actual number of series in the result set can generally be calculated as:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;base series retrieved&amp;gt; * (1 + &amp;lt;number of calculated measures&amp;gt;)''&lt;br /&gt;
&lt;br /&gt;
Note that this formula does not hold true when combining aggregations with calculated measures.&lt;br /&gt;
&lt;br /&gt;
====The effect of aggregations====&lt;br /&gt;
Aggregations reduce the number of series retrieved due to the removal of one or more dimensions. Thus, the series retrieved will be '''lower''' than the reported base series.&lt;br /&gt;
&lt;br /&gt;
===Function Execution Time===&lt;br /&gt;
 0.29 seconds&lt;br /&gt;
&lt;br /&gt;
&amp;lt;execution time&amp;gt; ''seconds''&lt;br /&gt;
&lt;br /&gt;
The actual time the function took to retrieve the data from the Fusion Registry and return the result set to Excel.&lt;br /&gt;
&lt;br /&gt;
===Resultset freshness timestamp===&lt;br /&gt;
 18/11/2021 17:10:07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;date time&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The date and time the resultset was last refreshed from the Fusion Registry data source.&lt;br /&gt;
&lt;br /&gt;
====Controlling when metrics are displayed====&lt;br /&gt;
For parameterised functions (=FXLData() and =FXLDataV()), metrics are displayed when the ''IncludeHeader'' argument is &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;. Set to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; to omit metrics.&amp;lt;br&amp;gt;&lt;br /&gt;
For URL functions (=FXLDataUrl() and =FXLDataUrlV()), metrics are displayed if the REST API parameter &amp;lt;code&amp;gt;excludeHeader=false&amp;lt;/code&amp;gt;. Set the parameter to &amp;lt;code&amp;gt;excludeHeader=true&amp;lt;/code&amp;gt; to omit metrics.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
====The FXLData addin disappears or fails to load====&lt;br /&gt;
A possible cause is Windows file protection security settings blocking the FXLData.xlam file as it has originated from another computer. The following YouTube video explains how to solve the problem by disabling Windows protection on the file: https://www.youtube.com/watch?v=AhnOU-ulqNg&lt;br /&gt;
&lt;br /&gt;
====Excel slow or hangs when changing or deleting a large number of cells in a worksheet====&lt;br /&gt;
Disable Legacy Mode automatic recalculation using the checkbox on the ribbon bar:&lt;br /&gt;
&lt;br /&gt;
[[File:FXLData Wizard Ribbon 058.JPG|300px]]&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-1.zip&amp;diff=5194</id>
		<title>File:FXLData 1-2-1.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=File:FXLData_1-2-1.zip&amp;diff=5194"/>
		<updated>2022-11-08T12:57:54Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4977</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4977"/>
		<updated>2022-08-05T09:39:08Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Version 11.3.0 (Released: 2022/07/6) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - [[Synchronise_structural_metadata_between_environments|Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes]]&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - [[Publication_Table#Footnotes|Publication Table: Footnotes support]]&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt; &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation &amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[Publication_Table|Publication Tables]]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4976</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4976"/>
		<updated>2022-08-05T09:38:22Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Version 11.3.0 (Released: 2022/07/6) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - [[Synchronise_structural_metadata_between_environments|Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes]]&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes support&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt; &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation &amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[Publication_Table|Publication Tables]]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4975</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4975"/>
		<updated>2022-08-05T09:24:56Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Version 11.1.0 (Released: 2022/06/01) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes support&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt; &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation &amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[Publication_Table|Publication Tables]]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4974</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4974"/>
		<updated>2022-08-05T09:24:46Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Version 11.1.0 (Released: 2022/06/01) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes support&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt; &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation &amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[Publication_Table|Publication Tables]]&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4973</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4973"/>
		<updated>2022-08-05T09:22:21Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Changelog for Fusion Registry Version 11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes support&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt; &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation &amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4972</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4972"/>
		<updated>2022-08-05T09:20:19Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Version 11.3.0 (Released: 2022/07/6) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes support https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt; &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4971</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4971"/>
		<updated>2022-08-05T09:19:52Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt; &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4970</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4970"/>
		<updated>2022-08-05T09:19:24Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Version 11.3.0 (Released: 2022/07/6) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt; &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4969</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4969"/>
		<updated>2022-08-05T09:19:02Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Version 11.3.0 (Released: 2022/07/6) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
Bug Fixes:&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt; &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4968</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4968"/>
		<updated>2022-08-05T09:18:17Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Version 11.2.0 (Released: 2022/06/27) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
Bug Fixes:&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans. &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Specify the validation and transformation behaviour when duplicate observations are found - [[Data_Transformation_Web_Service#HTTP_Headers|https://wiki.sdmxcloud.org/Data_Transformation_Web_Service#HTTP_Headers]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType -&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4967</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4967"/>
		<updated>2022-08-05T09:12:22Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
Bug Fixes:&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans. &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation - https://github.com/MEDIT-Org/fmr/issues/219&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4966</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4966"/>
		<updated>2022-08-05T09:04:09Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Changelog for Fusion Registry Version 11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
Bug Fixes:&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans. &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-6] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-9] Remove FusionXL Download from webapp&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation - https://github.com/MEDIT-Org/fmr/issues/219&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4965</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4965"/>
		<updated>2022-08-05T09:03:30Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
Bug Fixes:&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans. &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-6] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-9] Remove FusionXL Download from webapp&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation - https://github.com/MEDIT-Org/fmr/issues/219&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4964</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4964"/>
		<updated>2022-08-05T09:03:09Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Version 11.4.0 (Released: 2022/07/22) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - Dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
Bug Fixes:&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans. &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-6] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-9] Remove FusionXL Download from webapp&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation - https://github.com/MEDIT-Org/fmr/issues/219&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4963</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4963"/>
		<updated>2022-08-05T09:02:07Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
==Version 11.4.0 (Released: 2022/07/22)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-165 - Support Certificate Authentication https://github.com/MEDIT-Org/fmr/issues/234&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-146 - FMR dependency updates https://github.com/MEDIT-Org/fmr/issues/232&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&amp;lt;br&amp;gt;&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.3.0 (Released: 2022/07/6)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt; &lt;br /&gt;
FR11-10/FMR11-153 - Environment Synchronisation - compare the structural metadata content with that from another Registry, push or pull changes&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
Bug Fixes:&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans. &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-6] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-9] Remove FusionXL Download from webapp&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation - https://github.com/MEDIT-Org/fmr/issues/219&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4962</id>
		<title>Change Log FR - V11 and subsequent releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Change_Log_FR_-_V11_and_subsequent_releases&amp;diff=4962"/>
		<updated>2022-08-05T08:58:45Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=Changelog for Fusion Registry Version 11=&lt;br /&gt;
&lt;br /&gt;
Version 11.4.0 (Released: 2022/07/22)&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
'''New Feature:''' &lt;br /&gt;
FR11-18 - Support Reference Metadata https://wiki.sdmxcloud.org/Reference_Metadata&lt;br /&gt;
FMR11-165 - Support Certificate Authentication https://github.com/MEDIT-Org/fmr/issues/234&lt;br /&gt;
&lt;br /&gt;
Improvement:&lt;br /&gt;
FMR11-146 - FMR dependency updates https://github.com/MEDIT-Org/fmr/issues/232&lt;br /&gt;
FMR11-159 - Add &amp;quot;Raw&amp;quot; option to Download structures and remove &amp;quot;Include internal settings&amp;quot; https://github.com/MEDIT-Org/fmr/issues/227&lt;br /&gt;
FMR11-160 - Allow a Concept Representation to be a ValueList https://github.com/MEDIT-Org/fmr/issues/83&lt;br /&gt;
&lt;br /&gt;
Bug Fixes:&lt;br /&gt;
FR11-14 - Issue loading Data Constraint with a Component element under Cube Region element&lt;br /&gt;
FR11-17 - Attribute variable does not work in table heading&lt;br /&gt;
FMR11-162 - SERIES_KEY column should be reserved for series keys https://github.com/MEDIT-Org/fmr/issues/128&lt;br /&gt;
FMR11-161 - Issue loading Data Constraint with a Component element under Cube Region element https://github.com/MEDIT-Org/fmr/issues/210&lt;br /&gt;
FMR11-163 - Attribute variable does not work in table heading https://github.com/MEDIT-Org/fmr/issues/240&lt;br /&gt;
FMR11-166 - Duplicate attribute is not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/143&lt;br /&gt;
FMR11-167 - Publication Table - Array Variables fail to save https://github.com/MEDIT-Org/fmr/issues/239&lt;br /&gt;
FMR11-168 - Error encountered whist attempting to deserialize structure https://github.com/MEDIT-Org/fmr/issues/210&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Version 11.3.0 (Released: 2022/07/6)&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
New Feature: &lt;br /&gt;
FR11-10/FMR11-153 - Add Environment Sync back in from FR10&lt;br /&gt;
&lt;br /&gt;
Improvement:&lt;br /&gt;
FMR11-158 - Publication Table: Footnotes work https://github.com/MEDIT-Org/fmr/issues/169&lt;br /&gt;
&lt;br /&gt;
Bug Fixes:&lt;br /&gt;
FMR11-152 - Comma not being processed correctly in Web Service query for ItemBeans. &lt;br /&gt;
FMR11-154 - Unexpected structure validation error from FMR  https://github.com/MEDIT-Org/fmr/issues/144&lt;br /&gt;
FMR11-155 - Structure validation errors are not detected anymore in FMR https://github.com/MEDIT-Org/fmr/issues/148&lt;br /&gt;
FMR11-156 - v2 structure REST API does not support queries for multiple items using the comma syntax https://github.com/MEDIT-Org/fmr/issues/220&lt;br /&gt;
FMR11-157 - Typo in header of Representation Maps page https://github.com/MEDIT-Org/fmr/issues/224&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.2.0 (Released: 2022/06/27)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-6] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-9] Remove FusionXL Download from webapp&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-150] Add &amp;quot;Duplicate Behaviour&amp;quot; Header Parameter to Web Services for Validation and Transformation - https://github.com/MEDIT-Org/fmr/issues/219&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bug Fixes:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-3] Schema Query in structure format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-4] Fusion Cache ignoring parameters like normalise freq on V1 data queries&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-5] Data Point Security - allow rule against a series attribute value that does not exist in the dataset restricts all data&amp;lt;br&amp;gt;&lt;br /&gt;
[FR11-8] Comma not being processed correctly in Web Service query for ItemBeans&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-141] Re-opening of Alternate Half year Issue - https://github.com/MEDIT-Org/fmr/issues/141&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-143] TIME_FORMAT not being generated correctly&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-144] Problem with Date data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/212&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-145] Problem with Description data type when reverse engineering a DSD from a CSV dataset - https://github.com/MEDIT-Org/fmr/issues/213&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-147] DSD Wizard step 3 - not allowing Enumerated Representation - https://github.com/MEDIT-Org/fmr/issues/216&amp;lt;br&amp;gt;&lt;br /&gt;
[FMR11-148] Schema Query in Structure Format does not work&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:&amp;lt;br&amp;gt;'''&lt;br /&gt;
[FMR11-140] Revert xsi:type=SiblingType, change the schema to output the Group as Sibling not SiblingType - &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Version 11.1.0 (Released: 2022/06/01)==&lt;br /&gt;
'''New Feature:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5130] [https://wiki.sdmxcloud.org/Publication_Table#Looping_Rows Publication Table - Support Dynamic Rows]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5131] [https://wiki.sdmxcloud.org/Publication_Table#Formatting_Missing_Observations Publication Table - Format rules on cells with no data ]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5132] [https://wiki.sdmxcloud.org/Publication_Table#Dependent_Dimension_Variable Publication Table - Rules to derive a Dimension Value from another Dimenison's value]&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5133] [https://wiki.sdmxcloud.org/Publication_Table#Anchor_Rows Publication Table - Option to output rows with no data ] &amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5134] [https://wiki.sdmxcloud.org/Publication_Table_Web_Services#Materialise_Publication_Table Publication Table - Ouput Materialised Table in Excel ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Improvement:'''&amp;lt;br&amp;gt;&lt;br /&gt;
[FR-5129] - Support for MySQL 8 and above&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version 11.0.0 (Released: 2022/05/22)==&lt;br /&gt;
'''Changes and New Features:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the SDMX 3.0 information model as Fusion Registry’s internal metadata object model&lt;br /&gt;
* SDMX 3.0 REST API support&lt;br /&gt;
* Backward compatibility for SDMX 2.1 and 2.0 structures and formats&lt;br /&gt;
* Backward compatibility with SDMX 2.1 REST API (REST API v1 specification)&lt;br /&gt;
* Improved data and metadata access control&lt;br /&gt;
* Granular control over admin rights&lt;br /&gt;
* Fusion Portal – scheduled and on demand data and structure loads&lt;br /&gt;
* Refreshable Excel data format&lt;br /&gt;
* JNDI database connection option&lt;br /&gt;
* Publication Tables - publish curated but dynamic user interactive web data tables that show precisely the statistics required even if they come from multiple different data sets&lt;br /&gt;
&lt;br /&gt;
'''Breaking Changes from Fusion Registry 10:'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Change to the operating database schema - upgrading from Fusion Registry 10 to Fusion Registry 11 requires a fresh install and migration of the metadata, data and settings&lt;br /&gt;
* Environment sync function temporarily removed&lt;br /&gt;
* Fusion Security support deprecated - Active Directory and LDAP are the supported authentication services in Fusion Registry 11&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=SDMX_3.0_data_query_URL_syntax_support_in_Tomcat&amp;diff=4961</id>
		<title>SDMX 3.0 data query URL syntax support in Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=SDMX_3.0_data_query_URL_syntax_support_in_Tomcat&amp;diff=4961"/>
		<updated>2022-08-04T15:24:55Z</updated>

		<summary type="html">&lt;p&gt;Glenn: Glenn moved page SDMX 3.0 data query syntax support in Tomcat to SDMX 3.0 data query URL syntax support in Tomcat without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The SDMX 3.0 REST API (API version 2) data query specification allows component predicates as an alternative to the series key patterns supported in SDMX 2.1 (API version 1).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://demo11.metadatatechnology.com/FusionRegistry/sdmx/v2/data/dataflow/ECB/EXR/1.0/?c[CURRENCY]=BRL&amp;amp;c[EXR_TYPE]=SP00&amp;amp;format=sdmx-compact-2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The component predicates are:&lt;br /&gt;
 c[CURRENCY]=BRL&lt;br /&gt;
 c[EXR_TYPE]=SP00&lt;br /&gt;
&lt;br /&gt;
====Issue====&lt;br /&gt;
The square brackets [] are reserved characters in the URL specification requiring generally that they are URL-encoded to avoid misinterpretation.&lt;br /&gt;
 c%5BCURRENCY%5D=BRL&amp;amp;c%5BEXR_TYPE%5D=SP00&lt;br /&gt;
&lt;br /&gt;
%5B = [&amp;lt;br&amp;gt;&lt;br /&gt;
%5D = ]&lt;br /&gt;
&lt;br /&gt;
Some Fusion Registry deployment configurations will reject calls to the data query REST API unless the square brackets are URL-encoded&lt;br /&gt;
&lt;br /&gt;
====Relaxing URL reserved character checking in Apache Tomcat====&lt;br /&gt;
Apache Tomcat can be configured to relax its checks for reserved characters and allow square brackets in URLs.&lt;br /&gt;
&lt;br /&gt;
* Under the Tomcat 'conf' directory, locate the server.xml file&lt;br /&gt;
* Add the following attributes to the relevant Connector element&lt;br /&gt;
 relaxedPathChars='[]|'&lt;br /&gt;
 relaxedQueryChars='[]|{}^&amp;amp;amp;#x5c;&amp;amp;amp;#x60;&amp;amp;amp;quot;&amp;amp;amp;lt;&amp;amp;amp;gt;'&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=SDMX_3.0_data_query_URL_syntax_support_in_Tomcat&amp;diff=4960</id>
		<title>SDMX 3.0 data query URL syntax support in Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=SDMX_3.0_data_query_URL_syntax_support_in_Tomcat&amp;diff=4960"/>
		<updated>2022-08-04T15:24:18Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The SDMX 3.0 REST API (API version 2) data query specification allows component predicates as an alternative to the series key patterns supported in SDMX 2.1 (API version 1).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://demo11.metadatatechnology.com/FusionRegistry/sdmx/v2/data/dataflow/ECB/EXR/1.0/?c[CURRENCY]=BRL&amp;amp;c[EXR_TYPE]=SP00&amp;amp;format=sdmx-compact-2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The component predicates are:&lt;br /&gt;
 c[CURRENCY]=BRL&lt;br /&gt;
 c[EXR_TYPE]=SP00&lt;br /&gt;
&lt;br /&gt;
====Issue====&lt;br /&gt;
The square brackets [] are reserved characters in the URL specification requiring generally that they are URL-encoded to avoid misinterpretation.&lt;br /&gt;
 c%5BCURRENCY%5D=BRL&amp;amp;c%5BEXR_TYPE%5D=SP00&lt;br /&gt;
&lt;br /&gt;
%5B = [&amp;lt;br&amp;gt;&lt;br /&gt;
%5D = ]&lt;br /&gt;
&lt;br /&gt;
Some Fusion Registry deployment configurations will reject calls to the data query REST API unless the square brackets are URL-encoded&lt;br /&gt;
&lt;br /&gt;
====Relaxing URL reserved character checking in Apache Tomcat====&lt;br /&gt;
Apache Tomcat can be configured to relax its checks for reserved characters and allow square brackets in URLs.&lt;br /&gt;
&lt;br /&gt;
* Under the Tomcat 'conf' directory, locate the server.xml file&lt;br /&gt;
* Add the following attributes to the relevant Connector element&lt;br /&gt;
 relaxedPathChars='[]|'&lt;br /&gt;
 relaxedQueryChars='[]|{}^&amp;amp;amp;#x5c;&amp;amp;amp;#x60;&amp;amp;amp;quot;&amp;amp;amp;lt;&amp;amp;amp;gt;'&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=SDMX_3.0_data_query_URL_syntax_support_in_Tomcat&amp;diff=4959</id>
		<title>SDMX 3.0 data query URL syntax support in Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=SDMX_3.0_data_query_URL_syntax_support_in_Tomcat&amp;diff=4959"/>
		<updated>2022-08-04T15:20:16Z</updated>

		<summary type="html">&lt;p&gt;Glenn: Created page with &amp;quot;The SDMX 3.0 REST API (API version 2) data query specification allows component predicates as an alternative to the series key patterns supported in SDMX 2.1 (API version 1)....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The SDMX 3.0 REST API (API version 2) data query specification allows component predicates as an alternative to the series key patterns supported in SDMX 2.1 (API version 1).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://demo11.metadatatechnology.com/FusionRegistry/sdmx/v2/data/dataflow/ECB/EXR/1.0/?c[CURRENCY]=BRL&amp;amp;c[EXR_TYPE]=SP00&amp;amp;format=sdmx-compact-2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The component predicates are:&lt;br /&gt;
 c[CURRENCY]=BRL&lt;br /&gt;
 c[EXR_TYPE]=SP00&lt;br /&gt;
&lt;br /&gt;
====Issue====&lt;br /&gt;
The square brackets [] are reserved characters in the URL specification requiring generally that they are URL-encoded to avoid misinterpretation.&lt;br /&gt;
 c%5BCURRENCY%5D=BRL&amp;amp;c%5BEXR_TYPE%5D=SP00&lt;br /&gt;
&lt;br /&gt;
%5B = [&amp;lt;br&amp;gt;&lt;br /&gt;
%5D = ]&lt;br /&gt;
&lt;br /&gt;
Some Fusion Registry deployment configurations will reject calls to the data query REST API unless the square brackets are URL-encoded&lt;br /&gt;
&lt;br /&gt;
====Relaxing URL reserved character checking in Apache Tomcat====&lt;br /&gt;
Apache Tomcat can be configured to relax its checks for reserved characters and allow square brackets in URLs.&lt;br /&gt;
&lt;br /&gt;
* Under the Tomcat 'conf' directory, locate the server.xml file&lt;br /&gt;
* Add the following attributes to the relevant Connector element&lt;br /&gt;
 relaxedPathChars='[]|'&lt;br /&gt;
 relaxedQueryChars='[]|{}^&amp;amp;#x5c;&amp;amp;#x60;&amp;amp;quot;&amp;amp;lt;&amp;amp;gt;'&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Time_Period_Format_Validation&amp;diff=4958</id>
		<title>Time Period Format Validation</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Time_Period_Format_Validation&amp;diff=4958"/>
		<updated>2022-07-29T09:33:34Z</updated>

		<summary type="html">&lt;p&gt;Glenn: /* Using 'H' for half-year (semiannual) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Registry will validate observation time periods for consistency with the series frequency value in the FREQ dimension. &lt;br /&gt;
&lt;br /&gt;
This check is not performed if the DSD has no FREQ dimension.&lt;br /&gt;
&lt;br /&gt;
Default frequencies and their corresponding valid time period formats are set out in the following table:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Format !! Frequency Code !! Example Usage&lt;br /&gt;
|-&lt;br /&gt;
| Yearly || A || 2001&lt;br /&gt;
|-&lt;br /&gt;
| Half-Of-Year || S || 2001-S1&lt;br /&gt;
|-&lt;br /&gt;
| Third-Of-Year || T || 2001-T3&lt;br /&gt;
|-&lt;br /&gt;
| Quarter-Of-Year || Q || 2001-Q4&lt;br /&gt;
|-&lt;br /&gt;
| Month || M || 2001-12&lt;br /&gt;
|-&lt;br /&gt;
| Week || W || 2001-W52&lt;br /&gt;
|-&lt;br /&gt;
| Date || D || 2001-12-31&lt;br /&gt;
|-&lt;br /&gt;
| Hour || H || 2001-12-31T23&lt;br /&gt;
|-&lt;br /&gt;
| Date Time || I || 2001-12-31T23:59:59&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Using 'H' for half-year (semiannual) ==&lt;br /&gt;
&lt;br /&gt;
At ESCB level SDMX data exchanges, there is an agreement to use ‘H’ as the frequency value for semiannual observations with  ‘YYYY-S1’ for TIME_PERIOD format.&lt;br /&gt;
&lt;br /&gt;
The Registry supports this by setting 'alternate half year' mode under which:&lt;br /&gt;
* Frequency value H means half-year (semiannual or semester)&lt;br /&gt;
* The hourly frequency is not supported&lt;br /&gt;
* 'YYYY-S1' and 'YYYY-H1' are valid TIME_PERIOD formats for half-yearly observations, however time periods are standardised to ‘YYYY-S1’ on conversion (e.g. such as when converting data in Excel to SDMX 2.1 structure specific)&lt;br /&gt;
&lt;br /&gt;
Alternate half year mode is controlled at system level on Registry start-up by setting the Java System variable “'''TF_ALTERNATE_HALF_YEAR'''” to “'''true'''”.&lt;br /&gt;
&lt;br /&gt;
If using Apache Tomcat, JAVA_OPTS can be set in the setenv.bat or setenv.sh file:&lt;br /&gt;
&lt;br /&gt;
  SET JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true&lt;br /&gt;
  (For Windows systems)&lt;br /&gt;
&lt;br /&gt;
  export JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true&lt;br /&gt;
  (For Unix systems)&lt;br /&gt;
&lt;br /&gt;
Different procedures may be required for other web application servers like JBoss.&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry system log will report the following message:&lt;br /&gt;
&lt;br /&gt;
  2021-12-31 23:59:59.123 INFO main io.sdmx.core.fmr.application.FusionRegistryApplicationInitialiser - Using 'Alternate Half-Year' Setting&lt;br /&gt;
&lt;br /&gt;
Active system properties can also be queried using the REST API [[System_Properties|here]].&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Time_Period_Format_Validation&amp;diff=4957</id>
		<title>Time Period Format Validation</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Time_Period_Format_Validation&amp;diff=4957"/>
		<updated>2022-07-29T09:23:54Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Registry will validate observation time periods for consistency with the series frequency value in the FREQ dimension. &lt;br /&gt;
&lt;br /&gt;
This check is not performed if the DSD has no FREQ dimension.&lt;br /&gt;
&lt;br /&gt;
Default frequencies and their corresponding valid time period formats are set out in the following table:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Format !! Frequency Code !! Example Usage&lt;br /&gt;
|-&lt;br /&gt;
| Yearly || A || 2001&lt;br /&gt;
|-&lt;br /&gt;
| Half-Of-Year || S || 2001-S1&lt;br /&gt;
|-&lt;br /&gt;
| Third-Of-Year || T || 2001-T3&lt;br /&gt;
|-&lt;br /&gt;
| Quarter-Of-Year || Q || 2001-Q4&lt;br /&gt;
|-&lt;br /&gt;
| Month || M || 2001-12&lt;br /&gt;
|-&lt;br /&gt;
| Week || W || 2001-W52&lt;br /&gt;
|-&lt;br /&gt;
| Date || D || 2001-12-31&lt;br /&gt;
|-&lt;br /&gt;
| Hour || H || 2001-12-31T23&lt;br /&gt;
|-&lt;br /&gt;
| Date Time || I || 2001-12-31T23:59:59&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Using 'H' for half-year (semiannual) ==&lt;br /&gt;
&lt;br /&gt;
At ESCB level SDMX data exchanges, there is an agreement to use ‘H’ as the frequency value for semiannual observations with  ‘YYYY-S1’ for TIME_PERIOD format.&lt;br /&gt;
&lt;br /&gt;
The Registry supports this by setting 'alternate half year' mode under which:&lt;br /&gt;
* Frequency value H means half-year (semiannual or semester)&lt;br /&gt;
* The hourly frequency is not supported&lt;br /&gt;
* 'YYYY-S1' and 'YYYY-H1' are valid TIME_PERIOD formats for half-yearly observations&lt;br /&gt;
&lt;br /&gt;
Alternate half year mode is controlled at system level on Registry start-up by setting the Java System variable “'''TF_ALTERNATE_HALF_YEAR'''” to “'''true'''”.&lt;br /&gt;
&lt;br /&gt;
If using Apache Tomcat, JAVA_OPTS can be set in the setenv.bat or setenv.sh file:&lt;br /&gt;
&lt;br /&gt;
  SET JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true&lt;br /&gt;
  (For Windows systems)&lt;br /&gt;
&lt;br /&gt;
  export JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true&lt;br /&gt;
  (For Unix systems)&lt;br /&gt;
&lt;br /&gt;
Different procedures may be required for other web application servers like JBoss.&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry system log will report the following message:&lt;br /&gt;
&lt;br /&gt;
  2021-12-31 23:59:59.123 INFO main io.sdmx.core.fmr.application.FusionRegistryApplicationInitialiser - Using 'Alternate Half-Year' Setting&lt;br /&gt;
&lt;br /&gt;
Active system properties can also be queried using the REST API [[System_Properties|here]].&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Time_Period_Format_Validation&amp;diff=4956</id>
		<title>Time Period Format Validation</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Time_Period_Format_Validation&amp;diff=4956"/>
		<updated>2022-07-29T09:17:32Z</updated>

		<summary type="html">&lt;p&gt;Glenn: Created page with &amp;quot;The Registry will validate observation time periods for consistency with the series frequency value in the FREQ dimension.   This check is not performed if the DSD has no FREQ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Registry will validate observation time periods for consistency with the series frequency value in the FREQ dimension. &lt;br /&gt;
&lt;br /&gt;
This check is not performed if the DSD has no FREQ dimension.&lt;br /&gt;
&lt;br /&gt;
Default frequencies and their corresponding valid time period formats are set out in the following table:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Format !! Frequency Code !! Example Usage&lt;br /&gt;
|-&lt;br /&gt;
| Yearly || A || 2001&lt;br /&gt;
|-&lt;br /&gt;
| Half-Of-Year || S || 2001-S1&lt;br /&gt;
|-&lt;br /&gt;
| Third-Of-Year || T || 2001-T3&lt;br /&gt;
|-&lt;br /&gt;
| Quarter-Of-Year || Q || 2001-Q4&lt;br /&gt;
|-&lt;br /&gt;
| Month || M || 2001-12&lt;br /&gt;
|-&lt;br /&gt;
| Week || W || 2001-W52&lt;br /&gt;
|-&lt;br /&gt;
| Date || D || 2001-12-31&lt;br /&gt;
|-&lt;br /&gt;
| Hour || H || 2001-12-31T23&lt;br /&gt;
|-&lt;br /&gt;
| Date Time || I || 2001-12-31T23:59:59&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Using 'H' for half-year (semiannual) ==&lt;br /&gt;
&lt;br /&gt;
At ESCB level SDMX data exchanges, there is an agreement to use ‘H’ as the frequency value for semiannual observations with  ‘YYYY-S1’ for TIME_PERIOD format.&lt;br /&gt;
&lt;br /&gt;
The Registry supports this by setting 'alternate half year' mode under which:&lt;br /&gt;
* Frequency value H means half-year (semiannual or semester)&lt;br /&gt;
* The hourly frequency is not supported&lt;br /&gt;
* 'YYYY-S1' is the TIME_PERIOD format for half-yearly observations&lt;br /&gt;
&lt;br /&gt;
Alternate half year mode is controlled at system level on Registry start-up by setting the Java System variable “'''TF_ALTERNATE_HALF_YEAR'''” to “'''true'''”.&lt;br /&gt;
&lt;br /&gt;
If using Apache Tomcat, JAVA_OPTS can be set in the setenv.bat or setenv.sh file:&lt;br /&gt;
&lt;br /&gt;
  SET JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true&lt;br /&gt;
  (For Windows systems)&lt;br /&gt;
&lt;br /&gt;
  export JAVA_OPTS=-DTF_ALTERNATE_HALF_YEAR=true&lt;br /&gt;
  (For Unix systems)&lt;br /&gt;
&lt;br /&gt;
Different procedures may be required for other web application servers like JBoss.&lt;br /&gt;
&lt;br /&gt;
The Fusion Registry system log will report the following message:&lt;br /&gt;
&lt;br /&gt;
  2021-12-31 23:59:59.123 INFO main io.sdmx.core.fmr.application.FusionRegistryApplicationInitialiser - Using 'Alternate Half-Year' Setting&lt;br /&gt;
&lt;br /&gt;
Active system properties can also be queried using the REST API [[System_Properties|here]].&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Reference_Metadata_API&amp;diff=4943</id>
		<title>Reference Metadata API</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Reference_Metadata_API&amp;diff=4943"/>
		<updated>2022-07-22T16:12:11Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:WebService]]&lt;br /&gt;
See [[Reference_Metadata|Reference Metadata]]&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
This API supports GET (retrieve reference metadata), POST (submit new or modified reports), and DELETE (remove existing reports) methods to maintain Reference Metadata Reports.  &lt;br /&gt;
&lt;br /&gt;
The GET methods conform to the [https://github.com/sdmx-twg/sdmx-rest/blob/master/doc/metadata.md SDMX REST Specification for reference metadata retrieval].&lt;br /&gt;
&lt;br /&gt;
== GET Reference Metadata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Entry Point&amp;lt;/b&amp;gt;|| &amp;lt;b&amp;gt; /sdmx/v2/metadata&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Access&amp;lt;/b&amp;gt;|| &amp;lt;span style='color:green'&amp;gt;&amp;lt;b&amp;gt;Public&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Http Method&amp;lt;/b&amp;gt;|| GET&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Format&amp;lt;/b&amp;gt;|| JSON&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Statuses&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;200&amp;lt;/b&amp;gt; - Success&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;401&amp;lt;/b&amp;gt; - Unauthorized (if access has been restricted)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;500&amp;lt;/b&amp;gt; - Server Error&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://github.com/sdmx-twg/sdmx-rest/blob/master/doc/metadata.md See Specification].&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Get specific report&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT/REPORT1/1.0&lt;br /&gt;
&lt;br /&gt;
Get all metadata sets for a specific Metadata Provider&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT.PROVIDER/*/*&lt;br /&gt;
&lt;br /&gt;
Get all reports against Metadataflow as Stubs (only include basic details, not the actual reported content)&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0?detail=allStubs&lt;br /&gt;
&lt;br /&gt;
Get  all reports against Metadataflow for a specific Metadata Provider&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0/PROVIDER1&lt;br /&gt;
&lt;br /&gt;
Get all reports against any BIS Codelist&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/strucure/codelist/BIS&lt;br /&gt;
&lt;br /&gt;
== POST Reference Metadata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Entry Point&amp;lt;/b&amp;gt;|| &amp;lt;b&amp;gt; /sdmx/v2/metadata&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Access&amp;lt;/b&amp;gt;|| &amp;lt;span style='color:green'&amp;gt;&amp;lt;b&amp;gt;Public&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Http Method&amp;lt;/b&amp;gt;|| POST&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Accepts&amp;lt;/b&amp;gt;|| [https://github.com/sdmx-twg/sdmx-json/tree/master/metadata-message SDMX-JSON]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Content-Type&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;1.	multipart/form-data (if attaching file) – the attached file must be in field name of uploadFile&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;2.	application/text or application/json (if submitting data in the body of the POST)&amp;lt;/p&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Format&amp;lt;/b&amp;gt;|| N/A&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Statuses&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;200&amp;lt;/b&amp;gt; - Success&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;401&amp;lt;/b&amp;gt; - Unauthorized (if access has been restricted)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;500&amp;lt;/b&amp;gt; - Server Error&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Submit a Reference Metadata report, on success an HTTP 200 status is returned.  On failure an SDMX Error message is returned with the HTTP status code set to the appropriate code.  &lt;br /&gt;
&lt;br /&gt;
Example Error:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;message:Error xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:message=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message&amp;quot; xmlns:com=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;message:ErrorMessage code=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;com:Text&amp;gt;Could not resolve reference from structure Metadata Set 'MT:EXAMPLE1.0.0)' to structure Metadata Provision Agreement 'MT:MUK1_EXAMPLE(1.0)'&amp;lt;/com:Text&amp;gt;&lt;br /&gt;
  &amp;lt;/message:ErrorMessage&amp;gt;&lt;br /&gt;
 &amp;lt;/message:Error&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DELETE Reference Metadata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Entry Point&amp;lt;/b&amp;gt;|| &amp;lt;b&amp;gt; /sdmx/v2/metadata&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Access&amp;lt;/b&amp;gt;|| &amp;lt;span style='color:green'&amp;gt;&amp;lt;b&amp;gt;Public&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Http Method&amp;lt;/b&amp;gt;|| DELETE&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Format&amp;lt;/b&amp;gt;|| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Statuses&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;200&amp;lt;/b&amp;gt; - Success&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;401&amp;lt;/b&amp;gt; - Unauthorized (if access has been restricted)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;500&amp;lt;/b&amp;gt; - Server Error&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Deletes all reference metadata reports which match the query URL, the path parameters following the /metadata/ are used to create a filter on the Metadata Reports.  The path uses the same syntax as the &lt;br /&gt;
[https://github.com/sdmx-twg/sdmx-rest/blob/master/doc/metadata.md GET parameters], it is therefore possible to delete by specific report identifiers, by metadataflow, or by structure query.  &lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Delete specific report&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT/REPORT1/1.0&lt;br /&gt;
&lt;br /&gt;
Delete all versions of report&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT/REPORT1/*&lt;br /&gt;
&lt;br /&gt;
Delete all reports against Metadataflow&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0&lt;br /&gt;
&lt;br /&gt;
Delete all reports against Metadataflow for a specific Metadata Provider&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0/PROVIDER1&lt;br /&gt;
&lt;br /&gt;
Delete all reports against all BIS Codelists&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/strucure/codelist/BIS&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Reference_Metadata_API&amp;diff=4942</id>
		<title>Reference Metadata API</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Reference_Metadata_API&amp;diff=4942"/>
		<updated>2022-07-22T16:11:26Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Web Services]]&lt;br /&gt;
See [[Reference_Metadata|Reference Metadata]]&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
This API supports GET (retrieve reference metadata), POST (submit new or modified reports), and DELETE (remove existing reports) methods to maintain Reference Metadata Reports.  &lt;br /&gt;
&lt;br /&gt;
The GET methods conform to the [https://github.com/sdmx-twg/sdmx-rest/blob/master/doc/metadata.md SDMX REST Specification for reference metadata retrieval].&lt;br /&gt;
&lt;br /&gt;
== GET Reference Metadata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Entry Point&amp;lt;/b&amp;gt;|| &amp;lt;b&amp;gt; /sdmx/v2/metadata&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Access&amp;lt;/b&amp;gt;|| &amp;lt;span style='color:green'&amp;gt;&amp;lt;b&amp;gt;Public&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Http Method&amp;lt;/b&amp;gt;|| GET&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Format&amp;lt;/b&amp;gt;|| JSON&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Statuses&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;200&amp;lt;/b&amp;gt; - Success&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;401&amp;lt;/b&amp;gt; - Unauthorized (if access has been restricted)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;500&amp;lt;/b&amp;gt; - Server Error&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://github.com/sdmx-twg/sdmx-rest/blob/master/doc/metadata.md See Specification].&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Get specific report&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT/REPORT1/1.0&lt;br /&gt;
&lt;br /&gt;
Get all metadata sets for a specific Metadata Provider&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT.PROVIDER/*/*&lt;br /&gt;
&lt;br /&gt;
Get all reports against Metadataflow as Stubs (only include basic details, not the actual reported content)&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0?detail=allStubs&lt;br /&gt;
&lt;br /&gt;
Get  all reports against Metadataflow for a specific Metadata Provider&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0/PROVIDER1&lt;br /&gt;
&lt;br /&gt;
Get all reports against any BIS Codelist&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/strucure/codelist/BIS&lt;br /&gt;
&lt;br /&gt;
== POST Reference Metadata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Entry Point&amp;lt;/b&amp;gt;|| &amp;lt;b&amp;gt; /sdmx/v2/metadata&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Access&amp;lt;/b&amp;gt;|| &amp;lt;span style='color:green'&amp;gt;&amp;lt;b&amp;gt;Public&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Http Method&amp;lt;/b&amp;gt;|| POST&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Accepts&amp;lt;/b&amp;gt;|| [https://github.com/sdmx-twg/sdmx-json/tree/master/metadata-message SDMX-JSON]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Content-Type&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;1.	multipart/form-data (if attaching file) – the attached file must be in field name of uploadFile&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;2.	application/text or application/json (if submitting data in the body of the POST)&amp;lt;/p&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Format&amp;lt;/b&amp;gt;|| N/A&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Statuses&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;200&amp;lt;/b&amp;gt; - Success&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;401&amp;lt;/b&amp;gt; - Unauthorized (if access has been restricted)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;500&amp;lt;/b&amp;gt; - Server Error&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Submit a Reference Metadata report, on success an HTTP 200 status is returned.  On failure an SDMX Error message is returned with the HTTP status code set to the appropriate code.  &lt;br /&gt;
&lt;br /&gt;
Example Error:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;message:Error xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:message=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message&amp;quot; xmlns:com=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;message:ErrorMessage code=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;com:Text&amp;gt;Could not resolve reference from structure Metadata Set 'MT:EXAMPLE1.0.0)' to structure Metadata Provision Agreement 'MT:MUK1_EXAMPLE(1.0)'&amp;lt;/com:Text&amp;gt;&lt;br /&gt;
  &amp;lt;/message:ErrorMessage&amp;gt;&lt;br /&gt;
 &amp;lt;/message:Error&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DELETE Reference Metadata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Entry Point&amp;lt;/b&amp;gt;|| &amp;lt;b&amp;gt; /sdmx/v2/metadata&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Access&amp;lt;/b&amp;gt;|| &amp;lt;span style='color:green'&amp;gt;&amp;lt;b&amp;gt;Public&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Http Method&amp;lt;/b&amp;gt;|| DELETE&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Format&amp;lt;/b&amp;gt;|| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Statuses&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;200&amp;lt;/b&amp;gt; - Success&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;401&amp;lt;/b&amp;gt; - Unauthorized (if access has been restricted)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;500&amp;lt;/b&amp;gt; - Server Error&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Deletes all reference metadata reports which match the query URL, the path parameters following the /metadata/ are used to create a filter on the Metadata Reports.  The path uses the same syntax as the &lt;br /&gt;
[https://github.com/sdmx-twg/sdmx-rest/blob/master/doc/metadata.md GET parameters], it is therefore possible to delete by specific report identifiers, by metadataflow, or by structure query.  &lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Delete specific report&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT/REPORT1/1.0&lt;br /&gt;
&lt;br /&gt;
Delete all versions of report&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT/REPORT1/*&lt;br /&gt;
&lt;br /&gt;
Delete all reports against Metadataflow&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0&lt;br /&gt;
&lt;br /&gt;
Delete all reports against Metadataflow for a specific Metadata Provider&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0/PROVIDER1&lt;br /&gt;
&lt;br /&gt;
Delete all reports against all BIS Codelists&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/strucure/codelist/BIS&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.sdmxcloud.org/index.php?title=Reference_Metadata_API&amp;diff=4941</id>
		<title>Reference Metadata API</title>
		<link rel="alternate" type="text/html" href="https://wiki.sdmxcloud.org/index.php?title=Reference_Metadata_API&amp;diff=4941"/>
		<updated>2022-07-22T16:10:16Z</updated>

		<summary type="html">&lt;p&gt;Glenn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FMR_REST_API_Reference]]&lt;br /&gt;
[[Category:Reference Metadata]]&lt;br /&gt;
See [[Reference_Metadata|Reference Metadata]]&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
This API supports GET (retrieve reference metadata), POST (submit new or modified reports), and DELETE (remove existing reports) methods to maintain Reference Metadata Reports.  &lt;br /&gt;
&lt;br /&gt;
The GET methods conform to the [https://github.com/sdmx-twg/sdmx-rest/blob/master/doc/metadata.md SDMX REST Specification for reference metadata retrieval].&lt;br /&gt;
&lt;br /&gt;
== GET Reference Metadata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Entry Point&amp;lt;/b&amp;gt;|| &amp;lt;b&amp;gt; /sdmx/v2/metadata&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Access&amp;lt;/b&amp;gt;|| &amp;lt;span style='color:green'&amp;gt;&amp;lt;b&amp;gt;Public&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Http Method&amp;lt;/b&amp;gt;|| GET&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Format&amp;lt;/b&amp;gt;|| JSON&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Statuses&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;200&amp;lt;/b&amp;gt; - Success&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;401&amp;lt;/b&amp;gt; - Unauthorized (if access has been restricted)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;500&amp;lt;/b&amp;gt; - Server Error&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://github.com/sdmx-twg/sdmx-rest/blob/master/doc/metadata.md See Specification].&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Get specific report&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT/REPORT1/1.0&lt;br /&gt;
&lt;br /&gt;
Get all metadata sets for a specific Metadata Provider&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT.PROVIDER/*/*&lt;br /&gt;
&lt;br /&gt;
Get all reports against Metadataflow as Stubs (only include basic details, not the actual reported content)&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0?detail=allStubs&lt;br /&gt;
&lt;br /&gt;
Get  all reports against Metadataflow for a specific Metadata Provider&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0/PROVIDER1&lt;br /&gt;
&lt;br /&gt;
Get all reports against any BIS Codelist&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/strucure/codelist/BIS&lt;br /&gt;
&lt;br /&gt;
== POST Reference Metadata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Entry Point&amp;lt;/b&amp;gt;|| &amp;lt;b&amp;gt; /sdmx/v2/metadata&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Access&amp;lt;/b&amp;gt;|| &amp;lt;span style='color:green'&amp;gt;&amp;lt;b&amp;gt;Public&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Http Method&amp;lt;/b&amp;gt;|| POST&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Accepts&amp;lt;/b&amp;gt;|| [https://github.com/sdmx-twg/sdmx-json/tree/master/metadata-message SDMX-JSON]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Content-Type&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;1.	multipart/form-data (if attaching file) – the attached file must be in field name of uploadFile&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;2.	application/text or application/json (if submitting data in the body of the POST)&amp;lt;/p&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Format&amp;lt;/b&amp;gt;|| N/A&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Statuses&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;200&amp;lt;/b&amp;gt; - Success&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;401&amp;lt;/b&amp;gt; - Unauthorized (if access has been restricted)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;500&amp;lt;/b&amp;gt; - Server Error&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Submit a Reference Metadata report, on success an HTTP 200 status is returned.  On failure an SDMX Error message is returned with the HTTP status code set to the appropriate code.  &lt;br /&gt;
&lt;br /&gt;
Example Error:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;message:Error xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:message=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message&amp;quot; xmlns:com=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;message:ErrorMessage code=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;com:Text&amp;gt;Could not resolve reference from structure Metadata Set 'MT:EXAMPLE1.0.0)' to structure Metadata Provision Agreement 'MT:MUK1_EXAMPLE(1.0)'&amp;lt;/com:Text&amp;gt;&lt;br /&gt;
  &amp;lt;/message:ErrorMessage&amp;gt;&lt;br /&gt;
 &amp;lt;/message:Error&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DELETE Reference Metadata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Entry Point&amp;lt;/b&amp;gt;|| &amp;lt;b&amp;gt; /sdmx/v2/metadata&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Access&amp;lt;/b&amp;gt;|| &amp;lt;span style='color:green'&amp;gt;&amp;lt;b&amp;gt;Public&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Http Method&amp;lt;/b&amp;gt;|| DELETE&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Format&amp;lt;/b&amp;gt;|| &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background-color:#eaecf0&amp;quot;|&amp;lt;b&amp;gt;Response Statuses&amp;lt;/b&amp;gt;|| &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;200&amp;lt;/b&amp;gt; - Success&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;401&amp;lt;/b&amp;gt; - Unauthorized (if access has been restricted)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;500&amp;lt;/b&amp;gt; - Server Error&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Deletes all reference metadata reports which match the query URL, the path parameters following the /metadata/ are used to create a filter on the Metadata Reports.  The path uses the same syntax as the &lt;br /&gt;
[https://github.com/sdmx-twg/sdmx-rest/blob/master/doc/metadata.md GET parameters], it is therefore possible to delete by specific report identifiers, by metadataflow, or by structure query.  &lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Delete specific report&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT/REPORT1/1.0&lt;br /&gt;
&lt;br /&gt;
Delete all versions of report&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataset/MT/REPORT1/*&lt;br /&gt;
&lt;br /&gt;
Delete all reports against Metadataflow&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0&lt;br /&gt;
&lt;br /&gt;
Delete all reports against Metadataflow for a specific Metadata Provider&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/metadataflow/MT/MDF1/1.0/PROVIDER1&lt;br /&gt;
&lt;br /&gt;
Delete all reports against all BIS Codelists&lt;br /&gt;
 https://example.registry.com/sdmx/v2/metadata/strucure/codelist/BIS&lt;/div&gt;</summary>
		<author><name>Glenn</name></author>
		
	</entry>
</feed>