WHERE句は、式の入力レコードをフィルタリングするときに使用します。
WHERE <BooleanExpression>
RETURN results AS SELECT FactSales_RecordSpec AS id, FactSales_ProductKey AS keys FROM SaleState WHERE id > 5 ORDER BY keysは無効で、次のエラー・メッセージを返します。
In statement "results": In WHERE clause: The state "Sales" does not have an attribute named "id"
集計関数がWHERE句とともに使用されている場合は、ブール式をカッコで囲む必要があります。集計関数の一覧は、「集計関数」を参照してください。
RETURN Reps AS SELECT SUM(Amount) AS SalesTotal FROM SaleState WHERE Region = 'West' GROUP BY SalesRep HAVING SalesTotal > 10000
RETURN QuarterTotals AS SELECT SUM(Amount) As SalesTotal, SUM(Amount) WHERE (SalesRep = 'Juan Smith') AS JuanTotal FROM SaleState GROUP BY Quarter
この結果として、全体の売上合計と、Juan Smithの売上合計の両方が四半期別に返されます。WHERE句の中のブール式がカッコで囲まれているのは、集計式とともに使用されているからです(この例ではSUM)。
SUM(Amount) WHERE (SalesRep = 'Juan Smith') AS JuanTotal
集計ごとのWHEREフィルタの詳細は、「集計ごとのフィルタ」を参照してください。