如何使用 C# 代码从多维数据集获取度量值

How to get measure value from cube using c# code

我正在用 c# 编写代码,我想从多维数据集中检索度量值和日期。我写了下面的代码。

public class cubeData
{
    public void getData()
    {
        AdomdConnection con = new AdomdConnection("Data Source = <serverName>; Initial Catalog = <dbName>");
        con.Open();
        string command = @"Select [Measure].[Foo] on ROWS, [Date].AllMembers on Columns From SalesCube";
        AdomdCommand cmd = new AdomdCommand(con, command);
        AdomdDataReader dr = cmd.ExecuteReader();

        While(dr.Read())
        {
            Console.WriteLine(Convert.ToString(dr[0]);
        }
        dr.Close();
        con.Close();
    }
}

此代码returns只有日期不对应日期的度量值。 任何建议都会很有帮助。

提前致谢

尝试使用 Console.WriteLine(Convert.ToString(dr[3]) 获取度量值。我不确定您使用的是 Tabular/Multidimensional 多维数据集还是您所处的兼容级别,但我可以使用 MDX 命令从兼容级别 1200 的表格多维数据集访问度量数据 returns 等效结果集。

我已经有一段时间没有这样做了,但您可能需要展平返回结果集中的数据。数据可能会分布在您可能需要迭代的不同轴上。