使用MetaDataPropertyValue筛选Azure流分析

时间:2018-08-13 19:14:39

标签: azure transformation azure-stream-analytics

SELECT  
    GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO 
    "outputstream" 
FROM 
    "inputstream"

我正在尝试获取元数据属性值以过滤数据。使用上面定义的查询,我可以获取元数据属性,但是如何基于此过滤输入流呢?

“输入流”是一个物联网接口,可从许多设备中获取数据。此元数据属性是区别不同产品的原因。我应该在where子句中写什么?

我尝试使用WHERE prodfilter = 'product1'`,但是没有用。

1 个答案:

答案 0 :(得分:1)

如果您像这样使用prodFilter

SELECT  
    GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO outputstream
FROM inputstream
WHERE prodFilter = 'product1'

,则尚未定义WHERE中的prodFilter。 您应该使用原始表达式,例如:

SELECT  
    GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO outputstream 
FROM inputstream
WHERE
    GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') = 'product1'

或者更好的是在不同的步骤进行过滤:

WITH step1 AS (
    SELECT  
        GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
    FROM inputstream

SELECT *
INTO outputstream
FROM step1
WHERE prodFilter = 'product1'