2017-08-09 43 views
-1

SQL服務器2016 /報表設計器:100%條形圖SQL - 是/否答案

不知道這是把這個問題下,請糾正我,如果我錯了,正確的稱號。

我有以下幾點:

SELECT [aField6] AS [CleanAndTidy], 
     [aField10] AS [HandWash], 
     [aField8] AS [PPEStorage], 
     [aField14] AS [PipesAndFittings], 
     [aField12] AS [COSHH] 
FROM vAdvF_265 
GROUP BY [aField6], [aField10], [aField8], [aField14], [aField12] 

答案出來爲:

CleanAndTidy HandWash PPEStorage PipesAndFittings COSHH 
No     No   No   No   No 
No     Yes   Yes   Yes   Yes 
Yes    No   No   Yes   Yes 
Yes    No   Yes   Yes   Yes 
Yes    Yes   No   No   Yes 
Yes    Yes   No   Yes   No 
Yes    Yes   Yes   No   No 
Yes    Yes   Yes   Yes   No 
Yes    Yes   Yes   Yes   Yes 

我希望進入每列(50/50上一個100%堆積條形圖這是/ no),但是當在SSRS中使用它時,我似乎無法找到將數據提供給圖表的正確方法。

我也曾嘗試:

SELECT [Type1], [Count] -- YES Count 
FROM (
SELECT 
    SUM(CASE WHEN [aField6]='yes' THEN 1 ELSE 0 END) AS [CleanAndTidyYes], 
    SUM(CASE WHEN [aField10]='yes' THEN 1 ELSE 0 END) AS [HandWashYes], 
    SUM(CASE WHEN [aField8]='yes' THEN 1 ELSE 0 END) AS [PPEStorageYes], 
    SUM(CASE WHEN [aField14]='yes' THEN 1 ELSE 0 END) AS [PipesAndFittingsYes], 
    SUM(CASE WHEN [aField12]='yes' THEN 1 ELSE 0 END) AS [COSHHYes] 
    FROM vAdvF_265 
) sums 
UNPIVOT 
([Count] FOR [Type1] IN 
    ([CleanAndTidyYes], [HandWashYes], [PPEStorageYes], [PipesAndFittingsYes], [COSHHYes]) 
) AS unpivoted1 

UNION 

SELECT [Type], [Count] --NO Count 
FROM (
SELECT 
    SUM(CASE WHEN [aField6]='no' THEN 1 ELSE 0 END) AS [CleanAndTidyNo], 
    SUM(CASE WHEN [aField10]='no' THEN 1 ELSE 0 END) AS [HandWashNo], 
    SUM(CASE WHEN [aField8]='no' THEN 1 ELSE 0 END) AS [PPEStorageNo], 
    SUM(CASE WHEN [aField14]='no' THEN 1 ELSE 0 END) AS [PipesAndFittingsNo], 
    SUM(CASE WHEN [aField12]='no' THEN 1 ELSE 0 END) AS [COSHHNo] 
    FROM vAdvF_265 
) sums 
UNPIVOT 
([Count] FOR [Type] IN 
    ([CleanAndTidyNo], [HandWashNo], [PPEStorageNo], [PipesAndFittingsNo], [COSHHNo]) 
) AS unpivoted1; 

這給了我:雖然第二個給我,我後,我仍然在努力得到這個計數爲100%

Type1                               Count 
-------------------------------------------------------------------------------------------------------------------------------- ----------- 
CleanAndTidyNo                             2 
CleanAndTidyYes                             18 
COSHHNo                               3 
COSHHYes                               17 
HandWashNo                              7 
HandWashYes                              13 
PipesAndFittingsNo                            2 
PipesAndFittingsYes                            18 
PPEStorageNo                              4 
PPEStorageYes                             16 

圖表與是/否每欄的答案。

有人能幫助我指出正確的方向/提供任何建議或其他方法嗎?

回答

0

爲條形圖值添加一個表達式。在表達式中添加如下代碼:

=SUM(IIF(Fields!CleanAndTidy.Value = "Yes", 1, 0)) 

sum函數將爲數據集中的每一行添加總計值。然後,您可以添加IIF表達式來評估每列,並根據表達式返回一個值。在上面的例子中,如果CleanAndTidy爲「是」,則返回1。如果不是,則返回0。最終結果將是「是」答案的計數。

然後您可以沖洗並重復手洗等。清洗並重復?得到它?