使用MDX从集合中获得最高结果
我需要从多维数据集中得到每个州前50名卖家的名字 这就是我目前所拥有的使用MDX从集合中获得最高结果,mdx,Mdx,我需要从多维数据集中得到每个州前50名卖家的名字 这就是我目前所拥有的 SELECT NON EMPTY ( [DimGeo].[State].[State].ALLMEMBERS * [Measures].[Total Sales]) ON COLUMNS, NON EMPTY TOPCOUNT([DimEmployee].[Employee ID].[EmployeeID].MEMBERS,50,[Measures].[Total Sales]) ON ROWS FROM Sales 但
SELECT NON EMPTY ( [DimGeo].[State].[State].ALLMEMBERS *
[Measures].[Total Sales]) ON COLUMNS,
NON EMPTY TOPCOUNT([DimEmployee].[Employee ID].[EmployeeID].MEMBERS,50,[Measures].[Total Sales]) ON ROWS
FROM Sales
但这只得到50个结果(即使一个州没有50个结果)。我想将状态结果限制为50个非空的最高值
示例:最终表格将有2500个结果(每50个州排名前50位的经销商)
我有没有办法做到这一点
谢谢,通过将状态移动到行级别,这对您有用吗
SELECT NON EMPTY ( [Measures].[Total Sales]) ON COLUMNS,
NON EMPTY ([DimGeo].[State].[State].ALLMEMBERS * TOPCOUNT([DimEmployee].[Employee ID].[EmployeeID].MEMBERS,50,[Measures].[Total Sales])) ON ROWS
FROM fdmdw
通过将状态移动到行级别,这对您有用吗
SELECT NON EMPTY ( [Measures].[Total Sales]) ON COLUMNS,
NON EMPTY ([DimGeo].[State].[State].ALLMEMBERS * TOPCOUNT([DimEmployee].[Employee ID].[EmployeeID].MEMBERS,50,[Measures].[Total Sales])) ON ROWS
FROM fdmdw
我猜您正在寻找函数:
SELECT
NON EMPTY ( [Measures].[Total Sales]) ON COLUMNS,
NON EMPTY Generate( [DimGeo].[State].[State].ALLMEMBERS as s,
TOPCOUNT(s.currentMember * [DimEmployee].[Employee ID].[EmployeeID].MEMBERS, 50, [Measures].[Total Sales] ))
ON ROWS FROM fdmdw
我猜您正在寻找函数:
SELECT
NON EMPTY ( [Measures].[Total Sales]) ON COLUMNS,
NON EMPTY Generate( [DimGeo].[State].[State].ALLMEMBERS as s,
TOPCOUNT(s.currentMember * [DimEmployee].[Employee ID].[EmployeeID].MEMBERS, 50, [Measures].[Total Sales] ))
ON ROWS FROM fdmdw
我以前试过这个,但它只是让我在所有州中排名前50名,而不是每个州的前50名。我以前试过这个,但它只是让我在所有州中排名前50名,而不是每个州的前50名。这正是我要找的,这对我帮助很大!这正是我要找的,这对我帮助很大!