Интенсивное чтение "Front-end и BI"

JavaScript

Введение

Бизнес-аналитика (BI) — это сокращение от BI, которое предназначено для поиска бизнес-идей посредством интеллектуального анализа и анализа данных, чтобы помочь добиться успеха в бизнесе.

Полная связь BI включает в себя сбор данных, очистку данных, интеллектуальный анализ данных и представление данных. Его суть заключается в выполнении многомерного анализа данных. Основная работа внешнего интерфейса заключается в отображении данных.Из-за разнообразия методов отображения, сложных моделей анализа и большого объема данных сложность внешнего интерфейса очень высока.

Быть фронтендом BI очень сложно. Разработчики должны полностью понимать концепцию данных, а визуальное создание веб-сайтов высокой сложности — это только базовая способность BI. Если вы хотите создать возможности верхнего уровня BI, такие как исследовательский анализ и понимание данных, вам необходимо внедрить более сложные вычислительные модели на переднем и заднем концах.

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

интенсивное чтение

Китай в настоящее время находится на стадии BI 1.0, которая является стадией отчетности, поэтому автор объяснит основные концепции разработки BI на этом этапе.

Этап исследовательского анализа BI 2.0 является авангардом внутреннего анализа данных, и эта часть будет опубликована после завершения разработки.

Основные концепции этапа BI 1.0 включаютНаборы данных, механизмы рендеринга, модели данных, визуализацииЭти четыре технических модуля.

набор данных

Набор данных — это набор данных, а в области BI он относится к стандартизированной структуре данных.

Любые данные могут быть инкапсулированы в набор данных, например текст txt, excel, база данных mysql и т. д.

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

Импорт набора данных

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

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

Ввод SQL может использовать преимуществаmonaco-editorПри использовании редактора веб-кода в качестве поля ввода лучше всего комбинировать интеллектуальные подсказки, чтобы повысить эффективность написания sql. Интеллектуальные советы по sql могут ссылаться на предыдущее интенсивное чтениеИнтенсивное чтение "Рукописный компилятор SQL - полезные советы".

Моделирование набора данных

Моделирование набора данных обычно включаетМоделирование размерных мер, конфигурация поля, моделирование иерархии.

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

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

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

Поле сравнения означает, что новое добавленное поле основано на сравнении существующего поля за определенный период времени.Например, годовое сравнение поля UV может быть инкапсулировано как поле сравнения. Сравнивать поля в передовых технологиях несложно, достаточно понять концепцию.

движок рендеринга

Механизм рендеринга включает в себя движок редактирования и рендеринга отчета, которые теоретически можно объединить в один.

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

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

При редактировании компонентов редактирование базовых атрибутов и категории моделей форм, относящихся к области общего построения веб-сайтов, обычно используется для описания общих форм через UISchema, которые здесь повторяться не будут. Другой частью редактирования компонентов является редактирование данных, которое подробно описано в главе о модели данных ниже.

Центр событий является частью механизма рендеринга, эту функцию необходимо отключить в состоянии редактирования. Эта функция может реализовать такие возможности данных, как привязка диаграмм, свертка и детализация. Общий центр событий обычно включает в себятриггер событияа такжеРеакция на инцидентДве части, основная структура выглядит следующим образом:

interface Event {
  trigger:
    | {
        type: 'callback';
        callbackName: string;
      }
    | {
        type: 'listener';
        eventName: string;
      }
    | {
        type: 'system';
        name: string;
      };

  action:
    | {
        type: 'dispatch';
        eventName: string;
      }
    | {
        type: 'jumpUrl';
        url: string;
      }
}

triggerто есть запуск событий, включая базовые системные событияsystem, такие как таймер или автоматическая инициализация; обратный вызов компонентаcallbackнапример, при нажатии кнопки; прослушиватель событийlistenerНапример, когда запускается другое событие, это событие может исходить отaction.

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

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

детализация данных

Детализация данных может выполняться на полях, настроенных слоями. Система слоев может быть настроена в наборе данных или на странице редактирования отчета.Это может пониматься как папка, связанная с заказом.Когда папка используется в качестве поля, по умолчанию действует первый подэлемент, а затем это может быть выполнено отдельно по порядку.

Например, слой «регион» содержит страны, области, города и районы, затем вы можете прокручивать данные вверх и вниз по этому слою.

Если поле является полем слоя, диаграмма должна иметь соответствующую рабочую область для прокрутки вверх и вниз, и область редактирования данных также может выполнять ту же операцию. Процесс вычисления детализации данных не обрабатывается внутри диаграммы, но после срабатывания состояния механизм рендеринга изменяет состояние этого экземпляра поля слоя, чтобы перейти к N-му слою, и каждый раз, когда вы детализируете, вы получаете еще один столбец данных.Отображение детализации по компоненту диаграммы.

