Chinaunix首页 | 论坛 | 博客
  • 博客访问: 537538
  • 博文数量: 576
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5020
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(576)

文章存档

2011年(1)

2008年(575)

我的朋友

分类:

2008-10-14 14:53:38

Office Web Components (version 10)

组件 描述
PivotTable 使用户连接到支持 OLE DB Provider for OLAP Services 8.0 或更高版的 OLAP 数据源上 (也可连接到 Excel 电子数据表单 和 SQL Server 、 Access 关系数据库)。PivotTable 控件允许用户对数据进行透视、分组、筛选和排序等操作。
Spreadsheet 提供电子数据表单用户接口,包括重算引擎和扩展函数库。
Chart 图形化显示来自某个绑定数据源、PivotTable 或 Spreadsheet 控件的数据。当 Chart 组件被绑定到 PivotTable 控件且用户重新透视数据时能自动刷新。
DataSource 管理与后台数据库服务器的通讯。PivotTable 和 Spreadsheet 组件实际上能单独连接到数据源,,不一定非得要 DataSource 组件。这是因为其 XML 数据可以直接包含 OLE DB 连接串。

PivotTable and Chart-related Objects

成员 描述
PivotTable 使用户连接到支持 OLE DB Provider for OLAP Services 8.0 或更高版的 OLAP 数据源上 (也可连接到 Excel 电子数据表单 和 SQL Server 、 Access 关系数据库)。PivotTable 控件允许用户对数据进行透视、分组、筛选和排序等操作。
PivotView 表示 PivotTable 的一个特定视图. 用于对 PivotTable 视图中的行、列、标尺、格式化进行设置。
PivotDataAxis 包含与数据轴相关的方法和属性
PivotResultColumnAxis 包含与列轴相关的方法和属性
PivotResultRowAxis 包含与行轴相关的方法和属性
PivotFieldSet 多维数据集中定义的字段集
PivotField 多维数据集中定义的字段
ChartSpace 使用户连接到支持 OLE DB Provider for OLAP Services 8.0 或更高版的任何 OLAP 数据源上,(也可连接到 Excel 电子数据表单和 SQL Server、Access 关系数据库)。ChartSpace 允许用户图形化显示数据并且将控件绑定到一个已存在的 PivotTable 或 Spreadsheet。
ChCharts ChChart 对象集合
ChChart ChartSpace 中的单个图表,一个ChartSpace 可容纳多达64个图表。

PivotTable Component's Programmatic Interface

成员 类型 描述
ActiveView 属性 表示一个活动的 PivotTable 布局。该属性返回一个 PivotView 对象。
ColumnAxis 属性 表示列轴中的字段。返回一个 PivotAxis 对象。
ConnectionString 属性 设置连接到 Analysis Services 服务器的连接字符串,ConnectionString 属性中的 DataSource 参数决定了 OWC 组件将要使用的连接协议。
DataAxis 属性 表示数据轴的规模。返回一个 PivotAxis 对象。
DataMember 属性 设置控件将要从 Analysis Services 请求的数据源名称。它与多维数据集同名。
IncludedMembers 属性 定义了 PivotField 内的数据成员。该属性接受的参数为单一成员或成员数组。
IsIncluded 属性 设置所包含的字段并激活 PivotFieldSet。
RowAxis 属性 表示行轴中的字段,返回 PivotAxis 对象。
XMLData 属性 设置或返回当前用于 PivotTable 报表控件的 XML 数据。有关报表的细节 (格式和数据) 均保存在 XML 数据中。也包括了 OLAP 连接详细信息。
AddCustomGroupField 方法 为指定的 PivotFieldSet 添加一个定制的分组字段。
AddCustomGroupMember 方法 为指定的 PivotFieldSet 添加一个定制的分组成员。
InsertFieldSet 方法 在行或列轴中插入一个字段集。
CommandExecute 事件 在某个命令执行之后触发,ChartCommandIdEnum 和PivotCommandId 常量包含用于每个 OWC 组件所支持的命令清单。
Query 事件 PivotTable 激活某个查询时触发。

Chart Component's Programmatic Interface

成员 类型 描述
DataSource 属性

 

为 Chart 控件定义数据源。当设置另一个控件(如:PivotTable 或 Spreadsheet)这样有效地绑定 Chart 控件到其它控件。
Type 属性

 

象 ChartChartTypeEnum 枚举所定义的那样定义图表类型,默认类型为条形图。

Connecting to an OLAP Data Source
function initializePivotTable(strDataMember) {    
    // This function calls the InitializePivotTableXML() Web 
    // method
    var iCallID = service.svcOLAP.callService    
        (onInitializePivotTableResult, 
         'InitializePivotTableXML',  
         strDataMember);
}

function onInitializePivotTableResult(result) {
    // This function handles the InitializePivotTableXML() 
    // Web method result
    text = result.value; // result string
    // Evaluate return result
    if (!result.error) {
        // Assign the XML to the PivotList XMLData value
        frm1.PivotTable1.XMLData = text;
    }
    else {
        alert("Unhandled error - " + result.errorDetail.code + 
              " " + result.errorDetail.string);
    }
}

