我创建了一个具有以下特征的名为Tb_Offers_Cube的多维数据集。问题在于使用max函数查找每个城市提供最多数量的产品。我仍在为每个城市购买多种产品。
The dimensions of the cube are: Tb_Supplier and Tb_Product.
Measure groups table is: Tb_Offers.
Measure aggregates: SUM(Quantity), SUM(Quantity*Price),
MAX(Price) , MIN(Price).
Dimension hierarchies:
Tb_Supplier: State > City > Name
Tb_Product: Product_Packaging > Name
Product_Category > Product_Line > Name
--For each supplier city find the product offered in largest quantity?
SELECT [Supplier City], [Product Name], max(DISTINCT [Total Transactions Quantity])
FROM Tb_Offers_Cube
WHERE [Supplier Name] is NULL
AND [Supplier State] is NOT NULL
AND [Supplier City] is NOT NULL
AND [Product Name] is NOT NULL
AND [Product Packaging] is NOT NULL
AND [Product Category] is NULL
AND [Product Line] is NULL
GROUP BY [Supplier City], [Product Name], [Total Transactions Quantity]
ORDER BY [Supplier City], [Total Transactions Quantity] DESC;
答案 0 :(得分:0)
对于每个max
,您可以获取city
产品名称,以包含在您的显示中。
SELECT [Supplier City]
, [Total Transactions Quantity]
, (SELECT TOP 1 [Product Name] FROM Tb_Offers_Cube WHERE [Total Transactions Quantity] = t.[Total Transactions Quantity]
AND [Supplier City] = t1.[Supplier City]) AS [Product Name]
FROM
(SELECT [Supplier City]
, max(DISTINCT [Total Transactions Quantity]) [Total Transactions Quantity]
FROM Tb_Offers_Cube
WHERE [Supplier Name] is NULL
AND [Supplier State] is NOT NULL
AND [Supplier City] is NOT NULL
AND [Product Name] is NOT NULL
AND [Product Packaging] is NOT NULL
AND [Product Category] is NULL
AND [Product Line] is NULL
GROUP BY [Supplier City]) t
ORDER BY t.[Supplier City], t.[Total Transactions Quantity] DESC;