Blend Data in Analytic Applications

As an application designer, with Linked Dimensions you can join a primary model with secondary ones that contain common dimensions in your analytic application. You can therefore create visualizations with blended data source, as well as filters that can simultaneously update all the charts and tables.

Blending is available in both analytic applications and stories. Only the specifics in analytics designer are listed here. For more background information, prerequisites and steps about blending, refer to Blend Data.

Restrictions

All the restrictions in stories are applicable to analytic applications as well. Also refer to Blend Data.

In addition, the following features in analytic applications are not yet supported for blending:

  • universal model
  • filter line
  • data point comment
  • navigation panel

Notes about Scripting

  • Currently, the APIs and value help only work on primary model of blended chart or table, while secondary models aren’t supported. For example, you can’t use setDimensionFilter to filter dimension members in a secondary model.
  • For blended charts or tables, the IDs of dimensions and measure members contain modelId. Therefore, when you need to use the output from one API as the input parameter for the consequent one, remember to check whether the dimension IDs in the two APIs match.

  • Calculated measures don’t belong to either primary or secondary models, so they don’t have modelId but UUID.
  • The value help for blended charts or tables doesn’t return modelID. We suggest printing the chart or table selection to the browser console to get the full ID.

    Example
    You’d like to use the product selections in Table_3, which is a blended table, to filter data in Table_1, which uses a single model. The value help for the product dimension doesn’t include the modelID, so you need to use console.log to get the right ID.
    Sample Code
    var sel = Table_3.getSelections();
    console.log(sel);
    var products =ArrayUtils.create(Type.string);
    for (var i =0 ; i < sel.length; i++){	
    	//The value help doesn’t include the modelId, which is wrong.		//products.push(sel[i]["0D_FC_PH2"]);	
    	products.push(sel[i]['@{["t.H:C3X4VAAY0IWGHRZLRCHLA67DVK","0D_FC_PH2"]}']);	
    }
    Table_1.getDataSource().setDimensionFilter("0D_FC_PH2", products);

Unsupported APIs

The following APIs are not yet supported for blending:

  • All APIs related to planning
  • All APIs related to navigation panel
  • All APIs related to comment
  • All APIs related to data explorer
  • Chart.getDataSource().SetDimensionFilter(), Chart.getDataSource().RemoveDimensionFilter()
  • DataSource.copyDimensionFilterFrom(), DataSource.copyVariableValueFrom()
  • Table.sortByMember(), Table.sortByValue(), Table.removeSorting()
  • Table.rankBy(), Table.removeRanking()
  • Table.setBreakGroupingEnabled()