针对Web的Azure应用程序洞察,在功能BI中显示唯一用户

时间:2015-08-20 13:24:38

标签: asp.net-mvc azure azure-application-insights powerbi

我们使用Application Insights -> Stream Analytics -> Power BI路径设置网站分析。

我们希望在Power BI仪表板中看到每日唯一身份访问者的图表。

如果[context].[user].anonId不同,则用户被视为唯一身份。时间放在[context].[data].eventTime见证json。

导出查询看起来应该是这样的(我们知道如何解决丢失的unique关键字,因此我将使用它来简化):

SELECT
    count(unique A.[context].[user].anonId)
    SYSTEM.TIMESTAMP
FROM
    [export-input] A
    TIMESTAMP BY A.[context].[data].eventTime
GROUP BY 
    TumblingWindow(day, 1)

问题是TIMESTAMP BY不支持限定字段。没有它,我们实际上不是按实际页面访问时间对用户加时间戳,而是在此数据输入流分析时。这意味着,我们可能会松散一堆独特的uesrs,或者计算其中一些uesrs。

是否有解决方法?

2 个答案:

答案 0 :(得分:1)

TIMESTAMP BY现在支持限定字段,因此它不再是问题。不过请注意,Stream Analytics没有Unique / Distinct关键字。您需要像这样重写您的查询以计算唯一计数:

WITH step1 AS
(
SELECT
    COUNT(*) countPerAnonId
FROM
    [export-input] A
    TIMESTAMP BY A.[context].[data].eventTime
GROUP BY 
    A.[context].[user].anonId,
    TumblingWindow(day, 1)
)

SELECT COUNT(*)
FROM step1
GROUP BY System.Timestamp

答案 1 :(得分:0)

您是否可以在ASA方面提交查看时间'作为您的事件的属性(来自客户端),然后在ASA中选择。我并不熟悉ASA的限制,但如果上述方法无效,我可以找人帮忙。在Power BI中,您可以使Q& A查询像"在过去24小时内显示不同的anonID"或者" ......在最后一天"。如果有日期字段,则应符合您的预期行为。