0

這是一個很難回答的表述,但我給我最好的:類似於分組SSRS列值

基本上我的數據庫中有錯誤的價值觀和我想寫我的SSRS考慮到他們,而不是進去並清理數據庫。

爲簡單起見,我的記錄包含2個值:owneridcase_type。目前,我們的case_types在詞典上相似,但概念相同。我想創建一個記錄報告來解決這些數據不一致問題。所以......

我會非常願意把一個簡單的呼叫中心報告是這樣的:

Owner | Email | Inbound Phone | Inbound Phone Call 
bob | 3 |  5   |  7 
jon | 1 |  2   |  3 

凡每一位業主迴應電子郵件x個,「入站電話」和Z號y個'入境電話'。 (我沒有創建這些數據,現在正在處理這個數據)。

到:

Owner | Email | Inbound Phone Call 
bob | 3 |  12 
jon | 1 |  5 

本質結合「入手機」和「呼入電話的記錄的計成一列。

PS此數據來自CRM 2011,我需要使用Fetch作爲查詢。我有我需要的所有記錄,我只需要弄清楚如何解析壞的記錄。

+0

因此,您的數據有兩列,OwnerID和case_type。你的價值是什麼?發生的次數或第三列的總和? – 2012-02-09 02:53:51

+0

對於我的示例,case_type和2個所有者有3個值。基本上有5個記錄,其中所有者是bob,而case_type是入站電話。同樣,有7個記錄,其中所有者是bob,case_type是入站電話呼叫。我想指示報告結合這些#並給我11。 – Steve 2012-02-09 17:27:19

回答

2

SSRS在它認爲遇到新組時創建一個新列。您開始使用的報告使用了一個字段。所以SSRS認爲[Case_type]字段中的每個不同值都是一個新組,並且需要一個新列。

所以更改組屬性(右擊灰色區域中的列的上方和選擇列組 - >組屬性...修改組的表達下面的公式)

下面的公式應該更換一個簡單的領域。在創建新組之前,SSRS將通過此公式運行每個[case_type],如果它是「入站電話」,它將被替換爲「入站電話呼叫」。現在,SSRS會看到這與現有組匹配,並將這些值分組在同一列中。

=Switch(
    Fields!Case_Type.Value = "Inbound Phone", "Inbound Phone Call", 
    1 = 1, Fields!Case_Type.Value) 

可以插入其他替代品來處理其他情況。如果你需要它們的相似性,那麼事情會變得更加複雜。

+0

嗯,我應該說得更清楚一些,我的領域沒有被命名爲「入站電話」。我的字段名爲case_type,其中的值是「電子郵件」,「呼入電話」和「呼入電話」。所以當我設置我的矩陣時,它只有1行和1列。該行是[ownerid],列是[case_type]。我能夠弄清楚如何過濾列值,以便「入站電話」不出現。但是,當我想看到更正的數據時,我無法得到很遠的結果:= IIf(Fields!case_type.Value =「Inbound Phone Call」,0,Count(Fields!case_type.Value))我應該如何處理0的地方? – Steve 2012-02-09 01:51:05

+0

據我所知,我想結合的唯一2個值是入站電話和入站電話呼叫。有人搞砸了記錄,現在我需要寫一份可以處理這些記錄的報告。 – Steve 2012-02-09 17:31:27

+0

我只是試圖將Switch表達式粘貼到列標題中,並且它只是將「入站電話」文本替換爲「入站電話」。我仍然有3列,除了現在我有2個名爲「呼入電話」。我需要能夠合併這些2中的數據,並只顯示1個結果列。 – Steve 2012-02-09 21:22:58

0

在SQL查詢來實現的結果看起來像

SELECT t1.[owner_id] 
    ,( select sum([case_value]) 
     from [dbo].[Table_1] t2 
     where t2.case_type in ('email') 
       and t2.owner_id = t1.owner_id) as 'Email' 

    ,( select sum([case_value]) 
     from [dbo].[Table_1] t3 
     where t3.case_type in ('inbound phone', 'inbound phone call') 
       and t3.owner_id = t1.owner_id) as 'Phone' 
    FROM [dbo].[Table_1] t1 
    GROUP BY t1.owner_id 

我不認爲這是可能的使用XML獲取寫得那麼複雜的查詢。只有您能夠爲結果表中的單元格中的每個單元格提取XML並且它看起來像

<fetch distinct='false' mapping='logical' aggregate='true'> 
<entity name='your_entity_name'> 
<attribute name='value_column' alias='value_column_sum' aggregate='sum' /> 
<filter type='and'> 
    <condition attribute='case_type' operator='eq' value='desired_value_1' /> 
    <condition attribute='case_type' operator='eq' value='desired_value_2' /> 
</filter> 
</entity> 
</fetch> 
+0

您是否在說我可以更改單元格並給它自己的提取?我怎麼做?我認爲只有DataSet可以使用抓取。 – Steve 2012-02-09 17:30:01