【发布时间】:2015-09-12 00:14:09
【问题描述】:
在 SSAS AdventureWorks 架构中,我试图计算出有多少不同客户的互联网订单超过 1000 美元。
我试图进行这样的 MDX 查询,它似乎几乎工作,除了新措施似乎忽略了切片器轴/WHERE 条件,显示了客户的数量所有个国家,不只是澳大利亚:
With
member [measures].[DistinctCustomersHighSales] as
distinctcount(
filter([Customer].[Full Name].Members, [Measures].[Internet Sales-Sales Amount] > 1000)
)
SELECT {
[Measures].[Internet Sales-Sales Amount],
[Measures].[DistinctCustomersHighSales]
}
on columns,
([Date].[Calendar Date].[Calendar Year].Members) on rows
FROM [Analysis Services Tutorial]
WHERE [Customer].[Customer Geography].[Country-Region].[Australia]
我做错了什么?
如果我在 SQL 中执行此操作,我会寻找类似的东西
SELECT Year(OrderDate) as year,
sum(SalesAmount)
count(case when count(distinct case when SalesAmount > 1000 then dc.customerkey end)
FROM dbo.FactInternetSales fis
join dbo.dimcustomer dc on fis.CustomerKey=dc.CustomerKey
join dbo.DimGeography dg on dc.GeographyKey=dg.GeographyKey
WHERE EnglishCountryRegionName='Australia'
GROUP BY year(OrderDate)
ORDER BY year
【问题讨论】: