2017-12-19 4 views
0

Ich habe eine dynamisch gespeicherte Prozedur, die für eine ÖffnenAbfrage- einer MDX-Anweisung erstellt. So kann es vorkommen, dass die Objekte aus der mdx-Anweisung leer sind. In diesem Fall möchte ich eine leere Zeichenfolge zurückgeben.SQL Openquery - Objekt hat keine Spalten

Im Allgemeinen funktioniert die Abfrage außer wenn ich ein Datum wählen, das aus der Zukunft ist in diesem Fall der SQL Server mir diesen Fehler gibt:

"The OLE DB provider "XYZ" for linked server "XYZ" indicates that either the object has no columns or the current user does not have permissions on that object."

select 
     t.* 
      from OPENQUERY([SomeServer_OLAP],'' 
      SELECT 
       non empty{[Measures].[FactWorkItemHistory Microsoft_VSTS_Scheduling_OriginalEstimate], 
       [Measures].[FactWorkItemHistory Microsoft_VSTS_Scheduling_CompletedWork], 
       [Measures].[Microsoft_VSTS_Scheduling_RemainingWork]} ON COLUMNS 
       , NON EMPTY { ([Work Item].[Iteration Path].[Iteration Path].ALLMEMBERS 
       * [Work Item].[System_AssignedTo].[System_AssignedTo].ALLMEMBERS)} on ROWS 
       FROM [Team System] 
       WHERE '[email protected]+' 
           '') t' 

Also, für Dezember des Datum Parameter eingeben (Der Monat, in dem dieser Beitrag verfasst wurde, funktioniert einwandfrei, aber der Januar 2018 (nächster Monat) und alle folgenden Monate kommen mit dem Fehler zurück. Jede Hilfe wird geschätzt.

Antwort

0

„nicht leer“ aus der Abfrage Entfernen von Fest meines Problems. Es scheint keine unmittelbaren beobachtbaren Nachteile dafür zu geben.

+0

für einige nicht zukünftige Daten sind Sie vielleicht oben, mit leeren Zeilen oder Spalten beenden, wenn Sie eine der NonEmpties entfernen – whytheq

Verwandte Themen