TGViewer
Channel Public Channel
Data Apps Design

Data Apps Design

@data_apps

В этом блоге я публикую свои выводы и мнения на работу в Data:

— Data Integration
— Database engines
— Data Modeling
— Business Intelligence
— Semantic Layer
— DataOps and DevOps
— Orchestrating jobs & DAGs
— Business Impact and Value
Subscribers
2.08K
Photos
143
Videos
2
Links
237

Showing posts older than #270 · Back to latest

Older Posts 14 shown
Post #268 728
⚙️ Pivot Table for Period over Period analysis

1. Декомпозиция отчета

Практически, я вижу pivot-таблицу с несколькими уровнями вложенности по строкам и столбцам.
Это относительно легко сделать в Excel (gSheet), но относительно сложно в BI-инструментах.

Уточняю требования и непонятные моменты.

Q: Мне непонятна логика месяцев в столбцах. Они должны последовательно идти по возрастанию? В таблице 3 месяца, один из них за 2022. Какие периоды, на какую глубину и с чем хочется сранивать?

A: Текущий период сравнивается с: аналогичный период прошлого года, предыдущий месяц текущего года

2. Структура данных в СУБД (в моем случае это Clickhouse)

Для понимания, в СУБД (из запросов к которой строятся все отчеты Datalens) всё хранится в виде плоских двумерных таблиц.

Всё моделирование я делаю с помощью ряда шагов преобразований и промежуточных схем/таблиц с помощью dbt.
В результате - у меня одна денормализованная (широкая) витрина, запросами к которой можно посчитать любые интересующие метрики.

3. Возможности BI-инструмента (в моем случае это Datalens)

Цель: Хочу нарисовать сводную таблицу и делать Period over Period аналитику: месяц к месяцу, год к году, месяц к тому же месяцу год назад.

И здесь начинаются нюансы работы с конкретными BI.

Пока удалось нарисовать сводную таблицу как на картинке. Есть 3 вопроса:

1. Как в фильтре можно просто задать текущий и прошлый месяц без хардкода?

2. Как задать в фильтре текущий месяц и тот же месяц год назад?

3. Можно ли раскрашивать ячейки (числа) в зависимости от динамики изменения с прошлым периодом (больше - зеленый, меньше - красный)?

🌐 @data_apps | Навигация по каналу
Telegram Data Apps Design 🟡 Дайджест самых интересных публикаций по темам: Data Integration — ▶ Успешный SaaS на рынке Аналитики – cтановление и планы развития / Алексей Сидоров из mybi connect — 👨‍💻 Сказ о том как я realtime replication чинил (Kafka + Debezium + Clickhouse) —…
  • ❤ 2
  • 👍 2
Post #267 560
Screenshot 2023-07-10 at 17.39.17.png74 KB
Моделирование отчета для BI в виде сводной таблицы со сравнением периодов

Известно, что бизнес-пользователи: management, operations, marketing привыкли оперировать красивыми дашбордами и графиками в удобных BI-инструментах.

Предлагаю разобрать реальный практический кейс:
Вы получаете ТЗ в виде прототипа в gSheet с желаемым отчетом.

Ваши действия?

🌐 @data_apps | Навигация по каналу
  • 🌚 1
Post #264 696
Что будет, если в dbt в FROM ссылаться на названия таблиц в СУБД (хардкод)?

Очень вероятно, что возникнет ошибка, при которой объект, на который ссылаются, еще не создан.

То есть, будет нарушен порядок создания моделей, он же граф зависимостей, он же DAG.

Вывод: всегда используйте ссылки на другие модели в виде {{ ref('my_model_name') }}, а также на источники в виде {{ source('db', 'table') }}.
  • 👍 9
Post #263 778
Major improvements to my Analytics Engineering Lab on Github

🚀 Airbyte Data Pipelines Lab

– Configuring Data Pipelines with Airbyte
– Deploying Infrastructure as Code with Terraform and Yandex.Cloud
– Instant development with Github Codespaces
– Assignment checks with Github Actions

⚙️ What you will do:

– Configure Developer Environment: GitHub Codespaces or devcontainer
– Deploy Infrastructure with Terraform: VM with Airbyte installed, S3 Bucket, Clickhouse
– Configure Data Pipelines: Postgres Source, Clickhouse Destination, S3 Destination
– Test your Pipeline with dbt: locally and triggering automated testing with Github Actions

Open Lab on Github →

#airbyte #terraform #yc #lab #elt #data_integration

🌐 @data_apps | Навигация по каналу
  • ❤ 3
  • 👍 1
