2014-12-11 61 views
0

我在使用2個公用表表達式的SSRS中運行查詢。查詢在查詢設計器中運行正常,但是當我按下OK並且數據集已經形成時;數據集中的字段是cte中select *語句的列。如何讓我在cte中創建的列顯示在我的數據集的ssrs字段中?任何幫助深表感謝。SSRS在數據集字段中從CTE獲取列名稱

IF @FilterByEventCode IS NULL 
    BEGIN 
     SELECT * 
     FROM 
    dbo.Historywithqualityfilter(@FQN, '.Event Code,.Event Description', 
     Dateadd(mi, -10, @DateStart), @DateStop, 'good', 'KLN-FTVP') 
    END 
ELSE 
    BEGIN 
     WITH t1(timestamp, eventcode) 
      AS (SELECT localtimestamp, 
         valueasstring 
       FROM dbo.Historywithqualityfilter (@FQN, '.Event Code', 
         Dateadd(mi, -10, @DateStart), 
           @DateStop, 'good', 'KLN-FTVP') 
       WHERE @FilterByEventCode = valueasstring), 
      t2(timestamp, eventdescription) 
      AS (SELECT localtimestamp, 
         valueasstring 
       FROM dbo.Historywithqualityfilter (@FQN, '.Event Description', 
           Dateadd(mi, -10, @DateStart), @DateStop, 'good', 
         'KLN-FTVP')   
      ) 
     SELECT * 
     FROM t1 a 
      INNER JOIN t2 b 
        ON a.timestamp = b.timestamp 
    END 

回答

1

我已經注意到的是,SSRS有越來越以這樣的方式各領域的問題,甚至當你在查詢生成器是和你設置的所有參數,這樣,當你點擊「刷新最高領域的apear領域「它仍然會做它想做的事情。

對我來說,你只有兩個解決方案,第一個是編輯你的查詢,以便字段的最大值apear不管你輸入什麼參數,刷新字段,然後將查詢改回原來的狀態由於不再刷新字段,因此取消了報告生成器的任何請求以執行此類操作)。

第二個是手動創建缺少的字段。