Значение поля битового типа данных 1 автоматически преобразуется в -1 в табличной модели - PullRequest
0 голосов
/ 01 октября 2019

У меня есть таблица в базе данных сервера sql, в которой есть столбец «Восстановлено» с битом типа данных. когда я импортировал эту таблицу в табличную модель SSAS, она автоматически была преобразована в тип данных «True / False». Я изменил его на целое число в свойствах столбца и обработал эту таблицу. Он конвертирует 1 в -1. Я хочу исправить это в табличной модели и показать как 1, но не получаю как. Любое решение?

1 Ответ

0 голосов
/ 07 октября 2019

Не следует полагаться на неявное преобразование типов данных.

Вместо этого создайте представление поверх таблицы SQL, указав все столбцы, которые вы хотите импортировать в табличную модель, но явно преобразовав битовый столбец. в целое число:

CREATE VIEW [dbo].[MyView] AS
SELECT
    CONVERT(INT, [Recovered]) AS [Recovered],
    [Column1],
    [Column2],
    ...
FROM [dbo].[MyTable]

Затем импортируйте это представление в табличную модель вместо таблицы. SQL Server должен правильно преобразовать битовое значение 1 в целочисленное значение 1, которое будет сохранено в табличной модели.

Если вам по какой-либо причине не разрешено создавать представление, вы также можете поместитьзапрос SELECT в запрос разбиения вашей табличной модели, но предпочтительнее иметь представление.

...