The Import Application supports a partial import of dimensions without taking the application off line, allowing for near real time reporting with ongoing updates while users are logged on and reporting. The file format for a partial dimension import is a subset of the standard application import/export format with 2 added attributes on the ApplicationDefinition node. A single import file can update multiple dimensions, but all dimensions within one file will use the same processing mode.
The partial update can be executed by selecting the file for a normal Application Import in the Modeler, or it can be done programmatically by calling the ImportFromXml method on the CallistoAdmin web service.
ApplicationDefinition – top node of the xml document with these attributes controls partial updates
PartialUpdate = “1” – attribute that designates this file as a partial dimension import file
Process – attribute that designates what type of Analysis Services processing will be used for the update. The following values are supported:
Add – this is the fastest option, but also the most limited option. Only new members can be added with this option, and they must be added as children of an existing parent member. The new members are automatically added as the last child below the parent.
Update – this option supports adding new members as well as changing properties of existing members, and moving existing members to different places in the hierarchy. This option is slower that Add, but the cube remains online during the processing.
Full – this option supports changes to existing members and the addition of new members. This option is the slowest and it will take the cube offline. The specified dimension and all cubes using the dimension are reprocessed by Analysis Services.
When the dimension is processed, all property values are defined and member views are also updated for new members. If Process=”Update” is used then property values for existing members can also be updated and Member Views can be changed for existing members.
For Excel users, they will see the dimension changes the next time they open Excel. If they are already logged on in Excel, they need to select Change Application and open the application again to see the dimension changes.
Following is an example of an import file for a partial update of the Client dimension in the Sample application:
<?xml version="1.0" encoding="utf-8"?> <ApplicationDefinition PartialUpdate="1" Process="Add" xmlns="http://www.perlielab.com/"> <Dimension Label="Client"> <Members> <Member Label="NewClient" Description="New Client to Add" StockSymbol="NEW1" ></Member> </Members> <Hierarchy Label="Client"> <HierarchyNode ParentLabel="All_Clients" ChildLabel="NewClient" /> </Hierarchy> </Dimension> </ApplicationDefinition>