AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
CRM
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2011, 08:47   #1  
Екатерина С is offline
Екатерина С
Участник
 
10 / 10 (1) +
Регистрация: 16.12.2011
Собрать 2-х уровневый отчет по холдинговым структурам из кучи уровней
Есть задача:
собрать отчет по холдинговым структурам клиентской базы в CRM.
Нужно хотя бы в 2 уровня в отчете показать (1 ур. - головная холдинга, 2 ур. - все его подразделения), но проблема в том, что у некоторых подразделений головной часто указано другое подразделение (т.к. сами холдинги многоуровневые), и если делать обычный запрос, группирующий клиентов по атрибуту "головная организация". то все холдинги просто разбросаны частями по отчету.

Подскажите, может кто сталкивался с подобной проблемой, как можно собрать отчет? Очень надо
А может кто знает как всю иерархию холдинговой структуры показать в отчете?
Старый 21.12.2011, 11:24   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Пример в экселе в студию. Если честно сходу не понял, как вы хотите структурировать отчёт и какие данные в него получить.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 21.12.2011, 11:39   #3  
Екатерина С is offline
Екатерина С
Участник
 
10 / 10 (1) +
Регистрация: 16.12.2011
Цитата:
Сообщение от a33ik Посмотреть сообщение
Пример в экселе в студию. Если честно сходу не понял, как вы хотите структурировать отчёт и какие данные в него получить.
пример таблицы прикрепляю,
отчет предполагает данные по холдинговым структурам.
сначала голова, ниже все подразделения, которые есть в базе.
для этого он должен брать значение поля "головная организация" у бизнес-партнера (А) и проверять если у бизнес-партнера (Б), указанного головной организацией для А не заполнено поле "головная организация", то ставить его как головную холдинга, а если у Б в поле "головная организация" тоже указан бизнес-партнер (В), то В ставит головной, а А и Б его дочерними.
ну это я так предполагаю логику...
Вложения
Тип файла: xlsx отчет по холдингам.xlsx (9.8 Кб, 174 просмотров)
Старый 21.12.2011, 12:02   #4  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
В сети можно найти немало примеров, как строить иерархические группировки в RS. Насколько я помню, есть ограничение на количество групп, но обычно это не вызывает проблемы. Если не ошибаюсь, RS 2005 поддерживал глубину вложенности в 8 позиций. Пример настройки такого отчета можно посмотреть тут: http://www.codeproject.com/KB/report...rsiveData.aspx
Смотреть нужно не программирование формы, а запрос и настройки групп отчета. Моя коллега делала аналогичный отчет - мы строили иерархию бизнес подразделений компании со списком пользователей в каждом из них. Нужно было показать численность каждого отдела, подразделения и т.д. до самого верха. Если не справитесь сами, я могу спросить у нее совета.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional

Последний раз редактировалось Артем Enot Грунин; 21.12.2011 в 12:05.
За это сообщение автора поблагодарили: Екатерина С (1).
Старый 21.12.2011, 15:48   #5  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Добрый день,

Сел наваял скрипт. Вроде как под все ваши требования подходит. Поправьте, если что проглядел:

Код:
Create Table #tmp(id int identity(1,1), AccountId Uniqueidentifier, IsParent bit)

Insert Into #tmp(AccountId, IsParent)
Select
	AccountId
	,1
From FilteredAccount
Where parentaccountid Is Null

Select
	(case t1.IsParent When 1 Then fa1.Name else null end) ParentAccountName
	,(case t1.IsParent When 0 Then fa1.Name else null end) ChildAccountName
	,fa1.address1_city
	,fa1.address1_stateorprovince
From
(Select AccountId, id, IsParent From #tmp
Union All
Select 
	fa.AccountId, t.id, 0 as IsParent
From FilteredAccount fa
	Inner Join #tmp t on fa.parentaccountid = t.AccountId) t1
	Inner Join FilteredAccount fa1 on t1.AccountId = fa1.accountid
Order By t1.id asc, t1.IsParent desc

drop Table #tmp
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Екатерина С (1).
Старый 22.12.2011, 11:23   #6  
Екатерина С is offline
Екатерина С
Участник
 
10 / 10 (1) +
Регистрация: 16.12.2011
Цитата:
Сообщение от a33ik Посмотреть сообщение
Добрый день,

Сел наваял скрипт. Вроде как под все ваши требования подходит. Поправьте, если что проглядел:

....
Спасибо, ваш скрипт почти то что нужно, только он в поле IsParent выводит все у которых нет головных, и получается, что весь список многотысячный клиентов попадает в этот отчет, а конечная цель составить отчет только по тем клиентам, которые являются структурой (только если у головной есть дочерние)
Старый 22.12.2011, 12:47   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Доброе утро,

Если так, то попробуйте следующий скрипт:

X++:
Create Table #tmp(id int identity(1,1), AccountId Uniqueidentifier, IsParent bit)

Insert Into #tmp(AccountId, IsParent)
Select
	a1.AccountId
	,1
From FilteredAccount a1
Where a1.parentaccountid Is Null and Exists (Select * From FilteredAccount a where a.parentaccountid = a1.accountid)

Select
	(case t1.IsParent When 1 Then fa1.Name else null end) ParentAccountName
	,(case t1.IsParent When 0 Then fa1.Name else null end) ChildAccountName
	,fa1.address1_city
	,fa1.address1_stateorprovince
From
(Select AccountId, id, IsParent From #tmp
Union All
Select 
	fa.AccountId, t.id, 0 as IsParent
From FilteredAccount fa
	Inner Join #tmp t on fa.parentaccountid = t.AccountId) t1
	Inner Join FilteredAccount fa1 on t1.AccountId = fa1.accountid
Order By t1.id asc, t1.IsParent desc

drop Table #tmp
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Elka (1).
Старый 26.12.2011, 06:33   #8  
Екатерина С is offline
Екатерина С
Участник
 
10 / 10 (1) +
Регистрация: 16.12.2011
Цитата:
Сообщение от a33ik Посмотреть сообщение
Доброе утро,

Если так, то попробуйте следующий скрипт:

....
Добрый день, этот скрипт выбирает только один уровень дочерних, у которых головная проставилась в первый столбец, а все остальные уровни не выбирает в таблицу вобще )
Теги
reporting services, иерархическая структура, отчет

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с загрукой отчета из VS2008 в MS CRM4.0 (отчет - матрица) Екатерина С Dynamics CRM: Разработка 11 16.12.2011 19:19
Как опубликовать отчет в CRM после редактирования в Report Builder? DOlga Dynamics CRM: Функционал 1 03.10.2011 16:38
Отчет по Звонкам из Быстрой кампании. Как добавить ФИО кому звонили? DOlga Dynamics CRM: Функционал 1 07.08.2011 13:59
Создать отчет с шапкой, содержащей агрегированные показатели xany Dynamics CRM: Функционал 3 06.03.2011 04:08
Проблема с публикацией отчетов - не работает "Сделать отчет доступным для организации" serjio72 Dynamics CRM: Администрирование 8 16.07.2009 18:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:17.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.