mdx で 2 つの日付 (両端を含む) を実行しようとしています。2 つのファクト テーブルと 1 つのマッピング テーブルがあります。
Fact_TableA
TableAId,
ValueA,
Date_FK
Fact_TableB
TableBId,
ValueB,
Date_FK
Fact_MappingTable
TableAId,
TableBId
Fact_MappingTable は、Fact_TableA および Fact_TableB と多対多の関係にあります。以下のクエリを書きました
SELECT
NON EMPTY
{
[Measures].[ValueA],
[Measures].[ValueB]
} ON COLUMNS,
NON EMPTY
{
(
[Fact Table A].[Column AID].[Column AID].ALLMEMBERS *
[Fact Table B].[Date FK].[Date FK].ALLMEMBERS
)
} DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM
(
select ([Fact Mapping Table].[Date FK].&[2014-12-10T00:00:00] : [Fact Mapping Table].[Date FK].&[2015-01-01T00:00:00]) ON COLUMNS FROM [DW Testing]
)
このクエリは、
Select
Fact_TableA.ValueA
,Fact_TableB.ValueB
from
Fact_TableA
left outer join Fact_MappingTable on
Fact_TableA.TableAId = Fact_MappingTable.TableAId
left outer join Fact_TableB on
Fact_TableB.TableBId = Fact_MappingTable.TableBId
where Date_FK between '2015-01-01' and '2015-01-01'
しかし、私の要件は
Select
Fact_TableA.ValueA
,Fact_TableB.ValueB
from
Fact_TableA
left outer join Fact_MappingTable on
Fact_TableA.TableAId = Fact_MappingTable.TableAId and
Fact_MappingTable.DateM_FK between '2015-01-01' and '2015-01-10'
left outer join Fact_TableB on
Fact_TableB.TableBId = Fact_MappingTable.TableBId
where Date_FK between '2015-01-01' and '2015-01-10'
Subselect および Where スライサーを実行しようとしましたが、正しく機能しません。これを MDX で行う方法について何か提案はありますか? フィルター処理を実行するために、ディメンションの使用法がディメンションとファクト テーブル間の関係をどのように持つ必要があるか。スクリーンショットを添付