2015-10-06 71 views
0

這裏是我的問題SSRS掩蓋是連續

我有5個組一個結果,在顯示(組外),我需要顯示一些其他的日期,但爲了行縮小表格我想要屏蔽第一個數字後面的所有數字。我的虛構數據集的

例(已毀的產品列表):

BRAND MODEL SUB-MODEL PRICE DATE  SERIAL(always an integer) 
A1  M1  SM-M11 100.0 2015-09-01    100001 
A1  M1  SM-M11 100.0 2015-09-01    100002 
A1  M1  SM-M11 100.0 2015-09-01    100003 
A1  M1  SM-M11 100.0 2015-09-01    200005 
A1  M1  SM-M11 100.0 2015-09-01    200006 
SkyNet T800 101  112.0 1984-10-26    1235 
SkyNet T1000 T1001  1000.0 1991-07-01    1287 
SW  R2  D2  130.0 1977-05-25    5351 
SW  R2  D2  130.0 1977-05-25    5352    
SW  R2  D2  130.0 1977-05-25    5353 

這裏是什麼應該顯示

------------------------------------------------------------------------ 
| BRAND | MODEL | SUB-MODEL | PRICE | DATE  | SERIAL   | 
------------------------------------------------------------------------ 
| A1  | M1  | SM-M11 | 100.0 | 2015-09-01 | 100001 to 100003 | 
| A1  | M1  | SM-M11 | 100.0 | 2015-09-01 | 200005 to 200006 | 
| Skynet | T800 | 101  | 112.0 | 1984-10-26 | 1235    | 
| SW  | T1000 | T1001  | 1000.0 | 1991-07-01 | 1287    | 
| SW  | R2  | D2  | 130.0 | 1977-05-25 | 5351 to 5353  | 
------------------------------------------------------------------------ 

如果我要在此基礎上表達隱藏的行

=CStr(Previous(Fields!Column6.Value)+1) = Cstr(Fields!Column6.Value)

它不起作用,只有列6可以隱藏這樣一個例外,並且它會在我的報告中留下「漏洞」,因爲行組仍然出現在行前。

我怎麼能做到這一點?

+0

你能不能展示你的報表設計呢? –

+0

根據您的示例,我無法確定您嘗試實施的業務規則。 「應顯示」示例中的前兩行似乎重疊(即「1到3」和「3」)? – Nathan

+0

@Nathan謝謝你指出我錯誤,我編輯了我的示例以刪除重疊的行。 –

回答

0

細胞表達我找到了解決辦法,但沒有SSRS:我已經通過修改查詢修改我的數據集的結果完成了。解決方案與此帖有關:Group consecutive rows that are incremented by 1。我的任何嘗試使用SSRS來做同樣的事情都是成功的。

0

聽起來好像你應該使用分組來處理這個問題 - 無論是在數據集的源查詢還是報表本身。如果我在報告中這樣做,根據您的示例數據集我想有一個桌子,上面所有這些列中的值分組:

BRAND 
MODEL 
SUB-MODEL 
PRICE 
DATE 

它也像有串行的第一位數字的分組(即(1)00001,(1)00002,(2)00005)。由於SERIAL是一個整數,你應該能夠使用分組表達式像=Left(CStr(Fields!SERIAL.Value), 1)然後的類似=Min(Fields!SERIAL.Value) & " to " & Max(Fields!SERIAL.Value)

+0

對不起,但串行是我可以使用的分組:它可能是從1開始,在1000000左右完成的數字。如果這個例子能給出這個錯誤的想法,我很抱歉。我目前也試圖從提取數據的位置格式化存儲過程,以獲得預期的結果,但由於我使用的是不支持某些功能的舊數據庫,所以它也很棘手。 –

+0

您需要解釋從示例數據集到「應該顯示的內容」示例中涉及的業務規則,否則將很難提供有用的解決方案。例如,如果您沒有對序列號的第一個數字進行分組,那麼爲什麼序列號爲「100001到200006」的前兩行(它們是相同的)會分成這些序列號序列,而不是一行? – Nathan