none
MS Visual Studio - Analysis Services / Wildcard RRS feed

  • Frage

  • MS Visual Studio - Analysis Services  / Wildcard

    Wie kann in einer benanten Abfrage im Filter eine Wildcard gesetzt werden? 

    Montag, 18. Juli 2011 11:43

Antworten

  • Hallo,

    mir wäre es neu, das man im (klassichen) Visual Studio eine Datenverbindung zum Analysis Services (SSAS) herstellen kann, das geht nur mit relationalen Datenbanken. Oder arbeitest Du mit dem BIDS Plugin = Business Intelligende Developer Studio?

    Abfragen gegen SSAS Cubes werden als MDX Statements erstellt und in MDX gibt es weder Wildcards noch Ähnlichkeitsabfragen. Du kannst nicht einmal beliebige Bereichsabfragen durchführen, sondern nur von Member bis Member (ok, geht schon, aber abhängig vom MdxMissingMemberMode gibt es fehlerhafte Ergebnisse oder einen Laufzeitfehler).

    Die einzige (Teil-) Möglichkeit, die es gibt, ist die VBA Funktione InStr für eine "beinhaltet" Filterung zu verwenden und ja, es ist wirklich Visual Basic for Applications gemeint; Excel ist als Assembly in SSAS eingebunden.

    Wenn Du den AdventureWorks Cube hast, kannst Du es mit folgendem MDX Statement ausprobieren. Über InStr werden die Member Captions auf den Teilstring "erli" geprüft, und über das Ergebnis > 0 für die gefundene Position wird gefiltert. In Adventureworks werden so alle "Berlin"s und "Oberlin" gefunden. Ich muss aber dazu sagen, das Filter nicht sehr performant ist, man sollte immer Set-based Lösungen bevorzugen. Und noch etwas, es können nur Funktionen aus VBA verwendet werden, der Like Operator geht nicht.

    SELECT 
      {[Measures].[Internet Sales Amount]} ON 0
      ,{[Customer].[Customer Geography].[City]} ON 1
    FROM [Adventure Works]
    WHERE Filter
       ([Customer].[City].ALLMEMBERS
       ,Instr([Customer].[City].CurrentMember.Properties('Member_Caption')
          ,'erli')
       > 0
       );
    
    


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    Donnerstag, 21. Juli 2011 15:58