Использование скриптов Google для запроса нескольких таблиц Google для просмотра

Теперь как метод расширения:

public static class LinqExt
{
    public static IEnumerable<TResult> LeftOuterJoin<TLeft, TRight, TKey, TResult>(this IEnumerable<TLeft> left, IEnumerable<TRight> right, Func<TLeft, TKey> leftKey, Func<TRight, TKey> rightKey,
        Func<TLeft, TRight, TResult> result)
    {
        return left.GroupJoin(right, leftKey, rightKey, (l, r) => new { l, r })
             .SelectMany(
                 o => o.r.DefaultIfEmpty(),
                 (l, r) => new { lft= l.l, rght = r })
             .Select(o => result.Invoke(o.lft, o.rght));
    }
}

Используйте, как обычно, вы используете join:

var contents = list.LeftOuterJoin(list2, 
             l => l.country, 
             r => r.name,
            (l, r) => new { count = l.Count(), l.country, l.reason, r.people })

Надеемся, что это сэкономит вам некоторое время.

0
задан RouteMapper 13 July 2018 в 12:54
поделиться

1 ответ

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

Я бы переместил все эти данные в настоящую базу данных ( облако Google имеет несколько вариантов хранения ), а затем использует скрипт Apps для запроса указанной базы данных с использованием диапазона дат и заполнения лист с результатами.

Google Таблицы - жизнеспособное решение для хранения относительно небольших нереляционных наборов данных. Но по мере того, как вы расширяетесь и вы хотите выполнять более сложные запросы, его ограничения становятся более очевидными. Они все еще могут служить платформой для отображения результатов запроса, но в отношении хранилища, которое необходимо масштабировать, я бы рекомендовал разгрузить это для правильного решения базы данных.

2
ответ дан Dimu Designs 17 August 2018 в 12:48
поделиться
  • 1
    Требование на моем рабочем месте - хранить все данные в Google Таблицах (т. Е. Обрабатывать листы в качестве бэкэнд). Я знаю, что это смешно в любом приложении масштаба предприятия, но это средний магазин из 60 сотрудников. Даже если алгоритм неэффективен, он будет по-прежнему масштабироваться достаточно хорошо, чтобы обрабатывать до 24 рабочих дней для каждого сотрудника в месяц. – RouteMapper 13 July 2018 в 14:37
Другие вопросы по тегам:

Похожие вопросы: