Невозможно сравнить данные типов System.Int32 и System.String в диаграмме

Я использую Reporting Services 2012 и имею диаграмму, которая использует набор данных, который изменяет свои данные на основе параметров.

Эти данные представляют собой просто набор периодов, отформатированных как ГГГГММ целое число, номер машины целое и число десятичное (12,2). Мы выбираем на основе номера машины и периода и извлекаем все эти десятичные числа (12,2) и отображаем их на графике.

Это работает для большинства машин, но на нескольких машинах, которые мы выбираем, мы получаем следующую ошибку

Произошла ошибка во время локальной обработки отчета. Произошла ошибка при обработке отчета. Обработка Родителя для диаграммы 'chart1' не может быть выполнена. Невозможно сравнить данные типов System.Int32 и System.String. Пожалуйста, проверьте тип данных, возвращаемый Родителем.

Номер машины, который работает, - 516. Тот, который не работает, - 517. Ничто не отличается в возвращаемых результатах SQL от 516 и 517, кроме разных чисел, 5.23 вместо 5.17 в качестве примера. В данных нет нулей и нулей, и определенно нет строк.

Любая помощь относительно того, где искать дальше, будет оценена.

1 ответ

Решение

Я не знаю, будет ли это полезно или нет, но для устранения ошибки нужно было изменить SQL-запрос на

cast(machno as varchar) 

везде мачно было в запросе. Это не объясняет, почему диаграмме нужна строка вместо int.

Другие вопросы по тегам