none
Отображение KPI для сотрудников RRS feed

  • Вопрос

  • Добрый день.

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

    Как представляю данную схему на текущий момент: на ежедневной основе обновляется файл Excel с показателями сотрудников. Они подгружаются в Sharepoint и каждый сотрудник видит только свой показатель. Его руководитель - показатели всей группы.

    Вопросы, с которыми столкнулся:

    1. Как организовать обновление данных из файла Excel?

    2. Как сделать так, чтобы каждый пользователь видел только свои показатели, а руководитель - показатели всей группы? 

    Очень надеюсь на ваши ответы. Читал еще про службу PerformancePoint, может быть через нее можно? Тогда как настроить автоматическую подгрузку данных? В общем вопросов много. 

    Спасибо за ответы.

    24 июля 2016 г. 15:24

Ответы

  • Добрый день, я бы предложил следующий вариант:

    1) Обновление с помощью встроенной функции Excel

    2) Отдельная страница для сотрудников с настроенной content search webpart (поиск контента) с фильтрацией по {User} или {User.Name} см https://technet.microsoft.com/en-us/library/jj683123.aspx

    3) Для руководителя - отдельная страница (например страница с представлением списка по умолчанию);

    4) Видимость представлений и результатов поиска ограничить с помощью Аудиторий (руководитель должен быть в отдельной группе SharePoint, прочие члены группы также в отдельной группе)

    28 июля 2016 г. 11:54

