这是我的ajax,当数组有数据时,它被作为函数调用.
function sendDataToController() {
$.ajax({
type: 'POST',
url: '/Home/Results',
cache: false,
traditional: true,
contentType: "application/json",
data: { FormData : exampleFormData },
success: function (data) {
alert("sent data to controller")
},
error: function (data) {
alert("Error " + data.responseText);
}
});
}
Run Code Online (Sandbox Code Playgroud)
该数组如下所示:
var exampleFormData = [];
Run Code Online (Sandbox Code Playgroud)
并且JSON目前看起来像这样有一些更多的数据,但缩短了显示目的.
"[{\"Birthdate\":\"1947-03-21\",\"ROWID\":\"000001\",\"SpecCodes\":\"987654\"}]"
Run Code Online (Sandbox Code Playgroud)
在使用ajax发送到控制器之前,此JSON被多次推入阵列.
exampleFormData.push(jsonData);
Run Code Online (Sandbox Code Playgroud)
传入此控件的控件如下所示:
public ActionResult Results(string exampleFormData)
{
var formDataList = JsonConvert.DeserializeObject<List<SampleFormData>>(exampleFormData);
return View();
}
Run Code Online (Sandbox Code Playgroud)
这里是模拟"SampleFormData"列表的类
public class SampleFormData
{
public string Birthdate { get; set; }
public string ROWID { get; …Run Code Online (Sandbox Code Playgroud) 我首先使用实体框架代码并添加了一个类,该类具有类的列表,其中类还必须具有另一个类列表,但是当我尝试通过迁移对数据库进行更新时,我得到:
SubscaleScore类型属性"SubscaleStatistics"上的ForeignKeyAttribute无效.在依赖类型"SubscaleScore"上找不到外键名称"SubscaleStatisticsId".Name值应该是以逗号分隔的外键属性名称列表.
这是我的课程的样子:
public class ExamStatistics : StatisticsData
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public int TestId { get; set; }
public IList<SubscaleStatistics> Subscales { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
public class SubscaleStatistics
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int SubscaleStatisticsId { get; set; }
public int TestId { get; set; }
public int SubscaleNumber { get; set; }
public int ExamStatisticsId { get; set; }
[ForeignKey("ExamStatisticsId")]
public virtual ExamStatistics ExamStatistics { get; set; }
public IList<SubscaleScore> SubscaleScores …Run Code Online (Sandbox Code Playgroud) 我正在尝试对在旧程序上完成的计算进行逆向工程,但无法完全理解。我需要计算顶部 27%、中间 46% 和底部 27% 中有多少值。
我有以下数据集,每个数据集都有 11 个值,以及程序产生的百分比和落入这些百分位数的值的数量。
Upper 27%: 4, Middle 46%: 4, Lower 27%: 3
values: 8,9,10,11,11,11,11,12,12,12,13
Upper 27%: 5, Middle 46%: 4, Lower 27%: 2
values: 2,3,4,4,4,4,5,5,5,5,5
Upper 27%: 2, Middle 46%: 8, Lower 27%: 1
values: 2,4,4,4,4,4,4,4,4,5,5
Upper 27%: 2, Middle 46%: 6, Lower 27%: 3
values: 13,17,17,18,19,19,19,21,21,23,24
Run Code Online (Sandbox Code Playgroud)
我发现了诸如 (n * p) 之类的公式,其中 n 是值的数量,p 是百分位数,但它似乎不适用于所有这些数据集以给出相同的结果。我有点迷茫,没有找到任何可以在这里产生结果的东西。
我已经测试了我在互联网上找到的代码,但没有一个适用于不同的数据集。
我尝试过的代码示例:
internal static double percentile(double[] sortedData, double p)
{
if (p >= 100.0d) return sortedData[sortedData.Length - 1];
double …Run Code Online (Sandbox Code Playgroud)