我遇到错误:
无法在视图'Sample.wwi.SalesByTerritory'上创建聚簇索引'SalesByTerritory',因为它不聚合结果。考虑更改视图定义。
我正在尝试在Azure SQL数据仓库(现在称为Azure Synapse)中创建实例化视图。我只是想用sales表创建一个视图,并从另一个表中获取地区名称和日期。下面是我正在使用的代码:
CREATE MATERIALIZED VIEW wwi.SalesByTerritory
WITH (distribution = hash([Sale Key]))
AS
SELECT Sale.[Sale Key],
Sale.[Description],
Sale.[Quantity],
Sale.[Profit],
City.[Sales Territory],
SaleDate.[Date],
SaleDate.[Fiscal Month Label]
FROM wwi.fact_Sale Sale
JOIN wwi.dimension_City City ON Sale.[City Key] = City.[City Key]
JOIN wwi.dimension_Date SaleDate ON Sale.[Invoice Date Key] = SaleDate.[Date]
这可能是因为Azure Synapse(DW)实例化视图仅在存在某种聚合时才可能起作用(可能是为了确保某些列的唯一性)。This page讨论需要满足以下两个条件之一: