我是 olap 的新手,使用 AdventureWorksDW2008R2 db 和 Adventure Works 2008R2 olap 和 Adventure Works 多维数据集。
我想使用 T-SQL 根据结果编写一个 mdx 查询:-
select
FactResellerSales.OrderDateKey,
SUM(FactResellerSales.SalesAmount) as 'Reseller Sales Amount'
from FactResellerSales with (nolock)
inner join DimEmployee on DimEmployee.EmployeeKey = FactResellerSales.EmployeeKey
where
FactResellerSales.OrderDateKey=20070901
and DimEmployee.FirstName='Jae' and DimEmployee.LastName='Pak'
group by FactResellerSales.OrderDateKey
结果:
OrderDateKey Reseller Sales Amount
20070901 415046.9295
使用 mdx 查询,我只能执行以下操作:-
SELECT [Measures].[Reseller Sales Amount] ON COLUMNS,
NON EMPTY [Date].[Date].members ON ROWS
FROM [Adventure Works]
WHERE [Employee].[Employees].&[291]
结果是从 2006 年 7 月 1 日到 2008 年 6 月 1 日,每天都有相应的经销商销售额汇总。
我的问题是,在 mdx 查询 WHERE 子句中,我该如何:
a) 按日期过滤,即 2007 年 9 月 1 日?它不接受日期维度。
b) 使用多级层次结构中的名称“Jae B. Pak”按员工过滤,而不是使用 291 的 EmployeeKey。