Post #259 583
Data Apps Design Выступил с докладом на конференции Open Source Software, Люди, и Сообщества как стратегия выживания 🔸 Ключевая идея #1: Поздно делать своё ПО. Рынок ПО РФ проиграл и отстал. 🔸 Ключевая идея #2: Выжить можно, если использовать Open Source Software 🔸 Ключевая…
🔸 Слайды: https://docs.google.com/presentation/d/1TwVV9f6vDtCN5lRhNor_LdwpUz6duvHcdjOl2hhhaUo/edit?usp=sharing

🔸 Запись на YouTube: https://youtu.be/BF96K7QAOEQ?t=4487
Google Docs [Conf] Open Source, Люди и Сообщества как стратегия выживания Open Source Software, Люди, и Сообщества как стратегия выживания
  • 🤡 1
Post #255 554
Выступил с докладом на конференции

Open Source Software, Люди, и Сообщества как стратегия выживания

🔸 Ключевая идея #1: Поздно делать своё ПО. Рынок ПО РФ проиграл и отстал.

🔸 Ключевая идея #2: Выжить можно, если использовать Open Source Software

🔸 Ключевая идея #3: Лучшая инвестиция сегодня - в умы и руки (которые утекают из РФ)

🌐 @data_apps | Навигация по каналу
  • 👍 4
  • 🤡 4
Post #254 673
⚙️ Clickhouse is advancing at data integration

Apart from having fully-functional DB links to PostgreSQL and MySQL,

Clickhouse is also able to fetch data from any URL:

— No need for 3rd party tools (ELT)
— Extensive configurations for data formats and compression
— Do it SQL declarative way
— Works best with dbt modeling

Now I give you a brief example of how to sync data from external API (e.g. gSheets) to Clickhouse:

1. You create a table with URL engine pointing to external API either manually or using dbt macro
2. You register this table as a dbt source
3. You then reference this source anywhere in your dbt project

See the code →

#elt #integration #clickhouse #dbt

🌐 @data_apps | Навигация по каналу
Clickhouse PostgreSQL | ClickHouse Docs Allows to connect to databases on a remote PostgreSQL server.
Post #253 850
Having extensive experience with Looker and dbt I've got several thoughts on

⚡️ Replacing Looker with Cube + Superset ⚡️

🔸 Future of BI and Analytics revolves around declarative metrics store and polyglot serving
— You set your metrics simple way, in a single store and version control them
— You then consume these metrics from wherever needed (BI, SQL, Apps, REST API)

🔸 Cube is a powerful rival to Looker
— Both support: Declarative Metrics, Dynamic SQL generation, Caching, RBAC
— Cube is Open Source while Looker is a vendor lock-in (which is tying your options and opportunities)
— Cube offers freemium plan while Looker is top-tier in terms of pricing

🔸 Cube still has got many things to improve
— Looker has fancy browser IDE with code-completion, syntax checks and built-in docs
— Cube is of a higher entry level in terms of: deployment, git, development, updates, etc.
— Looker supports flexible templating with Liquid: variables, dynamic joins, filters etc. enabling otherwise impossible opportunities
— Looker has impressive list of supported data sources and dialects

Apart from this Cube is not a visualization tool, so you will definitely need one on top of Cube (e.g. Superset, Metabase).
Looker has everything to be named top grade BI tool: rich dashboards, scheduling, alerting, API.

🔸 I would go on with Looker
— In case you have invested much into your LookML project and using it for a long period of time
— I would strongly consider using Cube with OSS BI tool if you are searching for a new stack or want to switch

#bi #looker #cube #metrics

⬇️ Share your thought if you've ever used Looker or Cube.

🌐 @data_apps | Навигация по каналу
YouTube Replacing Looker with Cube + Superset Agenda: [00:00:00 - 00:02:35] Introductions [00:02:36 - 00:08:13] Looker and why some are looking for alternatives [00:08:14 - 00:28:15] Cube + Superset [00:28:16 - 00:43:02] Demos (Cube: data modeling, caching/Superset: connecting to Cube, chart creation)…
  • 👍 2
Post #252 939
Семантический слой для Аналитики ключевых метрик – dbt Metrics vs. Cube

🔸 Что такое семантический слой, и в чем разница между Метрикой и Витриной данных.
🔸 Пути формирования метрик: SQL (ad-hoc), UI, dbt Metrics, Cube.
🔸 Примеры декларативной конфигурации в YAML и использования метрик.
🔸 На что обращать внимание при выборе решения: Стек технологий, Доступность vs. Выразительнось, Гибкость vs. Скорость.

В продолжение последней темы - для тех, кто любит читать.

Читать на Habr →

🌐 @data_apps | Навигация по каналу
  • 👍 1
Post #251 975
Post #250 911
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →