Как получить продажи в месяц? - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть массив с элементом [365], который хранит продажи в день. Мой вопрос: как я могу отсортировать эти дни в 12 месяцев?

Спасибо за вашу помощь, ребята!

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Я предполагаю, что ваши продажи работают с использованием какого-то юлианского формата даты (вероятно, усеченной формы), где 0 эквивалентно 1 января.

Поскольку вы не разместили ни кода, ни я, здесь.

Вам нужно будет знать год - чтобы вы могли рассчитать, високосный год или нет, в этом случае вам потребуется 366 дней, а не 365. Доступны алгоритмы.

Вам также необходимо знать, сколько дней в каждом месяце, учитывая дополнительный день февраля в високосном году.

Затем вы индексируете свои показатели продаж, добавляя элементы, как вы go, размещая результат там, где вы храните свой результат за этот месяц, до тех пор, пока вы не внесете индекс в следующий месяц, например, index = 0 для 1 января, index = 31 для 1 февраля. Не забудьте сбрасывать свой результат на 0 в начале каждого месяца.

Теперь вы можете вернуться и опубликовать некоторый код, если он не работает, и мы будем более чем рады помочь Вы исправляете / обнаруживаете любые ошибки.

0 голосов
/ 01 апреля 2020

Это «слабый» вопрос, вам нужно научиться решать вопрос на этом сайте. { ссылка }

Возможное решение для вашего вопроса выглядит следующим образом:

     public class SalesInfo
{
    public DateTime Day { get; set; }
    public decimal Value { get; set; }

    public Array GetSalesByMonth(SalesInfo[] items)
    {
        return items.GroupBy(x => x.Day.Month).Select(x => new
        {
            Month=x.Key,
            SalesValue=x.Sum(a=>a.Value)
        }).ToArray();
    }
}

Надеюсь, мой пример поможет вам.

...