2

SSIS/SSAS を使用したデータ ウェアハウス プロジェクトでは、統合する個人データがあるため、独自の時間ディメンションを生成する必要があります。

翻訳も統合する必要があるため、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)
4

1 に答える 1

1

SQL Server には、月と曜日の名前を含むテーブルがあります。ただし、カンマ区切りの値として保存されます。

select
    months,
    shortmonths,
    days
from
    master.dbo.syslanguages
where
    alias in ('English','French', 'German')

これをクエリで使用できます。

于 2012-06-20T07:39:51.013 に答える