Run Anaplan XL Web edition in a role-based SQL Repository running Windows Authentication or on an App Service.

The PowerShell cmdlet is available by contacting support - it helps automate deployment of reports, folders and permissions.

You must be running the SQL Repository for this functionality to work although Get-XL3Repository will work with a file-based repo.

Extract the supplied zip file, you can then install it by running the following command, either using the extracted folder as the current directory or by passing a full path:

 Import-Module '.\AnaplanXL.PowerShell.dll' -force

All commands take the following parameters:

-BaseUri  => The full URL to the Anaplan XL Web server, for example: https://someserver/AnaplanXLWeb

-AuthToken => Optional JWT authorization token to use when accessing an App Service instance of Anaplan XL Web

MethodParametersOutput

Get-XL3Connections

Return the connections used by the supplied report.

-Data

(Dictionary<string,byte[]>)

Report data – can be retrieved using Select-XLReport.

RepositoryConnection[]

The connections in the report.

Set-XL3Connections

Update the connections in the report.

-Data 

(Dictionary<string,byte[]>)

Report data - can be retrieved using Select-XL3Report.

Connections 

(RepositoryConnection[])

Connections to update - connections in the report will be matched by ID and updated to reflect the given Type, Server, Database, and Cube.

Dictionary<string,byte[]>

The updated report data.


Add-XL3Folders

Add a new folder to the repository.



-Path 

(string)

Path to the folder to add the new folder to.

-Name

(string)

Name of the folder to add.

RepostioryFolder

The folder object that has been added.


Get-XL3Folders

Get the folders in the given path.


-Path 

(string)

Path to the folder to get the contents of.

RepostioryFolder[]

List of folders in the Path.


Remove-XL3Folders

Delete the given folder.

-Path 

(string)

Path to the folder to delete.


Rename-XL3Folders

Rename the given folder.

-Path 

(string)

Path to the folder to rename.

-Name

(string)

The new name for the folder.


Clear-XL3Permissions

Clear all the permissions set on the supplied folder.

-Path 

(string)

Path to the folder to clear the permissions from.


Get-XL3Permissions

Retrieves the permissions for the given folder.

-Path 

(string)

Path to the folder to get list of permissions for.

RepostioryPermission[]

List of permissions set on the given folder.


Remove-XL3Permissions

Remove the explicit set of permissions from the given folder.

-Path 

(string)

Path to the folder to remove the permissions from.

-PermissionID 

(int[])

List of permissions, by ID, to remove.


Set-XL3Permissions

Add the given permissions to the specified folder.

-Path 

(string)

Path to the folder to add the permissions to.

-Permission

 (RepositoryPermission[])

List of permissions to add.

-OverridePermissions

 (bool))

Set "override permission" setting on the folder.


Add-XL3Reports

Add the supplied report to the given folder.

-Path

 (string)

Path for the folder to add the report to.

-Name

(string)

Name of the report to add.

-Data 

(Dictionary<string,byte[]>)

Report data - can be retrieved using Select-XL3Report.

RepositoryReport

The report object that was added.


Get-XL3Reports

Get the reports in the given folder.

-Path

(string)

Path to the folder to get the list of reports from.

RepositoryReport[]

The reports in the folder.


Open-XL3Reports

Render the given reports as Excel, PDF, LiveExcel, or PowerPoint.

-Path

(string)

Path to the report to render or path to a folder to render all reports in that folder.

-Format 

(ReportFormats)

Format of the output: Excel, PDF, LiveExcel, PowerPoint.

RenderedReport[]

Array of all the rendered reports.


Remove-XL3Reports

Delete the given report.

-Path

(string)

Path to the report to delete.


Rename-XL3Reports

Renamed the given report.

-Path

(string)

Path to the report to rename.

-Name 

(string)

New name for the report.


Select-XL3Reports

Retrieve the report data for the given report, the report data can be use by Add-XL3Reports and *-XL3Connections.

-Path 

(string)

Path to the report.

Dictionary<string,byte[]>

Report data, can be used by Add-XL3Reports and the *-XL3Connection methods.

Pop-XL3Reports

Export Anaplan XL reports as an XL3RZ package.

-Path

(string)

Path to export.

-IsRecursive

(boolean)

True to include sub-folders.

-Filename

(string)

XL3RZ file to export to.

Will write directly to the given file.


Push-XL3Reports

Import Anaplan XL reports from an XL3RZ package.  The folder structure will match those imported.

-InputFile

 (string)

XL3RZ file to import from.

Will show a list of the files imported.


Get-XL3Repository

Get information about the given repository.


RepositoryInfo

Information about the repository.

Get-XL3RelationalConnections

Return the relational connections used by the supplied report.

-Data (Dictionary<string,byte[]>)

Report data - can be retrieved using Select-XL3Report.



RepositoryRelationalConnection[]

The connections in the report.


Set-XL3RelationalConnections

Update the relational connections in the report.

-Data (Dictionary<string,byte[]>)

Report data - can be retrieved using Select-XL3Report.

Connections (RepositoryRelationalConnection[])

Connections to update - connections in the report will be matched by ID and updated to reflect the given Type and connection string.

Dictionary<string,byte[]>

The updated report data.


Data TypesSyntax

RepositoryConnection


public class RepositoryConnection { public int Id { get; set; } public string Type { get; set; } public string Server { get; set; } public string Database { get; set; } public string Cube { get; set; } }


RepositoryFolder


public class RepositoryFolder { public string Name { get; set; } public string Path { get; set; } public bool? OveridePermissions { get; set; } }


RepositoryInfo


public class RepositoryInfo { public string Name { get; set; } public Version Version { get; set; } public Dictionary<string,string> LicenseInfo { get; set; }


RepositoryPermissions


public class RepositoryPermission { public int PermissionID { get; set; } public string MemberType { get; set; } public int MemberID { get; set; } public char AccessRight { get; set; } public string Description { get; set; } public string MemberDescription { get; set; } }


RepositoryRelationalConnection


public class RepositoryRelationalConnection { public int Id { get; set; } public string Type { get; set; } public string ConnectionsString { get; set; } }


RepositoryReport


public class RepositoryReport { public string Name { get; set; } public string Path { get; set; } public DateTime DatePublished { get; set; } public string Description { get; set; } public string PublishedBy { get; set; } }


RenderedReport


public class RenderedReport { public string Name { get; set; } public bool Successful { get; set; } public byte[] Data { get; set; } public Exception Error { get; set; } }