【问题标题】:How to display a cube data in charts in C# winform use MDX?如何在 C# winform 使用 MDX 的图表中显示立方体数据?
【发布时间】:2018-12-16 11:43:25
【问题描述】:

我想创建一个图表来展示来自mdx query 的数据。

我正在使用Adomd.net。我有 3 个维度的立方体 DateCustomerInternet Sales Fact

我正在使用AventureWorkDW2012。我想展示一年中每个季度的销售额,所以我的代码如下

string query=@"SELECT [Measures].[Sales Amount] ON COLUMNS,[Order Date].[Hierarchy].[Calendar Year].&[2013].Children ON ROWS
FROM [Adventure Works DW2012]"  
 AdomdCommand cmd = con.CreateCommand();
            cmd.CommandText = query;
            AdomdDataAdapter ad = new AdomdDataAdapter(query, con);
            DataTable dt = new DataTable();
            ad.Fill(dt);
            chart1.DataSource = dt;
            chart1.Series["Series1"].XValueMember = "[Measures].[Sales Amount]";
            chart1.Series["Series1"].YValueMembers = "[Order Date].[Hierarchy].[Calendar Year].&[2013].Children";

该代码给出错误

找不到名为“[订单日期].[层次结构].[日历年].&[2013].儿童”的列。

我刚刚发现错误是因为chart 刚刚从COLUMNS 读取数据而我的季度在ROWS

我的问题是如何打印出ROWS 上的值?

【问题讨论】:

  • 那么,DataTable 中的列名是什么样的?
  • @TaW 我用 datagridview 中的结果查询编辑了我的问题
  • 好吧,我的意思是数据表中的列名是什么?毕竟,该错误抱怨绑定调用中的名称不在数据表的列中。
  • @TaW 哦,谢谢我找到了问题,你是对的,我为列选择了错误的名称

标签: c# winforms cube adomd.net


【解决方案1】:

我发现了问题。图表实际上仍然在行中读取数据,但在列中显示它。我选择了错误的名称以显示为什么它无法读取 yvaluemembers。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    相关资源
    最近更新 更多