Generate XMLData for a PivotTable Control
 Public Function InitializePivotTableXML(ByVal _
    strDataMember As String) As String

    Dim m_XML As String
    Dim strOLAPConn As String = _
      ConfigurationSettings.AppSettings("OLAPConnectionString")

    Try
        Dim objPT As PivotTableClass = New PivotTableClass
        objPT.ConnectionString = strOLAPConn
        objPT.DataMember = strDataMember
        m_XML = objPT.XMLData
        objPT = Nothing
    Catch err As Exception
        m_XML = "" & err.Source & " - " & err.Message & _
                ""
    Finally
    End Try
    Return (m_XML)
End Function

LoadCustomPivotTableReport Web Method
 Public Function LoadCustomPivotTableReport(ByVal _
    strCity1 As String, ByVal strCity2 As String) As String           
    Dim m_XML As String
    Dim strOLAPConn As String = _
      ConfigurationSettings.AppSettings("OLAPConnectionString")
    Dim objPT As PivotTableClass = New PivotTableClass
    Dim objPTView As PivotView
    Dim fldCity, fldName, fldProdFamily As PivotField
    Dim fSetCustomers, fSetProduct As PivotFieldSet

    Try
       objPT.ConnectionString = strOLAPConn
       objPT.DataMember = "Sales"
       objPT.AllowFiltering = False
       objPTView = objPT.ActiveView
       objPTView.TitleBar.Caption = "City Comparison of Drink 
       Sales"

         ' Define the column elements
objPTView.ColumnAxis.InsertFieldSet(objPTView.FieldSets("Time"))
objPTView.ColumnAxis.FieldSets("Time").Fields("Year").Expanded = True

    ' Define the row elements
    fSetCustomers = objPTView.FieldSets("Customers")
    objPTView.RowAxis.InsertFieldSet(fSetCustomers)
    fSetCustomers.Fields("Country").IsIncluded = False
    fSetCustomers.Fields("State Province").IsIncluded = False
    fSetCustomers.Fields("Name").IsIncluded = False

    ' Define the members of the row elements
    fldCity = fSetCustomers.Fields("City")
    fldCity.IncludedMembers = New Object() {strCity1, strCity2}

    ' Exclude all other field row members in the fieldset
    fSetProduct = objPTView.FieldSets("Product")
    objPTView.RowAxis.InsertFieldSet(fSetProduct)
    fSetProduct.Fields("Product Department").IsIncluded = False
    fSetProduct.Fields("Product Category").IsIncluded = False
    fSetProduct.Fields("Product Subcategory").IsIncluded =False
    fSetProduct.Fields("Brand Name").IsIncluded = False
    fSetProduct.Fields("Product Name").IsIncluded = False

    fldProdFamily = fSetProduct.Fields("Product Family")
    fldProdFamily.IncludedMembers = "Drink"

    ' Define the measures
objPTView.DataAxis.InsertTotal(objPTView.Totals("Store Sales"))
    objPTView.DataAxis.Totals("Store Sales").NumberFormat = _
    "Currency"
    ' Return the XML data to the client side script
    m_XML = objPT.XMLData

    objPT = Nothing
    Catch err As Exception
  m_XML = "" & err.Source & " - " & err.Message & ""
    Finally

    End Try

    Return (m_XML)
End Function

Load the XMLData for a Custom Report
function LoadSavedReport() {    
    // Purpose:  Call Web Service method to load the saved 
    // report
    var iCallID = service.svcOLAP.callService(onLoadSavedReportResult,
        'LoadSavedReport', 'OLAPReport1.xml');
    }
    
function onLoadSavedReportResult(result) {
// Purpose: This function handles the
// wsOLAP.onLoadSavedReportResult() Web Service result
var text = result.value; // result string
// Evaluate return result
if (!result.error) {
// Assign the XML to the PivotList XMLData value
        frm1.PivotTable1.XMLData = text;        
}
    }

JavaScript and VBScript Event Handler




Creating Custom Groups
 Public Function ApplyCustomGrouping(ByVal _
    strReportXMLData As String) As String

    Dim m_xml As String
    Dim objPT As PivotTableClass = New PivotTableClass
    Dim objPTView As PivotView
    Dim fsTime As PivotFieldSet
    Dim fsHalfYear As PivotField

Try
    objPT.XMLData = strReportXMLData
    objPTView = objPT.ActiveView

    ' Set a variable to the Time field set. 
    fsTime = objPTView.FieldSets("Time")

    ' Add a custom group field named "Group1" to the Time field 
    ' set. 
    fsHalfYear = fsTime.AddCustomGroupField("CustomGroup1", _
        "CustomGroup1", "Quarter")

    ' Add a custom field set member. This member includes all 
    ' "Q1" and "Q2" members under 1997. 
    fsHalfYear.AddCustomGroupMember _
        (fsTime.Member.ChildMembers("1997").Name, _
        New Object() {"Q1", "Q2"}, "1stHalf")

    ' Add another custom fieldset member to include all "Q3" 
    ' and "Q4" members under 1997. 
    fsHalfYear.AddCustomGroupMember _
        (fsTime.Member.ChildMembers("1997").Name, _
        New Object() {"Q3", "Q4"}, "2ndHalf")

    ' Collapse the fieldset at the custom member level
    fsHalfYear.Expanded = False

    m_xml = objPT.XMLData
    objPT = Nothing

Catch err As Exception
    m_xml = "" & err.Source & " - " & err.Message & _ 
            ""
Finally

End Try

Return (m_xml)
End Function


--------------------next---------------------

阅读(380) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~