2016-01-21 97 views
0

我在水晶報表是新,所以我不知道該怎麼辦水晶報表動態分組

我怎樣才能使這個公式一組:
在主報告

if DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})=1 then 
//group by 
PROD.GROUP_ID 
else if DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})>1 and 
    ({PROD.GROUP_ID}=previous({PROD.GROUP_ID}) or 
    {PROD.GROUP_ID}=next({PROD.GROUP_ID})) then 
//group by 
    PROD.DOC_ID 
else 
//group by 
    PROD.GROUP_ID 

請幫我這個我在水晶報表新的,我需要讓這個嚴重

我有這個在我的主要報告:該組中

他阿德,它是由組{} PROD.GROUP_ID
Sub_Car
Sub_Airplane

我的一些子報告工作時,它是由組{} PROD.GROUP_ID和一些子報表工作時,這是由組{ PROD.DOC_ID}

回答

0

您試圖將分組的結果進行分組以重新組合,因爲您編寫公式的方式不適合,因爲DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})本身就是分組的輸出。

要實現此目標,您需要使用子報告並傳遞不同的計數以用作子報告中的分組。

拍攝另一部分group footer b並將子報告存在和使用Change sub report links通過DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})它會在參數字段中顯示爲{?DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})}現在創建您的公式爲@grouping和寫下面的代碼在子報子報告

if {?DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})}=1 then 
//group by 
PROD.GROUP_ID 
else if {?DistinctCount ({PROD.GROUP_ID}, {PROD.ID_NO})}>1 and 
    ({PROD.GROUP_ID}=previous({PROD.GROUP_ID}) or 
    {PROD.GROUP_ID}=next({PROD.GROUP_ID})) then 
//group by PROD.DOC_ID 
else 
//group by PROD.GROUP_ID 

現在用公式組的子報告...如果你想在主報告中顯示的數據或刪除主報告的各個領域,並只顯示子報告

+0

@ grouping公式未顯示在更改組中。對不起另一個問題,但爲什麼呢? – Coder

+0

如果出現這種情況,您需要使用報告中的字段...將字段放在報告中,然後嘗試使用公式 – Siva

+0

爲什麼它仍然無法在變更組中找到@grouping我已將它放入子報告中。當我在組名公式編輯器中指定公式時,它會顯示「此功能無法使用,因爲它必須首先進行評估」 – Coder