AXForum  
Вернуться   AXForum > Блоги > Fighter
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

Оценить эту запись

Легкий тюнинг диаграмм - 04 часть 2

Запись от Fighter размещена 08.01.2012 в 13:17
Теги 1:n, chart, link-entity

В предыдущем посте мы столкнулись с проблемой подсчета организаций, имеющих сделки и нет.
Наша логика строилась на использование вложенного (link-entity) запроса, внутри которого и проводился подсчет. В результате мы получали неправильный подсчет Организаций, у которых есть больше чем одна сделка (эти Организации подсчитывались столько раз, сколько сделок имели).
Решение проблемы заключается в правильном выборе типа диаграммы.
Теперь наша видоизмененная логика предполагает:
1) Подсчет всех Организаций во внешнем запросе с использованием aggregate=”countcolumn” distinct=”true”
2) Подсчет Организаций со сделками во внутреннем запросе по полю customerid с теми же требованиями aggregate=”countcolumn” distinct=”true”.

Приступаем к практической реализации.
Строим столбчатую диаграмму с двумя рядами данных, как показано на рис.
Нажмите на изображение для увеличения
Название: Chart_10.png
Просмотров: 1000
Размер:	19.5 Кб
ID:	194

На выходе имеем что-то вроде этого:

Нажмите на изображение для увеличения
Название: Chart_11.png
Просмотров: 869
Размер:	14.8 Кб
ID:	195

Редактируем раздел <fetchcollections>:

Код:
      <fetchcollection>
        <fetch mapping="logical" aggregate="true">
          <entity name="account">
            <attribute groupby="true" alias="_CRMAutoGen_groupby_column_Num_0" dategrouping="month" name="createdon" />
            <attribute alias="_CRMAutoGen_aggregate_column_Num_0" name="name" aggregate="countcolumn" distinct="true" />
            <link-entity name="opportunity" from="customerid" to="accountid" link-type="outer">
				<attribute alias="_CRMAutoGen_aggregate_column_Num_13" name="customerid" aggregate="countcolumn" distinct="true" />    
		    </link-entity>
	   </entity>
        </fetch>
      </fetchcollection>
На выходе получаем:

Нажмите на изображение для увеличения
Название: Chart_12.png
Просмотров: 902
Размер:	16.4 Кб
ID:	196
PS. Как изменить подписи к осям и названия рядов в легенде – описано в предыдущих темах.
Размещено в CRM
Просмотров 60827 Комментарии 1
Всего комментариев 1

Комментарии

  1. Старый комментарий
    Аватар для Fighter
    Добавим законченности в диаграмму и выровняем масштаб по оси Y для двух рядов данных.

    Просто уберите в определении второго ряда ссылку на вторую ось Y. Т.е. в разделе

    <Series ChartType="Column" IsValueShownAsLabel="True" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40" YAxisType="Secondary"></Series>

    нужно удалить YAxisType="Secondary"
    Запись от Fighter размещена 08.01.2012 в 13:25 Fighter is offline
 


Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:48.