Different types of DBR

Similar to TM1 and Excel, Canvas has adopted a cell based approach to application design.  This means each cell in Canvas has its own DBR formula to retrieve and to update TM1. 

There are 4 different types of DBR:

tm1-ui-dbr

A DBR-like implementation for retrieving cube data from TM1. You need to use this directive to build a data entry template. This is the only directive with the write back feature.

TM1-UI-DBR-Hidden

A DBR-like implementation for retrieving cube data from TM1 that is hidden and to be used with ng-model to retrieve cube values. For example, if you need a value to suppress zero, you can use this directive to get a value which will not be displayed in your page. The advantage of using tm1-ui-dbr-hidden instead of tm1-ui-dbr is that if there is a picklist in the cell, tm1-ui-dbr-hidden will retrieve only the value instead of the all picklist.

tm1-ui-dbr-read-only

A DBR-like implementation for retrieving cube data from TM1 that is always read-only and to be used with ng-model to retrieve cube values.

tm1-ui-dbr-read-only has been created in order to make your Canvas page even faster. For example, it will not retrieve any picklist values as compared to the tm1-ui-dbr which retrieves not just the values, but also the whole picklist options.

When you build a dashboard where you do not need to input data, it is recommended to use tm1-ui-dbr-read-only.

Using tm1-ui-dbr with the attribute tm1-read-only=”true” or  tm1-ui-dbr-read-only will display the same thing on your Canvas page but the difference is that  tm1-ui-dbr-read-only is much faster.

tm1-ui-dbr vs tm1-ui-dbr-hidden and tm1-ui-dbr-read-only

Some tm1-ui-dbr functionalities have been removed and recreated into tm1-ui-dbr-hidden and tm1-ui-dbr-read-only. These 2 directives are much lighter and make the rendering of an HTML page faster:

<tm1-ui-dbr
       tm1-instance="{string}"
       tm1-cube="{string}"
       tm1-elements="{string}"
       [tm1-comment-cube="{string}"]
       [tm1-comment-elements="{string}"]
       [tm1-comment-format-html-buttons="{Array}"]
       [tm1-picklist-radio="{vertical|horizontal}"]
       [tm1-multi-line="{string}"]
       [tm1-read-only="{boolean}"]
       [tm1-comment-read-only="{boolean}"]
       [tm1-data-decimal="{string}"]
       [tm1-default-empty="{string}"]
       [tm1-placeholder="{string}"]
       [tm1-date-option="{object}"]
       [tm1-format-percentage="{boolean}"]
       [tm1-format-parenthesis="{boolean}"]
       [tm1-format-html="{boolean}"]
       [tm1-format-html-popup="{boolean}"]
       [tm1-hide-reference="{boolean}"]
       [tm1-hide-comment="{boolean}"]
       [tm1-hide-spread="{boolean}"]
       [tm1-format-html-buttons="{Array}"]
       [tm1-validate="{string}"]
       [tm1-validate-message="{string}"]
       [tm1-ui-class="{string}"]
       [tm1-consol-input="{boolean}"]
       [tm1-consol-input-spread-method="{string}"]
       [tm1-before-update="{function}"]
       [tm1-drill-model="{object}"]
       [tm1-api="{object}"]
       [tm1-change="{function}"]
       [ng-model="{object}"]>
</tm1-ui-dbr>
<tm1-ui-dbr-hidden
       tm1-instance="{string}"
       tm1-cube="{string}"
       tm1-elements="{string}"
       [ng-model="{object}"]
       [tm1-data-decimal="{string}"]>
</tm1-ui-dbr-hidden>
<tm1-ui-dbr-read-only
       tm1-instance="{string}"
       tm1-cube="{string}"
       tm1-elements="{string}"
       [tm1-comment-cube="{string}"]
       [tm1-comment-elements="{string}"]
       [tm1-comment-format-html-buttons="{Array}"]
       [tm1-comment-read-only="{boolean}"]
       [tm1-hide-reference="{boolean}"]
       [tm1-hide-comment="{boolean}"]
       [tm1-hide-spread="{boolean}"]
       [tm1-ui-class="{string}"]
       [tm1-drill-model="{object}"]
       [ng-model="{object}"]>
</tm1-ui-dbr-read-only>

TM1-UI-DBR-IMAGE

A DBR-like implementation for retrieving cube data containing paths to images uploaded via tm1-ui-upload from TM1.