0

我正在尝试创建一个包含两个组件的仪表板:CCC 条形图和多选组件。

我使用乘法选择组件来分配参数值,它在数据源中使用。(MDX 查询):

SELECT
    NON EMPTY {[Measures].[doc_count]} ON COLUMNS,
    NON EMPTY {[Dimension Usage date_publish.Hierarchy date_publish].[date_publish].Members} ON ROWS
    FROM [Docs]
    WHERE CrossJoin({${param_hosts}}, {[event].[active]})

value array因此,如果我使用 pairs: 设置 (multiply select component) 属性( {arg:[host].[news.com] value:news.com}, {{arg:[host].[somesite.com] value:somesite.com}} ),则一切正常。该参数被绑定到组件接收到的正确值,例如:[host]. [News.com], [host]. [Somesite.com].

但是,如果我尝试从数据源中填充多重选择组件,它将变得不可行。作为数据源,我使用sql over sqlJndiwith 查询:SELECT distinct (host) as Id, concat ('[host]. [', Host, ']') as Value FROM docs_fact where dim_event_id = 1;

此查询的结果是一个表:

id              value
news.com     | [host].[news.com]
somesite.com | [host].[somesite.com]

参数被赋值:news.com, somesite.com

更改Value as idonly 的属性会影响将向用户显示哪些字段(id 或 value),并且参数的值不受影响。

请告诉我,是否可以指定哪些列用于向用户显示以及哪些列用于生成结果?

4

1 回答 1

3

不可以,但是您可以使用多选组件上的 postFetch 函数在客户端更改数据集。

function (dataset) {

    for (var i=0; i < dataset.resultset.length; i++) {
        var temp = dataset.resultset[i][0];
        dataset.resultset[i][0] = dataset.resultset[i][1];
        dataset.resultset[i][1] = temp;
    }

    return dataset; 
}

或类似的

于 2013-09-10T16:21:23.327 回答