SQL 查询未从 Google 图表生成报告
SQL Query Not generating report from Google Charts
我正在尝试显示一个条形图(来自 Google 图表),它应该显示每个教员的提交数量(计数)。在学院内,此计数分为 4 种提交类型(书籍、章节、期刊和会议)。当我 运行 报告时 < 我在返回查询时遇到错误。我想不通哪里出错了
@using WebMatrix.Data;
@using WebMatrix.WebData;
@{
ViewBag.Title = "Report_2";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@{
var db = Database.Open("RMSContext");
String rows = "";
var Query = ("SELECT Faculty.FacultyName, Submission.Type, Count(Submission.SubmissionID) AS CountOfSubmissionID FROM Submission INNER JOIN ((Faculty INNER JOIN School ON Faculty.FacultyID = School.[FacultyID]) INNER JOIN (Researcher INNER JOIN ResearcherSubmission ON Researcher.ResearcherID = ResearcherSubmission.ResearcherID) ON School.SchoolID = Researcher.SchoolID) ON Submission.SubmissionID = ResearcherSubmission.SubmissionID GROUP BY Faculty.FacultyName, Submission.Type;");
var AppQuery = db.Query(Query);
List<string> rowsList = new List<string>();
foreach (var item in AppQuery)
{
rowsList.Add("['" + item.FacultyName + "', " + item.Type + "', " + item.CountOfSubmissionID + "]");
};
rows = String.Join(", ", rowsList);
}
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1.1", { packages: ["bar"] });
google.setOnLoadCallback(drawChart);
function drawChart() {
var data1 = google.visualization.arrayToDataTable([
['FacultyName', 'Type', 'SubmissionID'],
@Html.Raw(rows)]);
var options = {
title: ''
};
var chart = new google.charts.Bar(document.getElementById('columnchart_material'));
chart.draw(data1, options);
}
</script>
<div id="columnchart_material" style="width: 800px; height: 500px;"></div>
下面是我的报告应该是什么样子的模拟:
看起来像 Material column chart。
您需要重新格式化您的数据,因为我已在此处硬编码...
google.load("visualization", "1.1", {packages:["bar"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Faculty', 'Journal Articles', 'Books', 'Book Chapters', 'Conference'],
['CLM', 3, 5, 1, 2],
['EBE', 0, 1, 2, 4],
['Health Sciences', 3, 3, 5, 2],
['Humanities', 1, 4, 2, 2],
['Science', 1, 1, 2, 1]
]);
var options = {
chart: {
title: 'Faculty Submissions',
subtitle: 'Types of research provided'
}
};
var chart = new google.charts.Bar(document.getElementById('columnchart_material'));
chart.draw(data, options);
}
我正在尝试显示一个条形图(来自 Google 图表),它应该显示每个教员的提交数量(计数)。在学院内,此计数分为 4 种提交类型(书籍、章节、期刊和会议)。当我 运行 报告时 < 我在返回查询时遇到错误。我想不通哪里出错了
@using WebMatrix.Data;
@using WebMatrix.WebData;
@{
ViewBag.Title = "Report_2";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@{
var db = Database.Open("RMSContext");
String rows = "";
var Query = ("SELECT Faculty.FacultyName, Submission.Type, Count(Submission.SubmissionID) AS CountOfSubmissionID FROM Submission INNER JOIN ((Faculty INNER JOIN School ON Faculty.FacultyID = School.[FacultyID]) INNER JOIN (Researcher INNER JOIN ResearcherSubmission ON Researcher.ResearcherID = ResearcherSubmission.ResearcherID) ON School.SchoolID = Researcher.SchoolID) ON Submission.SubmissionID = ResearcherSubmission.SubmissionID GROUP BY Faculty.FacultyName, Submission.Type;");
var AppQuery = db.Query(Query);
List<string> rowsList = new List<string>();
foreach (var item in AppQuery)
{
rowsList.Add("['" + item.FacultyName + "', " + item.Type + "', " + item.CountOfSubmissionID + "]");
};
rows = String.Join(", ", rowsList);
}
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1.1", { packages: ["bar"] });
google.setOnLoadCallback(drawChart);
function drawChart() {
var data1 = google.visualization.arrayToDataTable([
['FacultyName', 'Type', 'SubmissionID'],
@Html.Raw(rows)]);
var options = {
title: ''
};
var chart = new google.charts.Bar(document.getElementById('columnchart_material'));
chart.draw(data1, options);
}
</script>
<div id="columnchart_material" style="width: 800px; height: 500px;"></div>
下面是我的报告应该是什么样子的模拟:
看起来像 Material column chart。
您需要重新格式化您的数据,因为我已在此处硬编码...
google.load("visualization", "1.1", {packages:["bar"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Faculty', 'Journal Articles', 'Books', 'Book Chapters', 'Conference'],
['CLM', 3, 5, 1, 2],
['EBE', 0, 1, 2, 4],
['Health Sciences', 3, 3, 5, 2],
['Humanities', 1, 4, 2, 2],
['Science', 1, 1, 2, 1]
]);
var options = {
chart: {
title: 'Faculty Submissions',
subtitle: 'Types of research provided'
}
};
var chart = new google.charts.Bar(document.getElementById('columnchart_material'));
chart.draw(data, options);
}