Example #1
0
 public function test2Members()
 {
     $test = new Query("[Sales]");
     $test->addElement("[Measures].[Store Sales]", "ROW");
     $test->addElement("[Time].[Month].Members", "COL");
     $test->addCalculatedMember('[Measures].[moyenne]', '[Measures].[Store Sales] / [Measures].[Sales Count]', 'ROW');
     $test->addCalculatedMember('[Measures].[tendance]', 'IIF(([Measures].[Store Sales], Time.PrevMember)<=([Measures].[Store Sales], Time.CurrentMember), "Croissance", "Décroissance")', 'ROW');
     $result = 'WITH MEMBER [Measures].[moyenne] AS [Measures].[Store Sales]' . ' / [Measures].[Sales Count] MEMBER [Measures].[tendance] AS' . ' IIF(([Measures].[Store Sales], Time.PrevMember)<=([Measures].[Store Sales],' . ' Time.CurrentMember), "Croissance", "Décroissance")' . ' SELECT [Time].[Month].Members ON COLUMNS,' . " {[Measures].[Store Sales], [Measures].[moyenne], [Measures].[tendance]} ON ROWS" . " FROM [Sales]";
     $this->assertEquals($test->toMdx(), $result);
 }
Example #2
0
 public function testMultipleDimensionsColQuery()
 {
     $test = new Query("[Sales]");
     $test->addElement("[Measures].[Unit Sales]", "COL");
     $test->addElement("[Measures].[Store Cost]", "COL");
     $test->addElement("[Measures].[Store Sales]", "COL");
     $test->addElement("[Gender].[All Gender].Children", "COL");
     $test->addElement("[Promotion Media].[All Media]", "ROW");
     $test->addElement("[Product].[All Products].[Drink].[Alcoholic Beverages]", "ROW");
     $test->addElement("[Promotion Media].[All Media].Children", "ROW");
     $test->addElement("[Product].[All Products]", "ROW");
     $test->addElement("[Time].[1997]", "FILTER");
     $result = "SELECT " . "Crossjoin(" . "{[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].[Store Sales]}, " . "[Gender].[All Gender].Children" . ") ON COLUMNS, " . "Crossjoin(" . "Hierarchize(" . "Union([Promotion Media].[All Media], [Promotion Media].[All Media].Children)" . "), " . "Hierarchize(" . "Union([Product].[All Products].[Drink].[Alcoholic Beverages], [Product].[All Products])" . ")) ON ROWS " . "FROM [Sales] " . "WHERE [Time].[1997]";
     $this->assertEquals($test->toMdx(), $result);
 }
Example #3
0
 public function testDrillThrough()
 {
     $test = new Query("[Sales]");
     $test->addElement("[Measures].[Unit Sales]", "COL");
     $test->addElement("[Promotion Media].[All Media]", "ROW");
     $test->setDrillThrough(true);
     $result = 'DRILLTHROUGH SELECT {[Measures].[Unit Sales]} ON COLUMNS, [Promotion Media].[All Media] ON ROWS FROM [Sales]';
     $this->assertEquals($test->toMdx(), $result);
     $this->assertEquals($test->isDrillThrough(), true);
     $test->setDrillThrough(true, 30, 60);
     $result = 'DRILLTHROUGH MAXROWS 30 FRISTROWSET 60SELECT {[Measures].[Unit Sales]} ON COLUMNS, [Promotion Media].[All Media] ON ROWS FROM [Sales]';
     $this->assertEquals($test->toMdx(), $result);
     $test->setDrillThrough(false);
     $this->assertEquals($test->isDrillThrough(), false);
 }