Источник:
http://axforum.info/forums/blog.php?b=271
==============
Начало статьи смотрите в посте
Геоданные в CRM и SQL Server Reporting Services (часть 1).
В первой части этой мы закончили с настройками геоднанных в отчете, теперь можем приступать к самой сути: аналитике.
На следующем шаге мастера мы должны выбрать набор аналитических данных SalesSet, после чего указать по какому полю будут связываться два набора данных. В нашем случае это код региона - Region.
Далее, выбираем конечный стиль отображения в выбраном нами пресете и поле которое будет визуализироваться: Total. Замечу, что стиль и даже тип визуализации всегда можно будет изменить в настройках слоя, так что если вам не понравится результат заново проходить по шагам мастер не потребуется. На этом же шаге мы можем выбрать подпись к полигонам карты. В нашем случае это поле Name.
Завершаем работу мастера и можем пожинать плоды нашего труда.
Как я уже говорил, вы всегда можете изменить параметры слоя, для того чтобы изменить его внешний вид, или, например, добавить в отчет какие-либо вычисляемые данные.
p.s. Элемент "карта", как и многие другие визуальные элементы, не любит группировки сделанные уже в SQL запросе. Вы могли обратить внимание, что в качестве аналитического поля для визуализации данных, мастер позволяет нам выбрать лишь SUM(Total), но не просто значение поля Total. Так же отмечу, что набор данных (DataSet) связанный с картой, ее слоями и полигонами - это аналитический датасет. Поэтому даже метки названий регионов по умолчанию выбираются из него. Разработчики оставили нам возможность использовать ссылки на поля набора геоданых, например
#Name или
#Region, однако с ними невозможно осуществлять вычисления и могут возникнуть сложности с их отображением. Например, неадекватная реакция на NULL.
Вариантов решения два:
- использовать только один набор данных, в котором возвращать и геоданные и аналитику по ним.
- Не использовать набор геоданых для чего либо кроме получения самих полигонов и их идентификаторов.
Первое решение, пожалуй, имеет больше минусов, так как мы получаем более сложный запрос и очень большой объем выбираемых данных за счет наличия поля geometry.
Источник:
http://axforum.info/forums/blog.php?b=271