1. Go to this page and download the library: Download fakhrani/phpolapi library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fakhrani / phpolapi example snippets
php
APi\Xmla\Connection\Connection;
use phpOLAPi\Xmla\Connection\Adaptator\SoapAdaptator;
// for Mondrian
$connection = new Connection(
new SoapAdaptator('http://localhost:8080/mondrian/xmla'),
[
'DataSourceInfo' => 'Provider=Mondrian;DataSource=MondrianFoodMart;'
'CatalogName' => 'FoodMart',
'schemaName' => 'FoodMart'
]
);
// for Microsoft SQL Server Analysis Services
$connection = new Connection(
new SoapAdaptator('http://localhost/olap/msmdpump.dll', 'username', 'password'),
[
'DataSourceInfo' => null,
'CatalogName' => 'Adventure Works DW 2008R2 SE'
]
);
php
// Connect as shown above
$connection = ...
// Execute MDX statement
$resultSet = $connection->statement("
SELECT [Measures].MEMBERS ON COLUMNS FROM [Adventure Works]
");
// Transform to associative array
$renderer = new \phpOLAPi\Renderer\AssocArrayRenderer($resultSet);
$array = $renderer->generate();
php
use phpOLAPi\Renderer\Table\HtmlTableRenderer;
use phpOLAPi\Renderer\Table\CsvTableRenderer;
use phpOLAPi\Renderer\AssocArrayRenderer
$connection = ...
$resultSet = $connection->statement("
SELECT
{
[Measures].[internet Sales Amount],
[Measures].[Internet Order Quantity]
} ON COLUMNS,
{
[Date].[Calendar].[Calendar Year].[CY 2006],
[Date]. [Calendar].[Calendar Year].[CY 2007]
} ON ROWS
FROM
[Adventure Works]
WHERE
([Customer].[Customer Geography].[Country].[Australia])
");
// Associative array (similar to the result of SQL queries)
$array = (new AssocArrayRenderer($resultSet))->generate();
var_dump($array);
// HTML table
$tableRenderer = new HtmlTableRenderer($resultSet);
echo $tableRenderer->generate();
// CSV
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=\"export.csv\"");
$csv = new CsvTableLayout($resultSet);
print($csv->generate());