Data Visualization with TIBCO Spotfire
- sherry salek
- Feb 5, 2023
- 2 min read
First, we load all the Northwind sample data in Tibco Spotfire, including:
Order Details.csv, Categories.csv, Customers.csv, Employees.csv, Orders.csv, Products.csv, Suppliers.csv

We examine the columns and their types as we loaded the data:
1. Order Details.csv
Order ID: String
Product: String
Unit Price: Real
Quantity: Integer
Discount: Real
2. Categories.csv
Category ID: String
Category Name: String
Description: Name
Picture: String
3. Customers.csv
Customer ID: String
Customer Name: String
Contact Name: String
Contact Title: String
Address: String
City: String
Region: String
Postal Code: String
Country: String
Phone: String
Fax: String
4. Employees.csv
Employee ID: String
Last Name: String
First Name: String
Title: String
Title Of Courtesy: String
Birth Date: String
Hire Date: String
Address: String
City: String
Region: String
Postal Code: String
Country: String
Home Phone: String
Extension: String
Photo: String
Notes: String
Reports To: String
Photo Path: String
Deleted: Boolean
5. Orders.csv
Order ID: String
Customer: String
Employee: String
Order Date: Date
Required Date: Date
Shipped Date: Date
Ship Via: String
Freight: Real
Ship Name: String
Ship Address: String
Ship City: String
Ship Region: String
Ship Postal Code: String
Ship Country: String
6. Products.csv
Product ID: String
Product Name: String
Supplier: String
Category: String
Quantity Per Unit: String
Unit Price: Real
Units In Stock: Integer
Units On Order: Integer
Reorder Level: Integer
Discontinued: Boolean
AttributeXML: String
DateCreated: Date
ProductGUID: String
CreatedOn: Date
CreatedBy: String
ModifiedOn: Date
ModifiedBy: String
Deleted: Boolean
7. Suppliers.csv
Supplier ID: String
Company Name: String
Contact Name: String
Contact Title: String
Address: String
City: String
Region: String
Postal Code: String
Country: String
Phone: String
Fax: String
- Now we go to Data Canvas, choose "Orders" table, add columns, choose "Unit Price" from the "Order Details" table and add left outer join.

- Next, we want to remove the comma between the first name and last name of "Employee" column of Orders table, using "Add transformations" option.

- We want to create a table with three columns: Order ID, Sum of Freight from Orders table, Sum of Unit Price from Order Details table using table visualization types.

- A bar chart visualization of top 5 Product Categories from Product table sorted by the highest unit price. Beverages, Confections, Meat/Poultry, Dairy Products, and Condiments are top five highest price product categories.

- A combination chart visualization showing Categories from Product table on x-axis and sum of Unit Price on y-axis with showing the sum of Units on Order as a line chart.
It is clear from the chart that Confections categories has the highest units on order and Meat/Poultry has the lowest units on order.

- Some more visualization.
The pie chart shows the Produce category has the lowest sum of units on order.
The scatter plot shows the distribution of categories with different Unit Price and units in Stock. For example, Row number 75 with Beverage category has the highest Unit in Stock with $7.8 unit price. We can also check if we have outliers in our datasets.

- And a dashboard.

- Let's check sum of freight per Ship City and use the marking and details on demand options to check the data.

- We use Filtering Schemes option to create three (Global, F1, and F2) filters. The global is to filter Ship Country and Ship via, F1 to filter Order Date from Order ID per Employee bar chart. F2 to filter Shipped Date from Order Id per Customer bar chart.
Now, we filter USA, all Order and Shipped Date in September 1997.

- In order to use hierarchy in time charts, we change the Order Date column type from Orders table to Date type.


Now we create a combination of three dynamic charts (Line, Side by side Bar, and Bar Stacked) showing the "Orders" table with "Sum of Freight" per "Employee" columns and color by "Ship via" column. We create Drop down list from property control and use the Iron python script.



Comments