1

请看下面的代码:

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load

        Try
            Dim con As AdomdConnection = New AdomdConnection("Data Source=localhost;Catalog=Analysis Services Tutorial")

            Dim commandText As String = "select {[Measures].[Sales Amount] AS SalesAmount, [Measures].[Currency Key] as CurrencyKey } On COLUMNS, " & _
    "{[Customer].[Full Name].Members} ON Rows " & _
    ",{[Customer].[Birth Date].Members} ON Pages " & _
    "FROM [Adventure Works DW2012] "

            Dim cmd As AdomdCommand = New AdomdCommand(commandText, con)
            con.Open()
            Dim objDR As AdomdDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

            Dim strBuilder As New StringBuilder
            strBuilder.Append("<table>")
            strBuilder.Append("<tr><th>Birth Date</th><th>Full Name</th><th>Currency Key</th><th>Sales Amount</th></tr>")
            Dim intCount As Integer = 0
            While (objDR.Read())
                intCount = intCount + 1
                If intCount = 10 Then
                    Exit While
                Else
                    strBuilder.Append("<tr>")
                    strBuilder.Append("<td>" & objDR(0) & "</td>")
                    strBuilder.Append("<td>" & objDR(1) & "</td>")
                    strBuilder.Append("<td>" & objDR(2) & "</td>")
                    strBuilder.Append("<td>" & objDR(3) & "</td>")
                    strBuilder.Append("</tr>")
                End If
            End While
            strBuilder.Append("</table>")
            Dim str As String = strBuilder.ToString
            MsgBox("got here")

        Catch ex As Exception
            Console.Write(ex.ToString)
        End Try
    End Sub

输出如下:

在此处输入图像描述

ADOMD.NET 似乎可以处理多维查询,但是结果是扁平的。那是对的吗?

我问的原因是因为我在这里阅读了一些问题,这表明 ADOMD.NET 只能显示二维查询。

4

1 回答 1

1

正确的。ADOMD.net 只会以表格格式检索数据。

当命令运行查询时,ADOMD.NET 以 Resultset 格式返回结果,这是一种在 XML for Analysis 规范中描述的表格格式,以展平 AdomdDataReader 对象的数据。考虑到此类数据中的可变维度,在查询分析数据时,表格格式是不常见的。

从 AdomdDataReader 检索数据

于 2016-05-25T10:43:16.380 回答