2016-09-06 63 views
1

我有一個報告,看起來像下面的(忽略它多麼糟糕看起來這是一個早期草案)SSRS是否可以將用戶輸入合併到報告中?

report 1

我希望用戶能夠運行任何日期他們喜歡的報告(使用參數),然後手動輸入總分班mins列中的數字,並讓報告計算活動班次百分比(通話時間/總班次分鐘數)。這可能嗎?如果有的話,任何人都可以引導我完成它?

+2

你試圖做的事情可能會更好地與Excel和PowerPivot,或類似的東西。這樣,您可以提取數據,並將其放入需要計算的工作表中。 SSRS不會將結果導出到Excel之外,然後再進行數據輸入,包括添加所需的公式。 –

+0

@ R.Richards問題是我不希望它成爲我的工作來運行和處理此報告,我希望最終用戶能夠爲自己做到這一點,但同時我不信任他們都會理解力量。 – tomdemaine

+0

SSRS通常不以這種方式交互,參數作爲獲取用戶輸入到報表的主要機制。您*可以*設置一個多值參數,允許用戶輸入一系列數字。然後,您可以使用RowNumber作爲索引器將這些值放入列中。但是,這將會非常尷尬,並且與您輸入信息的哪一行無關。 – bitnine

回答

1

我個人只是計算它的SQL查詢。更容易,你應該能夠達到相同的結果/

因爲我沒有很好的理解你的表或數據,我只是將它建模成與工作中類似的結構。

這將是我將用來生成報告的查詢的一個示例。

Declare @ReportStart date = '2016/08/01' -- SSRS will automatically pick up parameter and add it 
Declare @ReportEnd date = '2016/09/01' -- SSRS will automatically pick up parameter and add it 
/* - - - Exclude the Above in the SSRS Report Query - - - */ 


Select 
    Agent 
, Calls_Handled 
, Calls_Outgoing 
, Total_TalkTime 
, avg.Talk_Time 
, Time_Woked 

-- You can get Super Lazy here and just calculate it SQL Side 
--Not too sure as i dont have DBMS to test in but the below should work? 
, Cast(SUM((Cast(Total_TalkTime as FLOAT)/CAST(Time_Woked as FLOAT))*100) as Numeric(4,2)) as [%_Active] 
FROM 
(
SELECT 
    Resource_Name as [Agent] 

, SUM(-- Calculate total Incoming Calls Handled 
     Case When [Contact_Type] in ('Incoming') THEN 1 
    END) as [Calls_Handled] 

, SUM(-- Calculate total outgoing Calls Made 
     Case When [Contact_Type] in ('Outgoing') THEN 1 
    END) as [Calls_Outgoing] 

, SUM(Talk_Time) as [Total Talk_Time] -- Calculate Total TalkTim 
, AVG(Talk_Time) as [avg.Talk_Time] -- Calculate Average TalkTime 
From 
    dbo.tbl_Cisco_Calls 
WHERE 
    Even_Time between @ReportStart and @reportEnd 
GROUP BY 
    Agent 
) as call 
JOIN 
(
    Select 
     Agent 
    , DateDiff(minute,Login_Time, Logout_Time) as [Time_Woked] 
    FROM 
     tbl_Cisco_Event 
    WHERE 
     Event_Time between @reportStart and @reportEnd 
    Group By 
     Agent 
) as event 
on call.Agent = event.Agent 

將報告加載到SSRS後,它應自動選取參數@ReportStart和@ReportEnd。然後我將它們的類型調整爲日期,以便它們可以用作日曆。那麼你們都是配偶。

您也可以計算在SSRS

它會拿起實體,所以我可以做

[Total_TalkTime]/[Time_Worked] 

,然後右鍵單擊該單元格,我可以選擇的號碼類型爲百分比(與Excel Off內存完全相同)

如前所述,儘管在SQL環境中執行此操作要容易十倍

+0

這是一個非常有用的答案。謝謝。 – tomdemaine

相關問題