Все ответы

  • Почему вы не хотите уйти от Excel и заносить данные в список SP, а там раздавать права на каждый Item?
    25 июля 2016 г. 7:12
  • Сергей, уточните, пожалуйста, данные списки в SharePoint нужно будет обновлять вручную или они автоматически будут подтягиваться из файла?

    Объясните, пожалуйста, как раздать права на каждый item?

    27 июля 2016 г. 11:06
  • Добрый день, я бы предложил следующий вариант:

    1) Обновление с помощью встроенной функции Excel

    2) Отдельная страница для сотрудников с настроенной content search webpart (поиск контента) с фильтрацией по {User} или {User.Name} см https://technet.microsoft.com/en-us/library/jj683123.aspx

    3) Для руководителя - отдельная страница (например страница с представлением списка по умолчанию);

    4) Видимость представлений и результатов поиска ограничить с помощью Аудиторий (руководитель должен быть в отдельной группе SharePoint, прочие члены группы также в отдельной группе)

    28 июля 2016 г. 11:54
  • Andrew Fursin, можно подробнее по 2 и 4 пунтку? Буду благодарен за скриншоты, т.к. потестить пока возможности нет. Заранее спасибо.
    29 июля 2016 г. 13:43
  • Добрый день.

    Появилась возможность потестить рекомендации на платформе. В связи с чем столкнулся со следующими моментами:

    1. SharePoint 2010, поэтому там отсутствует content search webpart (поиск контента).
    2. При экспорте списка из Excel в SharePoint он превращается в отчет данного списка. Т.е. обновляя информацию в Excel, она не отображается в на портале. Но если обновить список на портале, то при обновлении в Excel, она появляется. Портал стал доминирующим.

    В итоге со списком разобрался и загрузил на портал. Настрои фильтрацию для просмотра списка по [Я]

    Сам список имеет столбец Логин сотрудника. Представлялось, что при загрузке данного списка на портал, он будет автоматически определять пользователей и при фильтре отображать только информацию по ним. В тоже время после загрузки данного списка из Excel этому столбцу нельзя присвоить параметр "Пользователь или группа" (его просто нет в списке).

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

    Попытаюсь сейчас обрисовать схему, как это вижу я:

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

    В файле есть логины пользователей и их E-mail, которые присутствуют у них в Active Directory. SharePoint определяет по этим данным пользователя "Пользователь или группа" и, например, подставляет их в другой столбец или заменяет в этом же. После чего по фильтру [Я] пользователь видит только свои данные. 

    В связи с этим остались открытыми следующие вопросы:

    1. Как сделать, чтобы можно было обновать файл Excel и список обновлялся бы на портале?
    2. Как помочь SharePoint определить пользователя по логину или E-mail (по E-mail предпочтительнее)?

    Готов вместо Excel рассмотреть Access, но там тоже нужно выбирать пользователей вручную.

    Уже все просмотрел, но ответа так и не нашел. Очень надеюсь на вашу помощь. Спасибо!


    • Изменено imzi2 7 сентября 2016 г. 21:55
    7 сентября 2016 г. 21:48
  • Корневая проблема в том, что в SharePoint нет предикативных разрешений. То есть нельзя внутри sharepoint сделать правило вроде "если я руководитель пользователя, указанного в поле X, то мне показывать эту запись".
    В SharePoint разрешения даются на основе ACL - у элемента есть список кому можно видеть запись, а кому - нет. Можно указывать пользователей или группы.

    Для вашего сценария нужны уникальные разрешения на каждый элемент, и их еще надо синхронизировать с оргструктурой. Это самая сложная в реализации часть. 8 из 10 программистов не осилят. И следом идет вторая проблема - ограничение на количество уникальных разрешений. Решение может корректно работать на 100 записях, но а 1000 будет дико тормозить, а на 10 000 упадет.

    Есть три варианта реализации:
    1) Сделать серверную веб-часть, которая сама делает нужные фильтры. Это хреновое решение, так как любая правка веб-части - деплой с остановкой фермы (полный ахтунг).
    2) Отказаться от честного разграничения доступа, и просто делать фильтры на уровне JavaScript. Это быстрый вариант, но при желании можно будет увидеть KPI любого сотрудника.
    3) Сделать отдельное веб-приложение, где проверять права и встроить его в шарик.

    Я бы делал в порядке 2 - 3, а 1 применял бы в очень ограниченных случаях.

    Что касается хранения самих KPI, то есть два варианта:
    1) Забирать данные из самого Excel через ExcelREST - отличный вариант, но нужен Ecal.
    2) Сделать список и копировать в него данные из Excel через представление таблицы
    3) Парсить excel и заливать данные в список автоматом, через SSIS или кастом-кодом.


    Business Solutions Architect, SharePoint Expert, Trainer, Speaker and Author http://gandjustas.blogspot.com/ Join Russian SharePoint Community at https://www.facebook.com/groups/sharepointrussian/

    9 сентября 2016 г. 0:41
  • На самом деле один из лучших вариантов - хранить KPI не в Excel, а в базе.

    Тогда все гораздо проще:

    1. сделать BCS подключение с одним методом.
    2. поправить BCS модель (xml), так чтобы в качестве параметра передавалось имя текущего пользователя.
    3. Написать запрос, который джоинит таблицу профилей с фильтром по имени пользователя(для получения подчиненных) и таблицу с KPI
    4. Сделать внешний список из этой модели

    Тогда и логика с правами работает, и не надо kerberos настраивать, и можно представление кастомизировать. Базу, кстати, можно обновлять из Excel c помощью SSIS.

    Но такое решение нельзя сделать в office 365, а вариант с Excel + JS заработает даже в облаке.


    Business Solutions Architect, SharePoint Expert, Trainer, Speaker and Author http://gandjustas.blogspot.com/ Join Russian SharePoint Community at https://www.facebook.com/groups/sharepointrussian/

    9 сентября 2016 г. 0:49
  • На юзер-группе сделал доклад на эту тему https://youtu.be/jOAewtMivvo

    Business Solutions Architect, SharePoint Expert, Trainer, Speaker and Author http://gandjustas.blogspot.com/ Join Russian SharePoint Community at https://www.facebook.com/groups/sharepointrussian/


    • Изменено gandjustas 1 октября 2016 г. 22:47
    • Предложено в качестве ответа Kaplin VladimirModerator 4 октября 2016 г. 8:25
    1 октября 2016 г. 22:47