Starting with the release of Strategy ONE (March 2024), dossiers are also known as dashboards.
Note: Starting in Strategy 2021 Update 9, Databricks' Unity Catalog is supported and the SQL customizations mentioned below are no longer necessary. Use the Retrieval Mode, ODBC Calls, to browse Unity Catalog instead.
In Strategy 2021 Update 8 and older, Databricks' Unity Catalog is not certified. Therefore, this article describes a set of configurations necessary to access Unity Catalog.
Make the following configuration changes:
By default, MicroStategy has Databricks set with unified quoting enabled in a "'#0'" pattern, which adds backticks to table names in SQL. To resolve this issue, you must change the unified quoting pattern to remove the backticks.
C:\Program Files (x86)\Common Files\MicroStrategy\DATABASE.PDSfor editing.
<PROPERTY NAME="Unified Quoting Pattern" VALUE="'#0'" />
<PROPERTY NAME="Unified Quoting Pattern" VALUE="#0" />



DBProperties.xmlfor editing.
/apache-tomcat-9.0.45/webapps/MicroStrategy/WEB-INF/xml/DBProperties.xml.
<dbtype catsql="0" disp="1" n="Databricks" v="15100">
<dbtype catsql="1" disp="1" n="Databricks" v="15100">

Since you are using data source SQL to fetch catalog info, you must add the data mapping information so the column data type is detected.
DTMapping.PDSin
C:\Program Files (x86)\Common Files\MicroStrategy\. For Linux, locate this file in the Strategy installation home path.
DTMapping.PDSfor editing.
<ABELL_TO_MSI>section.
<DATABASE NAME="DB_TYPE_NEWDB_71" VERSION="345" MDTYPE="MD_CATALOG"> <!-- DATABRICKS --> <ABELL TYPE="bigint" MSITYPE="DssDataTypeInt64" PRECISION="8" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="long" MSITYPE="DssDataTypeInt64" PRECISION="8" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="tinyint" MSITYPE="DssDataTypeInteger" PRECISION="1" SCALE="DDT_BIT_PRECISION" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="char" MSITYPE="DssDataTypeChar" PRECISION="DDT_NULL_PRECISION" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="decimal" MSITYPE="DssDataTypeDecimal" PRECISION="10" SCALE="0" PRECISION_SCALE="NONE"/> <ABELL TYPE="real" MSITYPE="DssDataTypeDouble" PRECISION="DDT_NULL_PRECISION" SCALE="DDT_BIT_PRECISION" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="double" MSITYPE="DssDataTypeDouble" PRECISION="DDT_NULL_PRECISION" SCALE="DDT_BIT_PRECISION" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="float" MSITYPE="DssDataTypeFloat" PRECISION="DDT_NULL_PRECISION" SCALE="DDT_BIT_PRECISION" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="int" MSITYPE="DssDataTypeInteger" PRECISION="4" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="smallint" MSITYPE="DssDataTypeInteger" PRECISION="2" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="string" MSITYPE="DssDataTypeVarChar" PRECISION="32767" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="timestamp" MSITYPE="DssDataTypeTimeStamp" PRECISION="DDT_NULL_PRECISION" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="varchar" MSITYPE="DssDataTypeVarChar" PRECISION="DDT_NULL_PRECISION" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="boolean" MSITYPE="DssDataTypeBinary" PRECISION="1" SCALE="DDT_BIT_PRECISION" PRECISION_SCALE="LENGTH"/> <ABELL TYPE="date" MSITYPE="DssDataTypeDate" PRECISION="DDT_NULL_PRECISION" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="NONE"/> <ABELL TYPE="binary" MSITYPE="DssDataTypeVarBin" PRECISION="DDT_NULL_PRECISION" SCALE="DDT_NULL_SCALE" PRECISION_SCALE="LENGTH"/> </DATABASE>
You can create a connection to Databricks with Unity Catalog from Strategy Web, add tables to build a data import cube, and then create a report or dossier against the cube.




select catalog_name || '.'|| schema_name as NAME_SPACE from system.information_schema.schemata where catalog_name = "xxx"
select table_catalog || '.' || table_schema as NAME_SPACE, TABLE_NAME TAB_NAME from system.information_schema.tables where table_catalog = "xxx"
select table_catalog || '.' || table_schema as NAME_SPACE, TABLE_NAME TAB_NAME, column_name COL_NAME, data_type DATA_TYPE,
CASE WHEN data_type = 'TINYINT' THEN 1
WHEN data_type IN ('BIGINT', 'LONG','DOUBLE') THEN 8
WHEN data_type IN ('INT','FLOAT') THEN 4
WHEN data_type IN ('SMALLINT') THEN 2
ELSE -1 END AS data_len
from system.information_schema.columns where table_catalog = "xxx"Browse into the catalog you set in the previous procedure, then load your tables and create data import cubes.
In this procedure, you will:
See Create and Edit Data Sources to create a new Databricks data source in Workstation. The data source created here uses JDBC. Make sure to add the project you want to use to this data source before saving the data source.

select catalog_name || '.'|| schema_name as NAME_SPACE from system.information_schema.schemata where catalog_name = "xxx"
select table_catalog || '.' || table_schema as NAME_SPACE, TABLE_NAME TAB_NAME, column_name COL_NAME, data_type DATA_TYPE,
CASE WHEN data_type = 'TINYINT' THEN 1
WHEN data_type IN ('BIGINT', 'LONG','DOUBLE') THEN 8
WHEN data_type IN ('INT','FLOAT') THEN 4
WHEN data_type IN ('SMALLINT') THEN 2
ELSE -1 END AS data_len
from system.information_schema.columns where table_catalog = "xxx"See View Schema Information for more details.


catalog_name>.<schema_name>format.

You can now create schema objects, such as attributes and metrics, in Workstation. See Manage Objects for more information.