Определение именованных вычислений в представлении источника данных (службы Analysis Services)
Именованное вычисление является выражением SQL, представленным в виде вычисляемого столбца. Данное выражение выглядит и работает как столбец таблицы. Именованное вычисление позволяет расширить реляционную схему таблиц или представлений, существующих в представлении источника данных, не изменяя таблицы или представления в базовом источнике данных. Рассмотрим следующие примеры:
Создайте одно именованное вычисление, получаемое из нескольких столбцов таблицы фактов (например, вычисление суммы налога путем умножения налоговой ставки на стоимость продажи).
Составьте для элемента измерения понятное имя.
Для повышения производительности запросов создайте именованное вычисление в представлении источника данных вместо создания вычисляемого элемента в кубе. Именованные вычисления рассчитываются в процессе обработки, тогда как вычисляемые элементы рассчитываются во время запроса.
Создание именованных вычислений
Примечание |
---|
Именованное вычисление нельзя добавить в именованный запрос, а именованный запрос не может быть основан на таблице, которая содержит именованное вычисление. |
При создании именованного вычисления указывается имя, выражение SQL и (необязательно) описание вычисления. Выражение SQL может ссылаться на другие таблицы в представлении источника данных. После определения именованного вычисления выражение в именованном вычислении отправляется поставщику источника данных и проверяется в виде указанной ниже инструкции SQL, в которой <Expression> содержит выражение, определяющее именованное вычисление.
SELECT
<Table Name in Data Source>.*,
<Expression> AS <Column Name>
FROM
<Table Name in Data Source> AS <Table Name in Data Source View>
Тип данных столбца определяется типом данных скалярного значения, возвращенного выражением. Если поставщик не обнаружит каких-либо ошибок в выражении, то столбец будет добавлен к таблице.
Столбцы, указанные в выражении, не должны иметь квалификатора вовсе или должны иметь только такой квалификатор, который соответствует имени таблицы. Например, для ссылки на столбец SaleAmount в таблице можно использовать SaleAmount или Sales.SaleAmount, но dbo.Sales.SaleAmount возвращает ошибку.
Выражение не заключается автоматически в скобки. Следовательно, если выражение, например инструкцию SELECT, необходимо заключить в скобки, то необходимо ввести скобки в поле Выражение. Например, следующее выражение допустимо только при наличии скобок.
(SELECT Description FROM Categories WHERE Categories.CategoryID = CategoryID)
Добавление или изменение именованного вычисления
В среде SQL Server Data Tools (SSDT) откройте проект или подключитесь к базе данных, содержащей представление источника данных, в котором необходимо определить именованное вычисление.
В обозревателе решений откройте папку Представления источников данных и дважды щелкните представление источника данных.
На панели Таблицы или на панели Диаграмма щелкните правой кнопкой мыши таблицу, в которой необходимо определить именованное вычисление, и выберите пункт Создать именованное вычисление. Правой кнопкой мыши щелкните имя таблицы, но не атрибут. Меню должно иметь следующий вид.
Примечание Чтобы найти таблицу или представление, можно использовать команду Поиск таблицы, выбрав меню Представление источника данных или щелкнув правой кнопкой мыши рабочую область панели Таблицы или панели Диаграмма.
В диалоговом окне Создание именованных вычислений выполните следующие действия:
В текстовом поле Имя столбца введите имя нового столбца.
В текстовом поле Описание введите описание нового столбца.
В текстовом поле Выражение введите выражение, которое возвращает содержимое нового столбца на приемлемой для поставщика данных разновидности языка SQL.
Нажмите кнопку ОК.
Столбец именованного вычисления появится как последний столбец в таблице представления источников данных. Значок калькулятора указывает на то, что столбец содержит именованное вычисление.
Удаление именованного вычисления
При попытке удалить именованное вычисление приложение выдаст список объектов, определенных в проекте или базе данных, которые при удалении станут недействительными. Внимательно просмотрите список перед удалением вычисления.
См. также
Основные понятия
Определение именованных запросов в представлении источника данных (службы Analysis Services)