Excel 轉譯的運算式
在報表中使用運算式來計算報表項目的值,或計算樣式與格式化屬性或其他報表項目屬性的值。Reporting Services 支援使用 Microsoft Visual Basic 撰寫的運算式。轉譯至 Microsoft Excel 時,可能的話,會將 Visual Basic 公式轉譯成 Excel 公式。公式必須僅參考報表目前頁面上的報表項目,而不能直接參考欄位值。報表項目參考會轉換成適當的資料格參考。如需報表中之運算式的詳細資訊,請參閱<在 Reporting Services 中使用運算式>。
使用 Visual Basic 運算式在報表定義語言 (RDL) 中定義的公式,允許使用「+」進行字串串連。然而,Excel 並不支援「+」運算子的字串串連。所以,為了讓公式正確的轉譯,報表應使用「+」運算子表示數字運算元相加,並使用「&」表示字串運算元串連。
文字方塊的公式與函數
報表匯出至 Excel 時,並不支援所有文字方塊運算子和函數。使用不允許的運算子和函數,會導致公式轉換失敗。相對地,經過公式計算後的值卻會置於資料格內當作常數。
下列是允許的運算子:
: + - / * ^ & < <= <> = > >=
下列是允許的函數:
Abs, Atan, Choose, Cos, DateValue, Day, DDB, Exp, FV, Hour, Int, Ipmt, Left, Minute, Month, Now, Nper, Pmt, PPmt, Pv, Rate, Right, Second, Sign, Sin, Sln, Sqrt, Syd, Tan, Today, Year。
允許其他 Visual Basic 函數,但是這些函數會在轉換過程中翻譯成適當的 Excel 函數。下表會對應這些函數的名稱。
Visual Basic .NET 函數 | Excel 函數 |
---|---|
Asc |
Code |
Cdate |
DateValue |
Chr |
Char |
DateSerial |
Date |
Hex |
Dec2Hex |
Iif |
If |
Lcase |
Lower |
Oct |
Dec2Oct |
Ucase |
Upper |
除此之外的其他函數 (例如不支援的運算式),則不會產生 Excel 的公式。而是會將該值,直接置於資料格中。如果您希望整份報表都不要在 Excel 中產生公式,只產生值,可以使用 OmitFormulas 的裝置資訊設定來抑制公式產生。如需有關 OmitFormulas 及其他裝置資訊設定的詳細資訊,請參閱<Reporting Services Device Information Settings>。
請參閱
概念
其他資源
Reporting Services Programming