2016-04-04 4 views
0

Ziel ist das schlanke Exportieren von Daten aus einem Microsoft Analysis Server-Cube in eine Flatfile.Herstellen einer Verbindung mit Microsoft Analysis Server mithilfe des SSIS-Import/Export-Assistenten

Ich benutze den SQL Server-Import/Export-Assistent. Mit der Option "Kopieren von Daten aus einer oder mehreren Tabellen oder Ansichten" läuft der Download reibungslos. ->Keine Probleme

Wenn ich einen MDX-Ausdruck verwenden („Schreiben Sie eine Abfrage, um die Daten angeben zu übertragen“) Abfrage Pre-Ausführung gibt es eine Fehlermeldung

Fehler 0xc0202009: Datenflussaufgabe 1: SSIS-Fehlercode DTS_E_OLEDBERROR. Ein OLE DB-Fehler ist aufgetreten. Fehlercode: 0x80040E21.

bearbeiten: Bitte beachten Sie, dass ich versuche, die SQL Server 2016 RC0 Daten importieren und exportieren Assistenten ausführen -> Müssen diese benutzen, da es die einzige gültige Lizenz ist.

Bearbeiten: Ich erkannte Unterschiede in den folgenden MDX-Ausdrücken.

Abfrage 1

SELECT 
    [Measures].[measure1] ON COLUMNS, 
NON EMPTY 
    [order].[orderid].[orderid].AllMembers 
* [order_spec].[spec].[spec].AllMembers ON ROWS 
FROM [cube]; 
  1. SQL Server 2014 Management Studio: arbeitet
  2. SQL Server Import und Export Data Wizard: Fehler 0x80040E21
  3. Visual Studio 2015, Data Flow Aufgabe: Fehler 0x80040E21

Abfrage 2

SELECT * FROM 
[cube].[cube_tab].[$spec2] 
  1. SQL Server 2014 Management Studio:
  2. SQL Server Import und Export Data Wizard funktioniert:
  3. Visual Studio 2015, Data Flow funktioniert Aufgabe: funktioniert

Beachten Sie auch, dass wenn ich die Option „Kopieren von Daten von einem oder mehreren Tabellen oder Ansichten“ Ich kann keine Maßnahmen wählen.

Auch ich kann keine OpenQuery-Prozedur mit dem Assistenten einrichten.

+0

Ist es tabellarisches Modell oder ein mehrdimensionales? – SouravA

+0

Es ist ein multidimensionaler OLAP-Cube –

Antwort

0

Sieht aus wie Sie haben SQL-Server

Erstellen Sie eine verknüpfte Server an den Cubedatenbank

Anschließend können Sie eine MDX-Abfrage in einer Tsql Abfrage schreiben, wie hier beschrieben: https://technet.microsoft.com/en-us/library/aa936673(v=sql.80).aspx

verwendet I-Skripte in Form des letzten Schnipsel in der obigen Referenz:

select * from openquery 
(LINKED_OLAP, 'select { measures.[unit sales] } on columns, 
non empty nest(nest([customer location].[country].members, 
[gender].members), [product category].[bread].children) on rows 
from sales ') 

Wenn die oben sieht aus wie eine Möglichkeit, dann würde ich Strongl y schlage vor zu gehen direkt auf die folgenden - es ist eine wunderbare gespeicherte Prozedur ist:

https://olapextensions.codeplex.com/


bearbeiten

Dies ist nicht Standard MDX:

SELECT 
    {[Measures].[measure1]} 
DIMENSION PROPERTIES 
    [MEMBER_UNIQUE_NAME] 
    ,[MEMBER_CAPTION] ON COLUMNS, 
NON EMPTY 
    CROSSJOIN(
    [order].[orderid].[orderid].AllMembers, 
    [order_spec].[spec].[spec].AllMembers 
) 
DIMENSION PROPERTIES 
    [MEMBER_UNIQUE_NAME] 
    ,[MEMBER_CAPTION] ON ROWS 
FROM [cube] 

Dies ist viel einfacher:

SELECT 
    [Measures].[measure1] ON COLUMNS, 
NON EMPTY 
    [order].[orderid].[orderid].AllMembers, 
    * [order_spec].[spec].[spec].AllMembers 
    ON ROWS 
FROM [cube]; 

Vielleicht ist dies auch ausreichend:

SELECT 
    [Measures].[measure1] ON COLUMNS, 
NON EMPTY 
    [order].[orderid].[orderid].MEMBERS, 
    * [order_spec].[spec].[spec].MEMBERS 
    ON ROWS 
FROM [cube]; 
+0

Verwenden des SQL Server Import/Export-Assistenten (versucht 2008, 2014). Nun die Fehlermeldung: ** Abfrage (1, 15) Parser: Die Syntax für 'OpenQuery' ist falsch. ** –

+0

Zusatz: Ausführen der MDX-Abfrage unter 2014 SQL Server Management Studio funktioniert gut -> Problem ist Schreiben Sie die Ergebnisse direkt in eine Flatfile, da die Daten groß sind und in R Studio oder SPSS verarbeitet werden müssen. –

+0

Haben Sie den Artikel über die Verwendung von OpenQuery gelesen? Sie müssen zuerst einen funktionierenden Verbindungsserver einrichten (in sql-server) - geben Sie dem Verbindungsserver einen Namen und ersetzen Sie dann "LINKED_OLAP" im obigen mit dem Namen Ihres Verbindungsservers. Sie können die Daten auf der Festplatte in SQL Server schreiben sie dann in R-Studio bewegen – whytheq

Verwandte Themen