TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
FineBI в России

5 Oct, 10:25

Открыть в Telegram Поделиться Пожаловаться

Права на строки в FineBI: на каждую таблицу данных или на общее измерение

Выбор возникает, как только в отчёте две таблицы данных и два уровня доступа. Пример из ветки на китайском форуме FanRuan. Отчёт собран из двух не связанных таблиц: A и B. Руководителям доступ нужен по региону, их подчинённым по району, и руководитель видит строки всех своих районов. Права лежат в двух таблицах: C (учётная запись и регион) и D (учётная запись и район). Связать C и D с каждой из A и B модель не даёт, и автор вопроса готов резать отчёт на два.

Резать не нужно. Модель упёрлась в ограничение: по ответу в ветке, FineBI не даёт нескольким таблицам фактов (A, B) делить несколько таблиц измерений (C, D).

Путь первый: модель из четырёх таблиц. На этом примере:
- пользователи: учётные записи;
- права: C и D, собранные по учётной записи в одну таблицу (учётная запись, регион, район);
- измерение: справочник регионов и районов;
- данные: A и B.
Связи две, обе 1:N: пользователи - права по учётной записи, измерение - A и B. FineBI берёт имя вошедшего, находит его строки в таблице прав, право на строки проверяет измерение, и уже оно фильтрует A и B. Руководителю в таблице прав просто прописаны все его районы. Появится третий уровень - добавляется ещё пара «измерение + права», пересечение FineBI посчитает сам. Если общего поля для слияния нет, в ветке предлагают crossjoin, но он даёт все сочетания строк: после него проверьте, что ни одна учётная запись не получила чужих значений. Сливать A с B в ветке не советуют: данные не пересекаются, будет много пустот.

Путь второй: права на строки на каждую таблицу отдельно, A по региону из C, B по району из D, без общей модели.

Как отличить, какой ваш. Два уровня, которые не будут меняться - хватит второго. Уровни прибавляются - окупится первый, иначе каждое новое правило придётся повторять на A, на B и на всём, что добавится. Граница общая: если таблица с полем вошедшего пользователя и таблица, на которую ставят право, берутся из двух разных баз в режиме прямого подключения, права на строки не настроятся. Проверьте это в своей поставке до проектирования.

А как устроено у вас? Ответьте в опросе под постом, итоги покажем в четверг в дайджесте.

Ветка на форуме: https://bbs.fanruan.com/wenda/question/231882.html

#FineBI #FanRuan #BI #права #моделиданных #безопасность

146 1 0 17
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot