Суммирование по нескольким столбцам в списке - PullRequest
0 голосов
/ 31 мая 2019

Я создаю html-таблицу для отображения значений в списке. Список содержит три столбца: имя индикатора, год и месяц, в которые он был выбран, и количество попыток его фильтрации. на.

код и html, который я использую, показаны ниже:

<table class="users">
    <tr>
        <th></th>
        @foreach (var monthYear in Model.KeyIndicatorUseCount.Select(m => m.MonthYear).Distinct())
        {
            <th>@monthYear</th>
        }
    </tr>
    @foreach (var keyIndicator in Model.KeyIndicatorUseCount.Select(m => m.Name).Distinct())
    {
        <tr>
            <td>@keyIndicator</td>
            @foreach (var monthYear in Model.KeyIndicatorUseCount.Select(m => m.MonthYear).Distinct())
            {
                <td>@Model.KeyIndicatorUseCount.Sum(m => m.Count)</td>
            }
        </tr>
    }
</table>

В настоящее время таблица заполняется суммой значений для первого столбца месяца-года.

Расчет должен быть суммой количества просмотров для каждого ключевого индикатора с этим месяцем-годом.

Для справки вот скриншот того, что в настоящее время производится:

Key indicator counts by month

Как мне выполнить вычисление, чтобы получить сумму, соответствующую каждому месяцу-году для имени ключевого индикатора в первом столбце?

1 Ответ

1 голос
/ 31 мая 2019
 @foreach (var keyIndicator in item.OrderBy(f => f.Name).GroupBy(f => f.Name))
 {
     <tr>
         <td>@keyIndicator.Key</td>
         @foreach (var monthYear in keyIndicator.OrderBy(f => f.MonthYear).GroupBy(f => f.MonthYear))
         {
              <td>@(keyIndicator.Sum(f => f.Count))</td>
         }
         <td>
             @(keyIndicator.Sum(f => f.Count)) /* if you want to sum count of every month of year */
         </td>
     </tr>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...