我用VBScript在QLikView中创建了一个数据透视表:
sub cleanUp()
set sheet = ActiveDocument.Sheets("Summary")
set summaryTable = sheet.CreatePivotTable
summaryTable.addDimension "Product Group Desc"
summaryTable.addDimension "Product Type Desc"
summaryTable.addDimension "Product Sub Group Desc"
summaryTable.addDimension "Country"
summaryTable.addDimension "ZoneMgrName"
summaryTable.addExpression "Sum({<[Fiscal Year]={$(vCurrentYear)}>}
[Sales Amount])"
set props = summaryTable.getProperties
set expr = props.Expressions.Item(0).Item(0).Data.ExpressionVisual
expr.Label.v = "Expenses $(vCurrentYear)"
expr.NumAdjust = 1 'center
expr.LabelAdjust = 1 'center
summaryTable.SetProperties props
end sub
此外,我想创建用作维度的新字段。到目前为止,这些字段还没有在我的QLikView文档中。这些字段的值链接到其他字段的值。假设我的数据透视表中有一个字段Country。我想添加一个新的字段"区域",其中包含国家所属区域的名称。因此,该字段的值将是返回给定国家/地区的函数的返回值。
这取决于你的"查找"数据是如何被访问的(无论它是驻留在你的QlikView文档中,还是在外部),但是你可以自由地通过addDimension
方法向你的枢轴添加计算维度。例如:
summaryTable.addDimension "=if(Country='France', 'EU', 'non-EU')"
您可以使用任何可以为您的维度返回有意义的值的正常表达式。
如果您希望命名维度,您可以使用addDimension
的返回值如下:
dimensionNum = summaryTable.addDimension("=if(Country='France', 'EU', 'non-EU')")
set tableProperties = summaryTable.getProperties
set calcDim = tableProperties.Dimensions.Item(dimensionNum-1)
calcDim.Title.v = "Area"
summaryTable.SetProperties tableProperties