Страницы: 1
RSS
Построение модели данных с дубликатами Power Pivot
 
Добрый день!

Модель данных имеет следующий вид (см вложение)
Логика в следующем:
Есть ряд показателей, которые связываются по полю Login с источником "ПО_ЛОГИНУ".
Источник "ПО_ЛОГИНУ", содержит в себе несколько полей:
1. Логин;
2. Руководитель;
3. Площадка;

Так же есть календарь, который связывается с датами, чтобы структурировать показатели сотрудников по датам в сводной.
Но есть одно "НО". Столбцы "Руководитель" и "Площадка" в таблице "ПО_ЛОГИНУ" могут меняться от даты к дате, а сохранить исторические значения показателя необходимо в соответствии с распределением сотрудника за руководителем и площадкой именно от даты.

То есть, если у сотрудника 15.09 руководитель А, а 16.09 руководитель "Б", то в сводной показатели должны тянуться так:
15.09 - руководитель "А";
16.09 - руководитель "Б".

Реализацию можно было бы увидеть так:
Дублировать список сотрудников и распределение на ежедневной основе, при необходимости меняя значения по полю "Руководитель" и "Площадка" в зависимости от даты изменения. но в таком случае, при создании связи, Power Pivot покажет ошибку дубликатов и пустых значений, тк на ежедневной основе логины и даты будут дублироваться.

Как можно решить данную проблему?  
Изменено: dslt - 16.09.2021 19:02:43
 
dslt, руководитель должен указываться у сотрудника как должность, а дальше нужно к справочнику с должностями примотать таблицу фактов с руководителями и датой их назначения, тогда можно будет мерой на каждый день рассчитать и показывать конкретного руководителя для конкретного сотрудника. Либо если делать сквозную таблицу с датами, кто какую должность из руководителей занимал на каждый день, то тогда фамилию можно будет вывести и в измерения сводной.
Вот горшок пустой, он предмет простой...
 
PooHkrd, если я Вас правильно понял, то выглядеть должно как на скрине во вложении.

Таблица ФИО состоит только из ФИО.
Таблица Список состоит, в том числе, из столбцов: дата, ФИО и РГ (руководитель).
Т.к. вчера у сотрудника мог быть 1 РГ, а сегодня другой, ФИО там дублируются, то есть:
1. 01.09, ФИО А, РГ А
2. 01.09, ФИО Б, РГ Б
3. 02.09, ФИО А, РГ Б
4. 02.09, ФИО Б, РГ Б

Дальше сводная криво сопоставляет РГ.
Если выводить ФИО РГ и ФИО сотрудника в строки, то у каждого РГ, который есть в списке, числится весь список сотрудников, то есть, у РГ А и Б будут сотрудники А и Б, хотя сотрудник А должен быть закреплен под одним РГ, а сотрудник Б под другим.
 
модель данных по схеме, которую Вы приложили в сообщении №3 не будет работать, потому что связи не правильно настроены: от ФИО к Списку связь должна быть направлена в обратном направлении. А она у Вас не получится, т.к. в таблице список есть дубли по ФИО. В Вашем случае требуется строить более сложную модель.
Скорее всего потребуется составной ключ между таблицей фактов и справочником ФИО с РГ (таблица "список"). Например, ФИО + дата. Но и здесть требуются дополнительные вычисления. В общем приложите пример данных - там попробуем сверстать модель.
Я правильно понимаю, что "дата" в таблице "список" - это дата, когда у ФИО мог смениться РГ?
 
Vladimir Chebykin, добрый день!

Буду очень благодарен за помощь, файл по ссылке https://disk.yandex.ru/d/G4dur80jGvYYYA
 
В вашем примере даты в Alert и в списке совпадают, поэтому абсолютно не отображают варианты переходов ФИО от одного РГ к другому. Накидал свой простенький пример: в нем все просто и понятно. Для понимания: отдельная таблица с ФИО не нужна -выбрасываем. Список будет справочником ФИО и РГ, но требуется создать составной уникальный ключ, чтобы модель заработала при связи справочника (список) и таблицы фактов. Далее процесс выглядит так:
1. Так как у на есть даты смены РГ у каждого ФИО, то добавляем в таблицу фактов дату действующего РГ (смотрим вычисляемый столбец "дата_тек_РГ")
2. после определения даты создаем составной ключ в справочнике и таблице фактов: ФИО+дата_тек_РГ
3. создаем связь один ко многим по составному ключу. Модель готова - пользуемся

Думаю, разберетесь и сможете перенести на рабочий файл.
 
Vladimir Chebykin, в целом, всё получилось. Спасибо Вам за ответ!
Но есть все-таки недопонимания.

На скрине тянется связь от таблицы "ПРИВЯЗКА_ПО_ДАТЕ", по столбцу "Составной ключ". Сама таблица имеет формат: Дата, ФИО, РГ, Составной ключ.
К трем верхним таблицам связь тянется корректно. К двух нижним тянется как неактивная, при попытке сделать её активной появляется данная ошибка.

Не могли бы подсказать, в чем ошибка?  
Изменено: dslt - 01.10.2021 16:43:33
 
Поменяйте направление связи между календарем и таблицами "Звонки_день" и "переводы ГЛ". Автоматически направление связи может задаться некорректно, когда в обеих таблицах уникальные даты (в данном случае). Сделайте связь в ручную "один ко многим", где "один" будет на стороне календаря.
 
Vladimir Chebykin, если я правильно Вас понял, то модель должна выглядеть так (скрин во вложении).
Ошибка сохранилась.
 
Первое, снимок не полный. Второе, лучше файл приложите, а не скриншот, как того просят правила форума. По фотографии не всегда ставится точный диагноз - пациент нужен.
 
Vladimir Chebykin, получилось решить проблему путем повторного создания связей.
Страницы: 1
Наверх