2009-10-15 25 views
2

好吧,這可能是一個奇怪的請求,但是是否有可能將我的數據集基本上壓扁到水晶報表中?將晶體報告中的數據展平

我有一個C#中的數據表,它是用連接創建的,所以當它碰到報表時它的2條記錄。大多數列具有相同的數據,最後幾列顯示不同的地址。

而不是使用大多數相似的數據多次打印詳細部分,我需要顯示1個「記錄」與常用數據打印一次,並且每個記錄地址安排在它旁邊。作中,顯示在一個區域中的所有公共字段,然後下到從記錄中的地址字段,其中「地址類型= 1,則下一個到該地址字段,其中「地址類型= 2」

這是一個子報道的事情?因爲即使有子報表,我也無法只用第一條記錄的數據打印1個詳細部分。

這甚至可能與水晶?由於長期以來的原因,我無法在數據到達報告之前將其平坦化。

回答

1

好的,這裏的辦公室裏有人指示我,所以我會把它放在那裏。

與COLS A,B,C中的所有常見和d,E爲多行不同的,這是我的「扁平」在晶體的數據集給定數據:

  1. 創建基於柱A的基團,並把A,B,C放入該組標題中 - 徹底擺脫細節部分
  2. 在組標題中爲每一行數據創建一個子報表,在我的情況下爲2個子報表
  3. 在每個子報表中,將字段D ,E。重要提示:這些子報表沒有鏈接!
  4. 對於每個子報表,進入Select Expert並創建一個僅顯示1行特定數據的條件。此條件將爲每個子報表具有相同的字段,但具有不同的值。在我的情況下,它是AddressType ='A',AddressType ='B'

這將產生1個報告,其中A,B,每行數據)

這是令人困惑,耗時,我討厭現在比以往更多的水晶報告。

0

這將是非常醜陋的,但您可以爲Group Expert中的每個公用字段添加一個組,然後在最後一個組頭中顯示常用字段的數據。因此,如果您的公共字段是field1到field5,您將創建五個組,並將所有五個字段放在field5的組標題中。然後,您將把詳細信息部分中的唯一地址字段(稱爲字段field6到field8)。

現在的訣竅是讓一切正確排列。您可以在field5的組頁眉上設置「底部以下部分」;這將導致field1到field5「落入」到細節部分。你只需要確保field6到field8都在field1到field5的右邊,這樣文本就不會重疊。

現在,如果你想要兩個地址記錄水平打印,我想你需要一個具有多列的子報表。但同樣的原則適用 - 只要確保子報表在field1到field5的右邊,這樣數據就不會重疊。

0

您是否在每個非地址字段上嘗試了suppress if duplicated選項?

否則,您可以按照通用ID進行分組,然後將通用字段放在該標題中,然後在詳細信息部分顯示多個地址。

或者,您可以從數據源中刪除地址,並使用子報表爲每條記錄提取此數據。這將繞過加入,併成爲性能最慢的選項,因爲每個記錄的地址必須爲select

0

好,首先讓我們來看看,如果我理解這個正確的:

你想要一份報告,將在格式

MainDetails地址(TYPE1)
MainDetails地址(類型2)

到代替爲在格式

MainDetails地址(TYPE1)地址(類型2)

假設只有兩種地址類型,您可以執行以下操作:由主要的細節

1)組(無論唯一的入口是
2)把詳細地址在組頭旁邊,右側
3)也把詳細地址在細節部分,但定位爲如果他們在地址(2型)列位置,因此它看起來像:

GH MainDetails地址
d .. .....................................地址

4)接下來,在AddressType字段上的報表中添加一個排序,以便AddressType = 1首先顯示。
5)條件抑制式添加到詳細信息部分說{地址類型= 1}
6)使用節專家,在組頭勾選「底層下面的部分」的方框

這應該只要工作地址的數量是1或2.