具有两个条件的数据表筛选器

本文关键字:条件 数据表 筛选 两个 | 更新日期: 2023-09-27 18:37:16

我正在使用一个大型数据表。我需要做一些过滤器来计算某些行的总和值。对于以下代码,它会筛选相同的 ID 文件并计算总和。我的问题是我是否要添加与 ID 文件相结合的其他条件

for (int i = 0; i < LoadIDcount; i++)
{
    string IDnow = LoadID[i, 0];
    for (int j = 0; j < 8760; j++)
    {
        string colPnow = SP_dt.Columns[j * 2 + 4].ColumnName.ToString();
        double ColP_sum = (double)SP_dt.Compute(String.Format("Sum([{0}])", colPnow), String.Format("Load_ID = '{0}'", IDnow));
        string colQnow = SP_dt.Columns[j * 2 + 5].ColumnName.ToString();
        double ColQ_sum = (double)SP_dt.Compute(String.Format("Sum([{0}])", colQnow), String.Format("Load_ID = '{0}'", IDnow));

        LoadP_dt.Rows[i][j + 2] = ColP_sum;
        LoadQ_dt.Rows[i][j + 2] = ColQ_sum;
        Console.WriteLine("{0}    {1}", i, j);
    }
}

数据表如下所示:

SP_ID   Load_ID              CUSTOMER_TYPE  Phase   1/1/2015 0:00   
1234567 11111111111          DOM            ABC     3.8928  
2345678 2222222222           DOM            ABC     1.9608  
3456788 33333333             IND            ABC     3.742   
23242   4444444444           IND            ABC     6.9856  
23890583    55555555555      IND            ABC     1.0628  

我想向计算添加两个条件以筛选 ID 和客户类型

具有两个条件的数据表筛选器

只需将第二个条件添加到过滤器中即可。喜欢这个:

double ColP_sum = (double)SP_dt.Compute(String.Format("Sum([{0}])", colPnow), String.Format("Load_ID = '{0}' AND Phase = '{1}'", IDnow, 'ABC'));

下面是计算方法的文档。