В проекте Datawarehouse с SSIS/SSAS я должен создать собственное измерение времени, потому что у меня есть личные данные для интеграции.SQL Server несколько языков дат в одном запросе
Моя проблема связана с SSAS, потому что мне также необходимо интегрировать перевод. После прочтения документации я нашел команду для установки языка для текущего сеанса с помощью SET LANGUAGE ENGLISH
, но я не могу изменить язык для другого поля запроса.
Есть ли способ генерировать MONTH_NAME
по-французски, а также получить MONTH_NAME_DE
?
Вот скрипт, который я нашел в Интернете
WITH Mangal as
(
SELECT Cast ('1870-01-01' as DateTime) Date --Start Date
UNION ALL
SELECT Date + 1
FROM Mangal
WHERE Date + 1 < = '2015-12-31' --End date
)
SELECT
Row_Number() OVER (ORDER BY Date) as ID
, Date as DATE_TIME
, YEAR (date) as YEAR_NB
, MONTH (date) as MONTH_NB
, DAY (date) as DAY_NUMBER
, DateName (mm, date) as MONTH_NAME
, LEFT (DateName (mm, date), 3) KMONTH_NAME
, DateName (dw, date) as DAY_NAME
, LEFT (DateName (dw, date), 3) as KDAY_NAME
, (SELECT TOP 1 FIELD
FROM TABLEXY
WHERE Date BETWEEN TABLEXY.DATE_FROM AND LEGISLATUR.DATE_TO
AND LANGAGE = 'FR'
) as PERSONAL_FIELD
, (SELECT TOP 1 FIELD
FROM TABLEXY
WHERE Date BETWEEN TABLEXY.DATE_FROM AND LEGISLATUR.DATE_TO
AND LANGAGE = 'DE'
) as PERSONAL_FIELD_DE
FROM Mangal
OPTION (MAXRECURSION 0)
Спасибо за ответ. Но они «взорваны» в одну строку, например «январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь». Dow вы знаете, как совместить связь между моим запросом? –
Я нашел статью, в которой объясняется, как разбить данные 'syslanguages' здесь: http://sqlserverdiaries.com/blog/index.php/2012/01/using-built-in-multi-language-month-and- weekday-names-for-application-lists/Я думаю, что это будет полезно. Еще раз, спасибо за ваш ответ! –