Data & Object Types

Introduction

Besides a name, every field in a universe gets at least two additional attributes: a data type and an object type. These have a huge impact on how InfoView handles the contents of the field. Understanding this isn't necessary for using InfoView, but it will help you use InfoView more purposefully and powerfully because you will be able to more consciously pick these aspects of your data and especially your variables. 

The Data Type is more basic than even InfoView: this is related to how the database itself is saving the information. There are four data types: string, number, date and clob. The data type influences what actions you can take on the data, such as whether you can perform math on it and how that math gets performed.

The Object Type is a concept within InfoView that mostly effects how the software handles displaying values that have repeats. There are four object types: dimension, measure, detail and filter. The filters are not actually fields in the database: they are pre-programmed filter-bundles and they only appear in the query panel.

Fields with the data type "string" almost always have the data type "dimension" and fields with the data type "number" almost always have the data type "measure".

Defintions: Data and Object Types

Data Types

string is any set of characters (letters or numbers) in any order. These characters are "strung" together in order to form the whole. Strings can look just like dates and numbers, but will not necessarily be automatically read as such.

A number can only be a number: it can't have letters in it. For example, "100" can be saved as number but "100B" can't. The power of this limitation is that a database can always perform math on these types of fields.

A date can only be a date. The database stores this in a particularly specific format. The power of this limitation is that a database can perform date- and time-related math on these types of fields.

A clob is there to hold a really really big amount of information, such as text too large for a normal string. Clobs are rarely used in our data sets and distinguish themselves by having limited search features, such as no list-of-values in the Query Panel or the prompt window.

Object Types

Icon Defintion
Screenshot of InfoView Object Type dimension icon

A dimension can contain any data type. Some mathematical functions will not work on dimensions, such as sums.

Where possible, dimensions atuomatically try to minimize repeated values by only showing unique values. See examples below.

Screenshot of InfoView Object Type dimension icon

A measure almost always contains only numbers. In some very limited circumstances, it is possible to have a string saved as a measure.

Where possible, measures "roll-up", that is, add together by default.

Screenshot of InfoView Object Type dimension icon A detail object is always associated with another object, often representing a single piece (a "detail") of the other object. In the Query Panel, these objects are tucked underneath the associated object. These can also be used as a variable type to join two separate query tables in multiple queries.
Screenshot of InfoView Object Type dimension icon

A pre-defined filter is just a bundle of filters that have been pre-programmed in to InfoView by Data Management developers. These tend to be filter bundles that users need regularly such as an "org of any level" prompt filter or "current record" filters.

Filters can only be added to the "Query Filters" box.

Examples

Measures vs Dimensions vs Strings vs Numbers

Measures, dimensions, strings and numbers are the most used and the most easily confused. The following is a set of examples to illustrate the differences.

Example Table in Excel

The following data was imported into InfoView:

Screenshot of example data imported to InfoView

The column "Row" is the unique identifier for this table: it is the only column that contains unique values in all 8 rows. For all other columns, rows A1-A4 repeat as A5-A8.

  • The field "String_Dimension" will have the data type string and the object type dimension in InfoView.
  • The field "Num_Measure" will have the data type number and the object type measure.
  • The field "Num_Dimension" will have the data type number but the object type dimension.
  • The field "Num_As_String_Dimension" will have a number saved as a data type string and then as an object type dimension.

These four repeating fields will illustrate how InfoView handles the different data types and object types in various situations.

Example Table in InfoView

We can confirm the above attributes by looking at the objects in the Available Objects data palette:

Screenshot of InfoView Available Objects data palette showing imported object types

By looking at the icons, we can see that all of our fields have saved as dimensions except for Num_Measure.

Note: To see the data type, hover your mouse over the field. A small description box will show up which also states the data type.

The following screenshot shows the full table in InfoView:

Screenshot of InfoView full example table of imported information

Because the uniqe Identifier, Row, is included in the table, all row repeats are showing. Further, a function row has been added to sum the rows in each column. (See the Function Rows Guide for information on how to do this).

Note that InfoView has only allowed a "sum" to occur on those columns that have the data type "number". The last column, the number saved with a string data type, will not allow that kind of math to be performed on it. The numbers in the columns are also alligned to the left, as text, instead of to the right as numbers.

Example Fields Alone in a Table

The difference between measures and dimensions will be especially clear when each field is shown as it's own non-contiguous table:

Screenshot of InfoView showing example columns as non-contiguous tables

Notice that all the fields that are dimensions are behaving the same way and that the measure is behaving differently. The dimensions, regardless of their data type, are displaying only unique values even though the table itself contains repeats. These repeats will only show when the unique identifer, Row, is included contiguously in each table.

The measure has "rolled up" completely by summing all of the contents, including the repeats, into a single cell without a header row. (The name is an empty cell added later to make sure the field is recognizable.)

Example Table with all Fields Except Row

The difference between measures and dimensions while working with numbers is clearer when the fields are shown contiguously in a table but without the unique identifier:

Screenshot of InfoView showing example data without the unique identifer

Note the difference between Num_Measure and Num_Dimension: For each row in the column String_Dimension, Num_Measure shows the repeated values added together and Num_Dimension is showing unique values. Therefore, even though both columns in the original table have exactly the same information in them, the sums for this table will come out differently.

Last Notes

Numbers are the most flexible: when they have the data type string, they can be saved as dimensions or measures, but can also be saved as strings.

In very specific circumstances, it is possible to save a string as a measure, but this is rare.

Detail

Detail objects are only rarely used in universes, but are useful tools when writing a report with mutliple queries. Detail objects are always associated with another object and they behave like the object they are details of.

In the universe, the detail objects are tucked up underneath their associated object and only reachable when the "+" next to the object is expanded:

Screenshot of InfoView detail object

Filters

Filter objects only appear in the Query Panel and can only be added to the Query Filters box. When added, they limit a report or add pre-defined prompts.

Screenshot of InfoView pre-defined filter