我在两个不同的数据集中有12个不同的ID值,并且还有起始值和结束值。我要初始化的是将起始值作为循环的开始参数,将结束值作为最后一个参数。搜索与它们对应的值,并找到连续值之间的比率。找到比率后,如果第一个比率小于第二个比率,则计数器递增。
下面我发布了一个示例数据集:
根据数据集,我对算法的期望是:
PresentationButton( Text("Show Detail View"), destination: DetailView())
,另一个是Ratio1 = a[i]/b[i+1]
Ratio2 = a[i+1]/b[i+2]
,它将计入该ID Ratio1 > Ratio2
create table #sample_data1(
ID VARCHAR(10), a1 INT, a2 INT, a3 INT, a4 INT, a5 INT,
a6 INT, a7 INT, a8 INT, a9 INT, a10 INT, a11 INT, a12 INT,
startValue INT, endValue INT );
insert into #sample_data1 values
(1001,3,2,1,1,1,1,3,0,0,0,0,0,1,7),
(1002,1,2,3,4,0,0,0,1,2,3,0,0,1,12),
(1003,0,3,8,1,0,0,0,3,3,0,0,0,1,12),
(1004,0,1,2,4,4,0,0,0,0,0,0,0,1,9),
(1005,1,2,2,1,0,0,2,2,2,1,0,0,1,8);
create table #sample_data2(
ID VARCHAR(10), b1 INT, b2 INT, b3 INT, b4 INT, b5 INT,
b6 INT, b7 INT, b8 INT, b9 INT, b10 INT, a11 INT, b12 INT,
startValue INT, endValue INT );
insert into #sample_data2 values
(1001,7,6,4,0,2,2,3,0,9,0,0,0,1,7),
(1002,1,2,3,4,0,6,8,1,2,3,0,0,1,12),
(1003,4,3,2,1,0,0,0,3,3,0,0,0,1,12),
(1004,0,1,2,4,2,0,0,0,0,0,0,0,1,9),
(1005,1,2,2,1,0,9,2,2,2,1,0,0,1,8);
对于Expexted result:
步骤1。ID = 1001
是Ratio1 = a1/b2 =3/6
,而0.5
是Ratio2 = a2/b3 = 2/4
。 ratio1不大于ratio2,所以不计入。
步骤2。对于下一个0.5
和Ratio1 = a2/b3 = 2/4 = 0.5
,因为它除以0,所以我们将其取为Ratio2 = a3/b4 = 1/0
,因此Ratio1不大于Ratio2,因此数。
第3步。对于下一个1
,因为它除以0,我们将其视为Ratio1 = a3/b4 = 1/0
和1
然后是Ratio2 = a4/b5 = 1/2 = 0.5
,然后将其视为{{1} } 。
第4步。对于下一个Ratio1 > Ratio2
和1
Ratio1 = a4/b5 = 0.5
不算
步骤5。对于下一个Ratio2 = a5/b6=1/2 = 0.5
和Ratio1 = Ratio2
Ratio1 = a5/b6 = 0.5
,因此计数计数器变为2
步骤6。对于下一个Ratio2 = a6/b7=1/3=0.34
和Ratio1>Ratio2
,我们将其视为Ratio1 = a6/b7 = 0.34
Ratio1不大于Ratio2,因此不计入。
步骤7。对于下一个Ratio2 = a7/b8 =3/0
和1
Ratio1 = a7/b8=1
,然后开始计数,对于'ID = 1001'计数器变为3
由于我们已达到最终值7,因此这将是此ID的最终计数器值。此过程涉及其余的ID。
感谢您的帮助!