TIBCO X Certified Professional 5 — Questions and Answers
Question 1: In Spotfire, which aggregation function would you use to calculate the percentage that each row's value contributes to the total for its category?
- Sum([Value]) / Sum([Value]) OVER ([Category]) (Correct answer)
- Avg([Value]) OVER ([Category])
- Percentage([Value])
- Ratio([Value],[Category])
Correct answer: Sum([Value]) / Sum([Value]) OVER ([Category])
Dividing the row-level Sum by Sum OVER the category grouping gives the within-category percentage share for each row.
Question 2: Which Spotfire component provides a REST API for embedding and interacting with Spotfire analyses inside external web applications?
- JavaScript API (JSAPI) (Correct answer)
- Spotfire Web Services (SOAP)
- Automation Services REST endpoint
- Data Access Services API
Correct answer: JavaScript API (JSAPI)
The Spotfire JavaScript API (JSAPI) allows developers to embed Spotfire Web Player views in external pages and control them programmatically via JavaScript.
Question 3: In TIBCO Spotfire, what is the recommended approach to handle time-zone differences when loading DateTime data from a database?
- Use the DateTimeToLocalTime() or AddHours() expression to adjust timestamps at load or in calculated columns (Correct answer)
- Set the server locale to UTC and never convert
- Store all timestamps as strings and parse client-side
- Use the TimeZoneInfo data function from the TERR package
Correct answer: Use the DateTimeToLocalTime() or AddHours() expression to adjust timestamps at load or in calculated columns
Spotfire expressions like DateTimeToLocalTime() or AddHours() allow analysts to normalize timestamps to the appropriate local time zone within the data model.
Question 4: When a Spotfire analysis is deployed to the library with 'Embedded data', what is a key trade-off compared to 'Linked data'?
- Embedded data is static at publish time; linked data reflects the current source on each open (Correct answer)
- Embedded data loads faster because it skips authentication
- Linked data cannot be shared outside the author's account
- Embedded data always uses on-demand loading
Correct answer: Embedded data is static at publish time; linked data reflects the current source on each open
Embedding data saves a snapshot at publish time (fast, portable, but stale), while linked data queries the source live each time the analysis is opened (always fresh).
Question 5: Which Spotfire feature allows an analyst to define a custom sort order for a categorical axis that differs from alphabetical or value-based ordering?
- Custom sort order list in axis settings (Correct answer)
- Expression-based sort using Rank()
- Column sort override in the data table
- Sorting only by measure values is supported
Correct answer: Custom sort order list in axis settings
Spotfire's axis settings include a custom sort order option where the analyst manually specifies the desired sequence of category values.
Question 6: In Spotfire, what does enabling 'Show items with no data' on a bar chart axis accomplish?
- Displays category values with zero or null measure values as empty bars (Correct answer)
- Hides bars where the data source returns NULL
- Includes future-dated rows in the chart
- Forces all axis categories to be visible regardless of filters
Correct answer: Displays category values with zero or null measure values as empty bars
'Show items with no data' ensures that category values present in the data table but returning no aggregated value (null/zero) still appear as bars on the axis.
Question 7: A Spotfire developer needs to programmatically change a filter's range from an IronPython script. Which object model class is used to access and modify range filters?
- RangeFilter (Correct answer)
- FilterPanel.Filter
- AxisFilter
- DataColumnFilter
Correct answer: RangeFilter
The RangeFilter class in the Spotfire .NET/IronPython object model represents a slider-style range filter and exposes properties to set the low and high values programmatically.
In Spotfire, which aggregation function would you use to calculate the percentage that each row's value contributes to the total for its category?