2016-08-25 86 views
0

可能存在於我的查詢中的原因,因爲我使用MAX來獲取唯一記錄。 但是現在我的SSRS報告不顯示正確的NetWrittenPremium數量。 什麼是解決這個問題的解決方法? enter image description here 這裏是我的查詢:SSRS中的總計不顯示相關號碼

select b.YearNum, 
     b.MonthNum, 
     ClassCode, 
     QLL.Description, 
     SUM(Premium) as NetWrittenPremium 
FROM  tblCalendar b 
LEFT JOIN ProductionReportMetrics prm ON b.MonthNum=Month(prm.EffectiveDate) AND b.YearNum = YEAR(EffectiveDate) 
AND prm.EffectiveDate >=DateAdd(yy, -1, DATEADD(d, 1, EOMONTH(GETDATE()))) AND prm.EffectiveDate <= EOMONTH(GETDATE()) AND CompanyLine = 'Ironshore Insurance Company' 
LEFT JOIN NetRate_Quote_Insur_Quote Q ON prm.NetRate_QuoteID = Q.QuoteID 
LEFT JOIN NetRate_Quote_Insur_Quote_Locat QL ON Q.QuoteID = QL.QuoteID 

LEFT JOIN (SELECT * FROM NetRate_Quote_Insur_Quote_Locat_Liabi nqI 
      JOIN (SELECT LocationID as LocID, MAX(ClassCode) as ClCode 
      FROM NetRate_Quote_Insur_Quote_Locat_Liabi GROUP BY LocationID) nqA 
      ON nqA.LocID = nqI.LocationID AND nqA.ClCode = nqI.ClassCode) QLL 
      ON QLL.LocationID = QL.LocationID 

WHERE (b.YearNum = YEAR(GETDATE())-1 and b.MonthNum >= MONTH(GETDATE())+1) OR 
        (b.YearNum = YEAR(GETDATE()) and b.MonthNum <= MONTH(GETDATE())) 
GROUP BY b.YearNum,b.MonthNum,ClassCode,  QLL.Description 

我的表矩陣結構:我gruping的說明,並通過SUM(NetWrittenPremium) TOP 10通過SUM(NetWrittenPremium) DESC和過濾ClassCode.Sorting它。另一組是MonthNum。 enter image description here

enter image description here

我添加了一個新的組分組表達式= 1 但是還是一樣不正確總計 enter image description here

+0

幾個問題:任何機會,你可以給我們看看錶矩陣結構和羣體呢?你在做什麼靜態或基於參數的過濾? – bitnine

+0

剛剛添加了一些關於我的Tablix結構的信息 – Oleg

回答

0

這裏的問題是,組過濾器並不適用於聚合函數。因此,您的SUM()正在挑選所有東西。從MSDN文檔表達範圍總計,聚合,和內置集合(https://msdn.microsoft.com/en-us/library/dd255256.aspx):計算用於數據 區域的聚集體時

組過濾器不被使用。

如果可能,最好將前十條語句移入查詢中。

如果這不是一個選項,你應該可以使用你的「Rank」表達式。在細節級別創建一個「總計」行,使用RunningValue計算正在運行的美元值。然後設置能見度標準:

=RunningValue(Fields!ClassCode.Value,CountDistinct,Nothing) <> 10 

編輯:顯然有一個MSDN線覆蓋了這種情況。 https://social.msdn.microsoft.com/Forums/sqlserver/en-US/0b21bab0-ff02-4655-a69c-efedfb2a7077

+0

這裏是表達式總計行,NetWrittenPremiumCell'= RunningValue(Fields!NetWrittenPremium.Value,SUM,「DataSet1」)' 這是正確的嗎? 但是,然後,我沒有在我的查詢列排名,我怎麼能隱藏這種知名度? – Oleg

+0

在做快速檢查時,我找到了一個MSDN線程並將其鏈接到上面以供參考。我還修改了答案,以包含我在那裏看到的更清晰的可見性表達式。 – bitnine

+0

Hey Bitnine,你知道是否有其他方式聯繫Social.msdn.com的人? 我真的需要解決這個問題。順便說一句,謝謝你的時間和資源。 – Oleg

0

我相信你的問題是你的團隊正在過濾前10,但總線不是。

添加一個新組添加組 - >相鄰下方爲您的總線。將它分組爲1(因此它們將它們組合在一起)。然後使用與其他單元格相同的表達式(如果尚未添加SUM)。向新組添加相同的TOP 10篩選器

enter image description here

+0

是的,我正在過濾TOP 10,但總計算所有值。 我添加了新組。在一個表達式中,我說'= 1',應用過濾表達式:'SUM(NetWrittenPremium)= TOP 10' 但它仍然給我相同的錯誤總數。 我錯過了什麼嗎? – Oleg