# Metadata properties reference

This section contains the metadata properties reference.

## Out-of-the-box properties

The table below shows the properties that are provided with Pentaho Metadata Editor. Localized properties are indicated with an asterisk ( \* ) character.

| ID                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                             | Category              | Values                                                                                                                                   |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**\*                  | This property describes the display name for the business object.                                                                                                                                                                                                                                                                                                                                                                       | **General**           | Alphanumeric                                                                                                                             |
| **Description**\*           | A descriptive text entry describing the business object.                                                                                                                                                                                                                                                                                                                                                                                | **General**           | Alphanumeric                                                                                                                             |
| **Comments**\*              | Additional comments regarding the business object.                                                                                                                                                                                                                                                                                                                                                                                      | **General**           | Alphanumeric                                                                                                                             |
| **Security Information**    | Security rules for granting/restricting access to the business object.                                                                                                                                                                                                                                                                                                                                                                  | **General**           | Determined by security widget; see [Metadata security](/pba-metadata-editor/metadata-security-pentaho-metadata-editor-cp.md).            |
| **Font**                    | The font properties to apply to this business object.                                                                                                                                                                                                                                                                                                                                                                                   | **Formatting**        | Determined by selections in the font dialog box.                                                                                         |
| **Color of Text**           | The foreground or text color for the business object.                                                                                                                                                                                                                                                                                                                                                                                   | **Formatting**        | Determined by selections in the color dialog box.                                                                                        |
| **Text Alignment**          | The text alignment for the business object.                                                                                                                                                                                                                                                                                                                                                                                             | **Formatting**        | **Left**, **Right**, **Centered**, **Justified**                                                                                         |
| **Color of Background**     | The background color for the business object.                                                                                                                                                                                                                                                                                                                                                                                           | **Formatting**        | Determined by selections in the color dialog box                                                                                         |
| **Relative Size**           | This property is normally associated with business tables and is used to calculate join paths. The sum of all table relative sizes in a path are calculated when deciding on a multi-table join and the multi-table join with the smallest summed value is used for the join path.                                                                                                                                                      | **Formatting**        | Numeric                                                                                                                                  |
| **Aggregation Rule**        | Determines the method of aggregating the data from this business object.                                                                                                                                                                                                                                                                                                                                                                | **Model Descriptors** | **None**, **Sum**, **Count**, **Distinct Count**, **Minimum**, **Maximum**                                                               |
| **Data Type**               | Data type for this business object.                                                                                                                                                                                                                                                                                                                                                                                                     | **Model Descriptors** | **Unknown**, **String**, **Date**, **Boolean**, **Numeric**, **Binary**, **Image**, **URL**, and **Length** and **Precision** (Integers) |
| **Field Type**              | The type or relationship purpose this field serves.                                                                                                                                                                                                                                                                                                                                                                                     | **Model Descriptors** | **Other**, **Dimension** ,**Fact**, **Key**, **Attribute**                                                                               |
| **Table Type**              | Table type is used to automatically determine relationship types with other tables. For instance, if a **Fact** table is joined with a **Dimension** table, this is normally an **N to 1** relationship.                                                                                                                                                                                                                                | **Model Descriptors** | **Other**, **Dimension**, **Fact**                                                                                                       |
| **Formula**                 | This property allows you to create a calculation defining the business object. See [Pentaho metadata formulas](/pba-metadata-editor/pentaho-metadata-formulas-pentaho-metadata-editor-cp.md) for more information.                                                                                                                                                                                                                      | **Calculation**       | Alphanumeric                                                                                                                             |
| **Is the Formula Exact?**   | <p>Determines whether the formula entered in the <strong>Value</strong> field in the <strong>Formula</strong> section is parsed by the Metadata Editor or if it is sent exactly as entered to the database:</p><ul><li>When this check box is selected, then the formula is sent to the database exactly as entered for processing.</li><li>When this check box is cleared, then the formula is parsed as a metadata formula.</li></ul> | **Calculation**       | Boolean                                                                                                                                  |
| **Column Width**            | The width of the column as represented for display.                                                                                                                                                                                                                                                                                                                                                                                     | **Miscellaneous**     | **Pixels**, **Percent of Page Width**, **Inches**, **Centimeters**, **Points**, and Integer                                              |
| **Hidden For the User?**    | Hides the object from being displayed in the **Business View** of the model.                                                                                                                                                                                                                                                                                                                                                            | **Miscellaneous**     | Boolean                                                                                                                                  |
| **Mask for Number or Date** | The format mask to use when the data for this object is displayed. For dates, the format follows the date/time patterns for a Java [SimpleDateFormat](http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html) format mask. For numbers, the pattern should follow the Java [DecimalFormat](http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html) format mask.                                        | **Miscellaneous**     | Alphanumeric                                                                                                                             |
| **Target Schema**           | Defines the database schema to use when querying the business object.                                                                                                                                                                                                                                                                                                                                                                   | **Miscellaneous**     | Alphanumeric                                                                                                                             |
| **Target Table**            | Defines the physical database table from which the business object is defined.                                                                                                                                                                                                                                                                                                                                                          | **Miscellaneous**     | Alphanumeric                                                                                                                             |

