2011-09-25 79 views
0

首先,我將鋪陳結構分組:子報表參數和報表服務

主要報告是從SQL Server表變量給表單類型,形式 號,以前的日期(隱藏),當前日期(隱藏,雖然父母分組正在使用這個),時間的差異,個人的ID(隱藏)和人的全名。主要報告僅用於意外結果,並非特定日期的全部數據。

該子報表是基於整個項目(在給定日期)的各種表單類型的總計數,如果沒有特定的人選擇或按天過濾,並且人的ID是否是某人,則排除該人的ID。子報表應該是給定日期(預期父組)的總計行,因爲主要報表是異常情況,總計是針對所有表單完成的。

我碰到了一些問題:

1)日期分組的是基於日期和時間分隔條件。有沒有辦法爲了分組而放棄字段的時間組件?我現在正在查看http://thavash.wordpress.com/category/reporting-services/page/3/,如果FormatDateTime不僅僅是一個視覺變化(即我不會有一堆9/25/11組),FormatDateTime可能會很有用。

2)子報表需要人和日期的兩個參數來生成列表。我想知道是否有一個混合的方式將參數傳遞給子報表,因爲日期參數基於父組(因此不確定它是否可以通過程序設置)。個人價值可以通過獲取表格上的下拉列表的關鍵字來實現。唯一的問題是我不知道如何以編程方式告訴它採取personid,但只拉取父組的日期組件。

回答

2

1) 使用類似=Format(Fields!MyDateField.Value,"dd/MM/yyyy")的格式將日期格式化爲字符串。將格式表達式更改爲您的需要。

來正確地分類的組使用=Format(Fields!MyDateField.Value,"yyyyMMdd")

2) 可以傳遞任何表達式作爲參數給子報表這意味着它們可以是基值,主要報告參數等

例如:如果您的日期參數位於名爲「table1_Group1」的組上,並且您希望將其用於子報表,則可以使用引用該組的表達式,如=First(Fields!MyDateField.Value,"table1_Group1")

+0

我將在我啓動並運行後修改我的問題,而不是像我一樣使用子報表(臨時表)計數數據庫中的值),我將嘗試根據父報告數據源中的值進行計數。到目前爲止,我需要創建兩個數據對象:一個是從日期範圍過濾的數據庫中提取的,另一個是過濾掉的數據,用於查找時間差異問題。原始用於子報表併爲實際報表過濾。或者至少,這就是我將要嘗試的。 – Robert