繁体   English   中英

具有SQL Server 2012中数据的动态Sankey图

[英]Dynamic Sankey diagram with data from SQL server 2012

请就以下要求向我提出建议。

我的要求是创建一个从SQL Server数据生成的动态Sankey图。 例如,当用户单击一个下拉列表时,该下拉列表应作为输入传递到SQL Server数据库,并将返回用于构建Sankey图表的数据。 我研究发现,可以从CSV数据和Json数据生成Sankey。 我正在考虑从SQL Server提取数据并将其转换为Json,然后将此Json作为生成Sankey图的输入。 我正在尝试在PHP或asp.net中构建它,并为Sankey使用javascript的d3插件。

请让我知道这是唯一的方法还是可以通过SQL对Sankey进行编程的任何其他方法。 感谢您花费时间和精力阅读该帖子,并在此先感谢您的帮助。

感谢和问候,Sathappan Ramanathan

JS :(仅限IE)

// STEP 1: Initialize a new ActiveXObject for the SQL Server connection.
var connection = new ActiveXObject("ADODB.Connection") ;

// Your connection string: and this is the reason why you shouldn't do this
// in live website, "everyone has access to this connection string".
// replace the values within "<>" to your values.
var your_connection_string = "Data Source=<SQL Server (IP or host)>;Initial Catalog=<your catalog (a.k.a Database)>;User ID=<your username>;Password=<your password>;Provider=SQLOLEDB";

// STEP 2: Now open the connection using the connection string above.
connection.Open(your_connection_string);

// STEP 3: Initialize a new activeX object, this time for a recordset,
// so we can read data from database.
var rs = new ActiveXObject("ADODB.Recordset");

// STEP 4: Manipulate your data the way you want.
rs.Open("SELECT * FROM <your table>", connection);
rs.MoveFirst
while(!rs.eof)
{
document.write(rs.fields(1));
rs.movenext;
}

// STEP 5: be nice and Finalize the recordset and the connection.
rs.close;
connection.close;

工作连接字符串(在SQL 2008R2上进行测试,2014年集成安全性):

 var connectionstring1 = "Data Source=servername\\instancename;Initial Catalog=DBname;Integrated Security=SSPI;Provider=SQLOLEDB";

我想出了为Sankey图动态提取数据的方法。 d3插件使用了一个名为d3.json的函数,在该函数中,我们必须提供文件URL,而不是使用该函数,如果我们将json放在php变量中,然后将该变量传递给'Graph'变量,则它将从变量中提取数据,从而找出动态sankey。感谢专家的帮助。这使我找到了解决方案。

我已经编写了一个php程序,并将数据放在Mydata变量中,然后将此变量调用到graph节点。 //加载数据-从php代码的'Mydata'变量中获取数据,并在我们的graph变量中使用它。我们应该在?前面添加< 在PHP中

var graph =?php echo($ Mydata);?>;

最好的问候,Sathappan Ramanathan

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM