Know the business rules that apply to the data from your source report. Prerequisitesīefore you design your template, you must: Many of the layout components described in this chapter can also be inserted to your template using the Template Builder.
It is not required to have Microsoft Word or the Template Builder to create RTF templates and this chapter describes how to add components without using the Template Builder. The demos and samples provided in the Template Builder installation will help orient you to the process of creating templates in Microsoft Word. If you are using Microsoft Word to create RTF templates, see Creating RTF Templates Using the Template Builder for Word before reading this chapter. It describes basic techniques as well as advanced techniques for creating complex and highly conditionalized report formats. This chapter describes the concepts of associating XML data to layout elements in your report template. XSLT compatibility is set as a Build Option in the Template Builder for Word. The template-level setting will override the server setting. This configuration is performed at the template level. If you wish to use XSLT and XPath 2.0 features in your template you must disable XSLT 1.0 compatibility. For more information about Oracle XDK see Oracle XML Developer's Kit Programmer's Guide 11g.īy default, BI Publisher is compatible with XSLT 1.0. The processor also implements the current working drafts of the XSLT and XPath 2.0 standards. About XSLT CompatibilityīI Publisher uses the XSLT processor provided by Oracle XDK 11.1.0.7.0, which supports the W3C XSL Transformations 1.0 recommendation.
If you wish to include code directly in your template, you can include any XSL element, many FO elements, and a set of SQL expressions extended by BI Publisher. If you are familiar with XSL and prefer not to use the simplified tags, BI Publisher also supports the use of pure XSL elements in the template. In addition to your word processing application's formatting features, BI Publisher supports other advanced reporting features such as conditional formatting, dynamic data columns, running totals, and charts. These tags associate the XML report data to your report layout and include other processing instructions. When you save a document, RTF is a file type option.īI Publisher converts documents saved as the RTF file type to XSL-FO enabling you to create report layouts using many standard word processing application features.ĭuring design time, you add data fields and other markup to your template using BI Publisher's simplified tags for XSL expressions. Rich Text Format (RTF) is a specification used by common word processing applications, such as Microsoft Word. Guidelines for Designing RTF Templates for Microsoft PowerPoint Output.Controlling the Placement of Instructions Using the Context Commands.This chapter covers the following topics: Oracle Fusion Middleware Report Designer's Guide for Oracle Business Intelligence Publisher ",ĭocumentation.Version = " 2.1 Catering for negative duration",ĭocumentation.Author = " Imke Feldmann ",ĭocumentation.Oracle Fusion Middleware Report Designer's Guide for Oracle Business Intelligence Publisher Browser version script Skip Headers Working days exclude weekends and any dates identified in (optional) holidays. ",ĭocumentation.LongDescription = " Returns the number of whole working days between StartDate and EndDate similar to the NETWORKDAYS-function in Excel. Working days exclude weekends and any dates identified in holidays. Count the number of days (items in the list)ĬountDays = List.Count(DeleteWeekends) * Signĭocumentation.Name = " ",ĭocumentation.Description = " Returns the number of whole working days between StartDate and EndDate similar to the NETWORKDAYS-function in Excel. The 1 in the 2nd parameter of Date.DayOfWeek makes sure that Monday will be taken as first day of the weekĭeleteWeekends = List.Select(DeleteHolidays, each Date.DayOfWeek(_, startOfWeek) < 5 ), Select only the first 5 days of the week otherwise continue with previous tableĭeleteHolidays = if Holidays = null then ListOfDates else List.Difference(ListOfDates, List.Transform(Holidays, Date.From )), if the optional Holidays parameter is used: Keep only those dates in the list that don't occur in the list of Holidays ListOfDates = List.Dates(Start, Number.From(End – Start) + 1,#duration(1,0,0,0)), Get list of dates between Start- and EndDate Sign = if EndDate < StartDate then -1 else 1, Switch sign if EndDate is before StartDate Providing for logic where EndDate is after StartDate StartOfWeek = if StartOfWeek = null then 1 else StartOfWeek, optional StartOfWeek, if empty the week will start on Monaday (StartDate as date, EndDate as date, optional Holidays as list, optional StartOfWeek as number) =>