## Custom properties

You can define any number of custom properties. You must give your property an **ID** to set its type.

* String
* Date
* Numeric Value
* Color
* Font
* Type of Field
* Type of Aggregation
* Boolean
* Field Data Type
* Localized String
* Type of Table
* URL
* Metadata Security
* Text Alignment
* Column Width
* Data Constraints
* Optional Aggregations

### Custom table joins

You can also use a custom property to create table joins in Metadata Editor. To do this, you must define the custom property as **path\_build\_method** with a valid value. The following table defines the valid values for custom table joins:

| Value             | Description                                                                                                       |
| ----------------- | ----------------------------------------------------------------------------------------------------------------- |
| **ALL**           | Use all tables and joins.                                                                                         |
| **ANY\_RELEVANT** | Use all joins that lead to any used table even if there is more than one path.                                    |
| **CLASSIC**       | Use the old generation method.                                                                                    |
| **FIRST\_SHORT**  | Returns the first path that only contains no duplicate joins between tables.                                      |
| **LOWEST\_SCORE** | Returns a path that chooses all joins that will create the smallest score based on the estimated size of a table. |
| **SHORTEST**      | (Default) Returns a path connecting every required table with the smallest number of joins.                       |

The generator defaults to **SHORTEST** if the property is not found in the model.

If this is determined to be too risky, then a Boolean value can be toggled in SqlGenerator or SQLGenerator to **preferClassicShortestPath** when set to **true**. Both classes will use **CLASSIC** if no setting is found in the model.

## Required properties per business object

The table below contains the required properties for given business objects. Required properties cannot be deleted.

| **ID**                      | Physical Table | Physical Column | Business Category | **Business Model** |
| --------------------------- | -------------- | --------------- | ----------------- | ------------------ |
| **Name**                    | Required       | Required        | Required          | Required           |
| **Description**             | Required       | Required        | Required          | Required           |
| **Security Information**    | Not required   | Not required    | Required          | Required           |
| **Table Type**              | Required       | Not required    | Not required      | Not required       |
| **Relative Size**           | Required       | Not required    | Not required      | Not required       |
| **Formula**                 | Not required   | Required        | Not required      | Not required       |
| **Field Type**              | Not required   | Required        | Not required      | Not required       |
| **Data Type**               | Not required   | Required        | Not required      | Not required       |
| **Aggregation Rule**        | Not required   | Required        | Not required      | Not required       |
| **Is the Formula Exact?**   | Not required   | Required        | Not required      | Not required       |
| **Hidden for the User?**    | Not required   | Required        | Not required      | Not required       |
| **Font**                    | Not required   | Not required    | Not required      | Not required       |
| **Mask for Number or Date** | Not required   | Not required    | Not required      | Not required       |
| **Color of Text**           | Not required   | Not required    | Not required      | Not required       |
| **Color of Background**     | Not required   | Not required    | Not required      | Not required       |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pentaho.com/pba-metadata-editor/metadata-properties-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
