WebDataRocks数据透视表行、列、度量的标题(Caption)问题
数据本地化:WebDataRocks中的Caption配置问题解答
我来逐个拆解你关于WebDataRocks中数据本地化(标题Caption)的三个问题,结合实际配置给你解决方案:
问题1:如何为未包含在slice对象中的字段设置标题(Caption)?
Slice对象里的Caption配置只针对当前已经添加到报表行、列、度量中的字段生效。如果要给未被当前slice使用的字段设置本地化标题,你需要在数据源的mapping属性里全局定义字段的Caption,或者通过setOptions方法动态配置所有字段的显示名称。
举个修改后的代码示例,我们给所有字段提前配置好本地化Caption:
var pivot = new WebDataRocks({ container: "#wdr-component", toolbar: true, height: 395, report: { dataSource: { filename: "data.csv", // 全局配置所有字段的Caption,不管是否在slice中 mapping: { "Category": { caption: "Category_Localized" }, "Color": { caption: "Color_Localized" }, "Price": { caption: "Price_Localized" }, // 其他未在slice中的字段也可以在这里配置 "Country": { caption: "Country_Localized" } } }, "slice": { "rows": [{ "uniqueName": "Category" // 这里可以不用重复写caption,会继承mapping里的配置 } ], "columns": [{ "uniqueName": "Color" }], "measures": [{ "uniqueName": "Price", "aggregation": "sum" } ] } } });
如果需要动态修改,也可以用setOptions方法:
pivot.setOptions({ report: { dataSource: { mapping: { "Country": { caption: "New_Country_Localized" } } } } });
问题2:为何在工具栏→字段→所有字段→任意度量字段路径下,标题(Caption)会被忽略?
工具栏的「所有字段」面板展示的是数据源原始字段信息,默认不会读取slice里的Caption配置——因为slice的配置只作用于当前报表已使用的字段显示。
要让这个面板里的度量字段显示本地化Caption,你需要在dataSource.mapping里给对应度量字段配置Caption(就像问题1里的示例那样),这样「所有字段」面板里的字段名称就会自动替换成你设置的本地化标题了。
问题3:为何在添加计算值(工具栏→字段→添加计算值→任意行或列字段)的过程中,标题(Caption)会被忽略?
添加计算值时,界面默认会调用字段的uniqueName(原始数据源名称)来显示,而不是slice里的Caption。解决这个问题有两个思路:
- 提前全局配置字段Caption:在
dataSource.mapping里给行/列字段配置好本地化标题,这样在添加计算值的界面中,字段就会显示你设置的Caption了。 - 创建计算值时手动指定Caption:在定义计算度量时,直接给计算值设置Caption,示例如下:
// 手动添加计算值并设置本地化标题 pivot.addCalculatedMeasure({ uniqueName: "Calculated_Price", formula: "sum(Price) * 1.1", caption: "Calculated_Price_Localized", aggregation: "sum" });
内容的提问来源于stack exchange,提问作者vebvinas
相关产品推荐
相关产品推荐

