Financial Reporting 中的進階格式選項
在 Financial Reporting 中建立報表時,可以使用其他格式設定函數,包括維度篩選器、資料欄和報表單位限制、非打印資料列以及計算中的 IF/THEN/ELSE 陳述式。
下表說明了設計報表時可用的進階格式化函數。
函數 | 描述 |
---|---|
維度篩選器 | 若要存取特定的資料集,您可以在列定義和欄定義中使用維度。 許多報告僅使用行格式的自然區段。 但是,可以修改資料列以使其包含維度值。 列定義中的維度篩選器用於存取特定維度值。 |
報表單位限制 | 您可以設定報告資料列,使其僅顯示連接到特定報表單位的資訊。 |
非資料列印 (NP) 行 | 非資料列印資料列在許多報告中都很有用。 如果需要多次計算才能獲得一個值,這些計算可以隱藏在列印的報告中。 非資料列印資料列對於報告設計疑難排解和進階儲存格放置也很有用。 |
欄限制 | 行定義中的欄限制對於隱藏僅與報表的某些資料列相關的值很有用。 當對一資料列執行百分比計算時,欄限制會阻止在這些數字不適用時資料列印總資料欄或其他資料欄。 |
換資料欄 | 您可以在列定義中新增換資料欄以並排顯示報告資訊。 您可以在單個列定義中新增多個換資料欄,並且資料欄標題在換資料欄後的每資料欄頂部重複。 報表的註解顯示在換資料欄之間。 |
IF/THEN/ELSE 陳述式 | 您可以修改列定義或欄定義中的計算。 |
對維度值使用單引號 ('') 和 & 符號 | 您可以使用維度值,包括用於報表設計的 & 符號。 |
進階儲存格放置
進階儲存格放置,或強迫,涉及將特定值放置到特定儲存格中。 例如,強制經常用於移動現金流量表中的正確餘額。 您可以將強制用於以下目的:
- 將值從 Microsoft Excel 移動到特定的儲存格。
- 將特定值寫死到報告中。
- 透過從前一個儲存格中複製一個值並將該值乘以 -1 來修改符號。
附註
在許多情況下,您必須設定報表定義,以便在資料欄計算之前完成資料列計算。 若要完成此設定,請按照以下步驟操作。
- 在 Report Designer 中,打開報表定義。
- 在設定索引標籤上,在計算優先下,選取先計算資料欄再計算資料列。
設計報告
設計報表時,應先建立所有明細資料列,以確保按預期提取值。 然後新增 NP (無列印) 格式覆寫以抑制包含最終值的詳情。
重要注意事項
當您使用列定義中的 CAL 格式代碼,您無法深入了解交易詳情。
對於強制,公式使用以下格式:<目的地資料欄>=<原始資料欄>。<資料列代碼>用逗號和空格分隔行的任何其他位置。 這是一個範例:D=C.190,E=C.100
進階格式選項範例
以下範例顯示如何格式化列定義和欄定義以強制產生基本現金流報表 (範例 1) 和統計報告 (範例 2)。
範例 1:基本強制
下表顯示了使用基本強制的列定義範例。
資料列代碼 | 描述 | 格式代碼 | 相關公式/資料列/單元 | 資料列修飾詞 | 連至財務維度 |
---|---|---|---|---|---|
100 | 期初 (NP) 現金 | 帳戶修飾詞 = [/BB] | +Segment2 = [1100] | ||
130 | 期初現金 | CAL | C=C.100,F=D.100 | ||
160 | |||||
190 |
附註
出於報告目的,從前一分資料表中移除了空白資料欄:不顯示格式覆寫、正常餘額、列印控制、欄限制資料欄。
下表顯示了在資料列中使用基本強制的欄定義範例。
格式 | A | B | C | D | E | F |
---|---|---|---|---|---|---|
標題 1 | ||||||
標題 2 | A | B | C | D | E | F |
標題 3 | ||||||
資料欄類型 | 列 | DESC | FD | FD | FD | CALC |
帳冊代碼/屬性類別 | 實際 | 實際 | 實際 | |||
會計年度 | 基準 | 基準 | 基準 | |||
期間 | 基準 | 基準 | 基準 | |||
涵蓋期間 | 定期 | YTD/BB | YTD | |||
公式 | E-D | |||||
資料欄寬 | 5 | 30 | 14 | 14 | 14 | 14 |
範例 2:統計報告
下表顯示了為統計報告使用強制的列定義範例。
資料列代碼 | 描述 | 格式代碼 | 相關公式/資料列/單元 | 格式覆寫 | 正常餘額 | 連至財務維度 |
---|---|---|---|---|---|---|
50 | 統計資訊 | REM | ||||
100 | 人數 - 美國 | CAL | 4 | ###0.;($###0.) | ||
115 | 人數 - 國際 | CAL | 11 | ###0.;($###0.) | ||
130 | ||||||
190 | 美國銷售 | C | +Segment2 = [41*], Segment3 = [00] | |||
220 | 國際銷售 | C | +Segment2 = [41*], Segment3 = [01:99] | |||
250 | ||||||
280 | ||||||
310 | 美國銷售 | CAL | D=C.190,E=C.100,F=(C.100/C.190) | |||
340 | 國際銷售 | CAL | D=C.220,E=C115,F=(C.220/C.115) |
附註
出於報告目的,從前一分資料表中移除了空白資料欄:不顯示資料列印控制、欄限制和資料列修飾詞資料欄。
下表顯示了為統計報告使用強制的欄定義範例。
格式 | A | B | C | D | E | F |
---|---|---|---|---|---|---|
標題 1 | A | B | C | D | E | F |
標題 2 | - | - | YTD | 年銷售額 | 人員 | $ 每人 |
標題 3 | ||||||
資料欄類型 | 列 | DESC | FD | CALC | CALC | CALC |
帳冊代碼/屬性類別 | 實際 | |||||
會計年度 | 基準 | |||||
期間 | 基準 | |||||
涵蓋期間 | YTD | |||||
公式 | E-D | |||||
資料欄寬 | 5 | 30 | 14 | 14 | 14 | 14 |
將列限制為特定的報表單位
當報告資料列僅限於特定報表單位時,該資料列僅顯示指定報表單位的連接資料,而忽略報表樹狀結構中其他報表單位的資料。 例如,您可以建立一個資料列來提供特定部門的總營運費用的詳情。 如果報表同時包含報表樹狀結構和具有多個自然帳戶的列定義,則您的報表可能包含重複資料。 例如,您有一個資料列出組織中六個部門的報表樹狀結構,還有一個列定義,其中資料列出了資料列中帳戶和部門的特定組合。 產生報告時,即使該部門可能與樹狀結構中的內容不相符,帳戶和部門的特定組合會列印在報表樹狀結構的每個層級上。 出現此行為的原因是該資料列覆寫了通常由報表定義篩選掉的內容。 避免資料重複的一種方法是將列限制為特定的報表單位。
附註
如果某資料列包含維度,並且您將該列限制為子系報表單位,則該子系單位及其父系單位的資料列金額將包括在內,但不會發生重複。
將列限制為報表單位
- 在 Report Designer 中,點選列定義,然後選取要修改的列定義。
- 按兩下點選相應的相關公式/資料列/單元儲存格。
- 在報表單位選取對話方塊中,在報表樹狀結構欄位,選取在報表定義中指派的樹狀結構。
- 選取一個報表單位,然後點選確定。 限制出現在列定義的儲存格中。
- 按兩下點選已限制資料列連結到財務維度資料欄中的儲存格,然後輸入財務資料系統的連結。
在列定義中選取資料列印控制
您可以使用列印控制儲存格為每一資料欄指定列印控制。
將資料列印控制碼新增到報表資料列
- 在 Report Designer 中,打開列定義做修改。
- 按兩下點選列印控制儲存格。
- 在列印控制對話方塊中,選取列印控制碼,或按住 Ctrl 鍵選取多個代碼。 您也可以直接在列印控制儲存格輸入列印控制碼。 使用逗號分隔多個列印控制碼。
- 選取任何條件式的列印選項。
- 點選確定。
一般列印控制碼
下表描述了列定義的一般資料列印控制碼。
列印控制碼 | 列印控制碼的解讀 | 描述 |
---|---|---|
NP | 非資料列印資料列 | 防止在報告中資料列印資料列中的金額,並從計算中排除這些金額。 若要在計算中包含非列印資料欄,請直接在計算公式中參考該資料欄。 例如,非資料列印資料列 240 包含在以下計算中:230+240+250。 但是,非資料列印資料列 240 不包含在以下計算中:230:250。 |
CS | 貨幣符號;在此資料列中使用貨幣格式 | 在所有非百分比金額中包含貨幣符號。 百分比值永遠不會收到貨幣符號。 |
XD | 取消帳戶明細報告中的隱藏資料列 | 隱藏在帳戶明細報告和交易明細報告中顯示的帳戶。 當某資料列包含不應在帳戶明細報告或交易明細報告中資料列出的多個帳戶時,此資料列印控制則很有用。 |
X0 | 如果全為零,則隱藏資料列 | 如果某資料列中的所有儲存格為空白或包含零,則從報告中排除該資料列。 僅當報表定義中未選取隱藏零餘額的選項時,此列印控制才有意義。 |
B0 | 將零資料欄留白 | 將包含零金額的資料列中的資料欄留白。 |
XR | 隱藏上捲累積 | 隱藏上捲累積。 如果該報表使用報表樹狀結構,則此資料列中的金額不會上捲累積到後續父系節點中。 |
SR | 隱藏進位 | 防止此資料列中的金額被四捨五入。 |
XT | 隱藏交易明細報告中的資料列 | 隱藏在交易明細報告中顯示的交易。 當某資料列包含不應在交易明細報告中資料列出的多個帳戶時,此資料列印控制則很有用。 |
條件式的列印控制碼
下表描述了列定義的條件式資料列印控制代碼。
列印控制碼 | 描述 |
---|---|
(無) | 清除條件式列印選擇。 |
DR | 僅資料列印此資料列的借方餘額。 |
CR | 僅資料列印此資料列的貸方餘額。 |
列定義中的欄限制儲存格
列定義中的欄限制儲存格有多種用途。 根據資料列的類型,您可以使用欄限制儲存格來指定以下函數之一:
- 儲存格可以將資料列金額的資料列印限制為特定資料欄。 如果您要建立表格式資產負債表,此函數很有用。
- 儲存格可以指定要排序的金額資料欄。
在列定義中使用計算公式
列定義中的計算公式可以包括 +、-、*和 / 運算子,還有 IF/THEN/ELSE 陳述式。 此外,計算中可能涉及個別儲存格和絕對數量 (公式中包含的實際數字)。 該公式最多可包含 1,024 個字元。 計算不適用於包含連結到財務維度 (FD) 類型的儲存格。 但是,您可以包括連續資料列的計算、隱藏資料列印這些資料列,然後總和計算資料列。
計算公式中的運算子
計算公式使用比資料列合計公式更複雜的運算子。 但是,您可以使用 * 和 / 運算子以及要相乘 (*) 和相除 (/) 金額的其他運算子。 若要在計算公式中使用範圍或總和,您必須在任何資料列代碼前使用 @ 記號,除非您在列定義中使用資料欄。 例如,若要將第 100 列的金額與第 330 列的金額相加,您可以使用資料列合計公式 100+330 或計算公式 @100+@330。
附註
您必須在計算公式中使用的每個資料列代碼之前使用 @ 記號。 否則,系統會將該數字會讀取為絕對數量。 例如,公式 @100+330 將 330 美元新增到第 100 列的金額中。 在計算公式中參考資料欄時,不需要 @ 記號。
建立計算公式
- 在 Report Designer 中,點選列定義,然後打開要修改的列定義。
- 按兩下點選格式代碼儲存格,然後選取 CAL。
- 在相關公式/資料列/單元儲存格中,輸入計算公式。
特定資料列的計算公式範例
在這個範例中,計算公式 @100+@330表示第 100 列中的金額與第 330 列中的金額相加。 資料列合計公式 340+370 將第 340 列中的金額與第 370 列中的金額相加。 (第 370 列的金額是計算公式中的金額。)
資料列代碼 | 描述 | 格式代碼 | 相關公式/資料列/單元 | 列印控制 | 資料列修飾詞 | 連至財務維度 |
---|---|---|---|---|---|---|
340 | 期初現金 | NP | BB | +Account=[1100:1110] | ||
370 | 年初現金 | CAL | @100+@330 | NP | ||
400 | 期初現金 | TOT | 340+370 |
當列定義中的資料列有 CAL 的格式代碼,然後在相關公式/資料列/單元儲存格輸入數學計算,您還必須在報表上輸入相關資料欄和資料列的字母。 例如,輸入 A.120 即表示第 A 欄的第 120 列。 或者,您可以使用 @ 記號來指示所有資料欄。 例如,輸入 @ 120 即表示第 120 列的所有資料欄。 系統將任何沒有資料欄字母或 @ 記號的數學計算都假定為實數。
附註
如果您使用標籤資料列代碼來參考某資料列,則必須使用句點 (.) 作為資料欄字母和標籤之間的分隔符號 (例如,A.GROSS_MARGIN/A.SALES)。 如果您使用 @ 記號,則不需要分隔符號 (例如,@GROSS_MARGIN/@SALES)。
特定資料欄的計算公式範例
在這個範例中,計算公式 E=C.340 表示第 C 欄儲存格第 340 列中的計算僅在 E 欄上執行。
附註
在計算公式中參考資料欄時,不需要 @ 記號。
資料列代碼 | 描述 | 格式代碼 | 相關公式/資料列/單元 | 列印控制 | 資料列修飾詞 | 連至財務維度 |
---|---|---|---|---|---|---|
340 | 期初現金 | NP | BB | +Account=[1100:1110] | ||
370 | 年初現金 | CAL | E=C.340 | NP | ||
400 | 期初現金 | TOT | 340+370 |
修改選定資料欄中的數字
當您修改特定資料列的一資料欄中的數字或計算但不想影響報表上的其他資料欄時,您可以指定列定義格式代碼資料欄中的 CAL (計算)。
- 若對所有報告 (FD) 資料欄執行計算,請不要輸入資料欄指派。
- 若要將公式限制為特定資料欄,請輸入資料欄字母、等號 (=),然後是公式。
- 您可以指定多個資料欄。 當您使用帶有特定資料欄置的 @ 記號時,@ 記號與資料列相關。
- 您可以在一資料列中輸入多個資料欄公式。 使用逗號分隔公式。
計算範例
計算方式 | 建立的動作 |
---|---|
@130*.75 | 如需每一資料欄,將第 130 列中的值乘以 0.75。 然後將結果放入每一資料欄現行的資料列中。 |
B=@130*.75 | 僅在 B 欄上執行相同的計算。 |
A,B,C=(@100/@130)*.75 | A=(A.100/A.130)*.75 B=(B.100/B.130)*.75 C=(C.100/C.130)*.75 |
列定義中的 IF/THEN/ELSE 陳述式
IF/THEN/ELSE 語句可以添加到任何有效的計算中,並與 CAL 格式一起使用 。 您將 IF/THEN/ELSE 計算公式輸入到相關公式/資料列/單元資料欄中的儲存格。 IF/THEN/ELSE 計算公式使用以下格式:IF <TRUE/FALSE 語句> 則 <公式> ELSE <公式> 語句的 ELSE <公式> 部分是可選的。
IF 陳述式
接在 IF 陳述式後的可以是任何可以被評估為 True 或 False 的陳述式。 接在 IF 陳述式後的可能涉及簡單的評估,或者它可能是可以包含多個運算式的複雜陳述式。 這裡有些範例:
- IF A.200>0 (簡單評估)
- IF A.200>0 和 A.200<10,000 (複雜語句)
- IF A.200>10000 OR ((A.340/B.1200)*2 <1200) (包含多個表達式的複雜語句)
IF 陳述式中的期間一詞代表報告的期間數。 該術語通常用於計算年初至今的平均值。 例如,當您執行第 7 期 YTD 的報表時,B.150/期間表示第 B 欄第 150 列的值除以 7。
THEN 和 ELSE 公式
THEN 和 ELSE 公式可以是任何有效的計算,從非常簡單的賦值到複雜的公式。 例如,陳述式 IF A.200>0 THEN A=B.200 意思是,「如果第 200 列第 A 欄中的儲存格中的值大於 0 (零),則將第 200 列第 B 欄中的儲存格中的值放入現行該資料列第 A 欄中的儲存格中。」前面的 IF/THEN 陳述式會將一個值放入目前行的一列。 但是,您也可以在 True/False 評估或公式中使用 @ 記號來表示所有資料欄。 以下有一些範例在以下區段描述:
- 如果 A.200 >0 則 B.200:如果儲存格 A.200 中的值為正數,則儲存格 B.200 中的值將放入當前行的每一列中。
- 如果 A.200 >0 則 @200:如果單元格 A.200 中的值為正,則第 200 行中每列的值將放入當前行中的相應列中。
- 如果@200 >0 則@200:如果當前列第 200 行中的值為正,則第 200 行中的值將放入當前行的同一列中。
將計算限制為列定義中的報表單位
若要將計算限制為報表樹狀結構中的單個報表單位,好讓結果金額不會上捲累積到更高層級的單位,您可以使用列定義中儲存格之相關公式/資料列/單元中的 @ 單元代碼。 @ 單元代碼列在報表樹狀結構的 B 欄中,單元名稱。 當您使用 @ 單元代碼時,這些值不會上捲累積,但會在報表樹狀結構的每個層級評估該計算。
附註
若要使用此函數,報表樹狀結構必須與列定義相關。
計算資料列可以參考計算資料列或財務資料資料列。 計算記錄在列定義的相關公式/資料列/單元儲存格和財務資料類型限制。 該計算必須使用以 IF @ 單元結構開頭的條件式計算。 以下為一個範例:IF @Unit(SALES) THEN @100 ELSE 0 此計算包括報表每一資料欄中第 100 列的金額,但僅適用於 SALES 單元。 如果將多個單元命名為 SALES,則金額會出現在每個單元中。 此外,第 100 列可以是財務資料資料列並且可以定義為非資料列印。 在這種情況下,金額不會出現在樹狀結構中的所有單元中。 您還可以透過使用欄限制僅在報告的該資料欄中列印值來將金額限制為報告的單一資料欄,例如 H 資料欄。 你可以將 OR 組合包含在 IF 陳述式中。 這是一個例子:IF @Unit(SALES) OR @Unit(SALESWEST) THEN 5 ELSE @100。 您可以透過以下其中一個方式在計算類型限制中指定單元:
- 輸入單元名稱以包含相符的單元。 例如,即使報表樹狀結構中有多個 SALES 單元,IF @ (SALES) 仍可啟用任何名為 SALES 的單元的計算。
- 輸入公司和單元名稱以將計算限制為特定公司的特定單元。 例如,輸入 IF @Unit (ACME:SALES) 將計算限制為 ACME 公司中的 SALES 單元。
- 輸入報表樹狀結構中的完整階層結構代碼以將計算限制為特定單元。 例如,輸入 IF @Unit(SUMMARY^ACME^WEST COAST^SALES)。
附註
若要尋找完整的階層結構代碼,請按右鍵點選報表樹狀結構定義,然後選取複製報表單位識別碼 (H-代碼)。
將計算限制為報表單位
- 在 Report Designer 中,點選列定義,然後打開要修改的列定義。
- 按兩下點選格式代碼儲存格,然後選取 CAL。
- 點選 Related Formulas/Rows/Units 儲存格,然後輸入以 IF @Unit 結構開頭的條件式計算。
欄定義中的 IF/THEN/ELSE 陳述式
IF/THEN/ELSE 陳述式使任何計算都依賴於任何其他資料欄的結果。 您可以參考其他資料欄,但不能參考 IF 陳述式。 任何計算都必須應用於整個資料欄。 例如,陳述式 IF B>100 THEN B ELSE C*1.25 意思是,「如果 B 欄中的金額超過 100,則將 B 欄中的值放入 CALC 欄中。 如果 B 列中的金額不超過 100,則將 C 列中的值乘以 1.25,並將結果放入 CALC 列。」請務必遵循 IF 語句,有可評估為 true 或 false 的邏輯語句。 您用於 THEN 陳述式和 ELSE 陳述式的公式可以包含對任意數量資料欄的參考,並且這些公式可以依您的需要變複雜。
附註
您不能將計算結果放入任何其他資料欄。 結果必須在包含該公式的資料欄中。
對位在資料列、資料欄或樹狀結構中的維度值使用單引號和 & 符號
您可以使用包含 & 符號的維度值設計報表。
在任何連結到財務維度 欄位中,您可以輸入一個值,例如 “P&L”。 在維度值的兩邊包含單引號 (' ') 表示您使用的是常值,例如包含 & 符號字元。