SSRS 2012 - создание столбчатой ​​диаграммы с накоплением и кластеризацией - PullRequest
3 голосов
/ 11 апреля 2019

Предположим, у меня есть таблица продаж от автосалона со следующими столбцами:

Salesperson

VehicleType (может быть "автомобиль" или "грузовик")

SaleType (Может быть «базовым» или «роскошным»)

Используя SSDT2012, я хотел бы сделать гистограмму, отображающую продажи, хранящиеся в этой таблице.Я хотел бы, чтобы данные сгруппировались по оси X по Salesperson.Для каждой группы Salesperson мне бы хотелось 2 кластеризованных столбца, каждый из которых представлял бы общее количество продаж для каждого VehicleType.Мне бы хотелось, чтобы в каждом из этих столбцов также отображались суммированные данные о том, сколько из этих итогов составляло SalesType.По сути, я бы хотел, чтобы диаграмма выглядела следующим образом:

enter image description here

(обратите внимание, текстовые метки на столбцах приведены для пояснения и не нуждаются вбудет отображаться в реальном отчете)

Я знаю способы отображения этих данных в виде 4 кластеризованных столбцов и в виде 1 столбца с накоплением, но не могу найти способ сделать это.Я нашел один обходной путь, включающий настройку второй серии для использования вторичной оси, но в реальном отчете, который я создаю, он уже используется чем-то другим, поэтому я не могу этого сделать.Я также попробовал решение из другого поста SO здесь: SSRS BIDS кластеризованная столбчатая диаграмма с разбивкой по столбцам , но, как отмечается в комментариях там, форматирование не соответствует тому, что мне нужно.Если кто-нибудь знает, как выполнить вышеизложенное, или даже если это просто невозможно сделать в SSDT2012, я был бы очень признателен.

1 Ответ

2 голосов
/ 20 апреля 2019

Я бы занялся этим, главным образом, путем подделки дополнительных записей «Продавец» в наборе данных. Для ваших примеров данных я бы добавил строку для:

Продавец = "A_" | VehicleType = "car" | SaleType = "basic" | Продажи = 0

Тогда вам просто нужно подавить метки для этих "_" записей. Вы можете сделать это с помощью выражений на ярлыках групп категорий, например

=If ( Fields!Salesperson.Value.Contains("_"),"", Fields!Salesperson.Value )

=If ( Fields!Salesperson.Value.Contains("_"),"", Fields!VehicleType.Value)

Я поделился демо для этого, оно находится в моей папке Demo, файл: Демо построителя отчетов - диаграмма с накоплением и кластеризацией .rdl

https://1drv.ms/f/s!AGLFDsG7h6JPgw4

Stacked and Clustered Bar Chart

...