Вообще говоря, данные все еще полны после детализации.Иногда, чтобы избежать чрезмерного объема данных, например, щелкните столбец в гистограмме, чтобы развернуть, и просто хотите увидеть данные после детализации этого столбца: например, 2017, 2018, 2019. Для данных за три года и три года количество данных после детализации до месяца составляет 3 x 12 = 36 штук, но если вы детализируете только 2019 год, вы хотите увидеть только 12 части данных в 2019 году, которые можно преобразовать в условие детализации + фильтр. Режим: после того, как глобальная детализация расширит 36 элементов, после нажатия на детализацию в 2019 году добавьте условие фильтра (год = 2019), чтобы эффект достигается, и весь процесс не знает о компонентах диаграммы.

модель данных

В соответствии с моделью общей формы UISchema автор называет модель данных CubeSchema, потому что многомерная модель обработки данных в поле BI становится кубом, а конфигурация данных указывает, как запрашивать этот куб, поэтому его форма конфигурации становится КубСхема.

Будь то исследовательский анализ или этап отчетности BI 1.0, базовая концепция модели данных является общей (исследовательский анализ фиксирует строки и столбцы и добавляет теги): поля размещаются в разных областях, и эти области можно разделить в соответствии с функция.: горизонтальная ось, вертикальная ось; в соответствии с концепцией: измерение, мера; в соответствии с идеями исследования и анализа: затвердевшие в строки, столбцы и т. д.

Технические моменты, которые могут быть задействованы в этой части: перетаскивание, пакетный выбор + перетаскивание, автоматическое добавление в соответствии с мерами измерения после двойного щелчка, автоматическая миграция полей области после переключения диаграммы, конфигурация серии для перетаскивания полей: ограничение количество, тип лимита, лимитный набор данных, дублируется ли он и т. д.

Можно использовать перетаскиваниеreact-beautiful-dndДругая библиотека в основном похожа на схему перетаскивания движка рендеринга.При столкновении с набором данных со слоями она должна поддерживать перетаскивание вложенных уровней.

После переключения диаграммы поля мигрируют, и каждой области перетаскивания можно задать несколько типов:

{
  "dataType": ["dimension"]
}

Таким образом, после переключения поля типа измерения могут быть автоматически перенесены в область типа измерения.Если количество полей в соответствующей области достигаетlimitограничение, продолжайте заполнять следующую область, пока поле не будет исчерпано или область не будет заполнена.

Если в сценарии исследовательского анализа, вам необходимо заранее смоделировать размерное измерение поля и выполнить соответствующую обработку в соответствии с ситуацией на графике при переключении. Например, когда линейная диаграмма переключается на таблицу: линейная диаграмма представляет собой обычный сценарий с одним измерением (основная ось) + N показателей, а таблица — это естественный сценарий с двумя измерениями (строка, столбец) + 1 показатель (может также поддержка нескольких, правильно Ячейки можно подразделять), то при переключении с линейного графика на таблицу мера будет попадать в выделенную текстовую область; если перейти с таблицы со строками и столбцами на столбчатую диаграмму (причина, по которой вы не можете переключиться на линейный график, это связано с тем, что значение измерения таблицы, как правило, дискретно, а значение измерения линейного графика, как правило, непрерывно), поля строки и столбца таблицы будут падать на ось измерения гистограммы, а эффект производительности заключается в детализации по оси измерения.

Интенсивное чтение "Tableau Exploratory Models"Узнайте больше об исследовательском анализе.

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

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

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

Видно, что все они выборка+отображение.Разница между обычным фронтенд-бизнесом и BI-разработкой бизнеса:

Обычный клиентский бизнес сосредоточен на бизнес-логике, и формат интерфейса определяется в соответствии с потребностями бизнеса, BI-бизнес ориентирован на данные, а фиксированный формат интерфейса определяется вокруг модели расчета данных, есть соответствующие дисплеи.

визуализация

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

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

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

Оптимизация производительности больших данных

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

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

Оптимизация отображения граничных данных

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

интерактивный ответ

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

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

Суммировать

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

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

Адрес обсуждения:Интенсивное чтение «Front End and BI» · Выпуск №208 · dt-fe/weekly

Если вы хотите принять участие в обсуждении, пожалуйста,кликните сюда, с новыми темами каждую неделю, выходящими по выходным или понедельникам. Интерфейс интенсивного чтения — поможет вам отфильтровать надежный контент.

Сфокусируйся наАккаунт WeChat для интенсивного чтения в интерфейсе

Заявление об авторских правах: Бесплатная перепечатка - некоммерческая - не производная - сохранить авторство (Лицензия Creative Commons 3.0)