Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server DataReader中的多维MDX查询_Sql Server_Vb.net_Mdx_Adomd.net - Fatal编程技术网

Sql server DataReader中的多维MDX查询

Sql server DataReader中的多维MDX查询,sql-server,vb.net,mdx,adomd.net,Sql Server,Vb.net,Mdx,Adomd.net,请参阅下面的代码: 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

请参阅下面的代码:

 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
Private Sub Form1\u Load(发送方作为对象,e作为事件参数)处理Me.Load
尝试
Dim con As AdomdConnection=新AdomdConnection(“数据源=本地主机;目录=分析服务教程”)
Dim commandText As String=“在列上选择{[Measures].[Sales Amount]作为SalesAmount,[Measures].[Currency Key]作为CurrencyKey},”&_
“{[Customer].[Full Name].Members}在行上”&_
“,{[Customer].[Birth Date].Members}页上的”&_
“摘自[Adventure Works DW2012]”
Dim cmd As ADOMDCOMAND=新ADOMDCOMAND(命令文本,con)
con.Open()
Dim objDR作为AdomdDataReader=cmd.ExecuteReader(CommandBehavior.CloseConnection)
Dim strBuilder作为新的StringBuilder
strBuilder.Append(“”)
strBuilder.Append(“出生日期全名货币键销售额”)
Dim intCount作为整数=0
While(objDR.Read())
intCount=intCount+1
如果intCount=10,则
退出时
其他的
strBuilder.Append(“”)
strBuilder.Append(“&objDR(0)&”)
strBuilder.Append(“&objDR(1)&”)
strBuilder.Append(“&objDR(2)&”)
strBuilder.Append(“&objDR(3)和”)
strBuilder.Append(“”)
如果结束
结束时
strBuilder.Append(“”)
Dim str As String=strBuilder.ToString
MsgBox(“到达这里”)
特例
Console.Write(例如ToString)
结束尝试
端接头
结果如下:

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


我之所以问这个问题,是因为我在这里读到了一些问题,这表明ADOMD.NET只能显示二维查询。

正确。ADOMD.net将仅检索表格格式的数据

当命令运行查询时,ADOMD.NET将在 Resultset格式,XML中描述的表格格式,用于 分析规范,用于展平AdomdDataReader的数据 对象查询分析数据时,表格格式是不常见的 考虑到这些数据中的可变维度