获取MAX日期记录

时间:2015-09-28 08:56:14

标签: sql-server tableau

我的数据库中有这样的数据。我的报告将包含2个参数,Start DateEnd Date

SQL Query

例如,如果用户选择Start Date = 1/1/2015End Date = 12/31/2015,则报告应返回用户TierCode = Privilege

我使用存储过程实现了这一点。但是这里的表现是一个问题,因为我无法使用Extract Data。

SELECT
    m.MemberID,
    ty.TierCode AS TierCodeTY,
    ly.TierCode AS TierCodeLY
FROM
    Tangs_dim_Member m LEFT JOIN
    (
        SELECT TierCode, MemberID, ROW_NUMBER() OVER(PARTITION BY MemberID ORDER BY SnapshotDate DESC) AS i
        FROM dw_Tangs_MonthlySnapshot
        WHERE SnapshotDate >= @StartDate AND SnapshotDate <= @EndDate
    ) ty
ON
    ty.MemberID = m.MemberID AND ty.i = 1 LEFT JOIN
    (
        SELECT TierCode, MemberID, ROW_NUMBER() OVER(PARTITION BY MemberID ORDER BY SnapshotDate DESC) AS i
        FROM dw_Tangs_MonthlySnapshot
        WHERE SnapshotDate >= DATEADD(year,-1,@StartDate) AND SnapshotDate <= DATEADD(year,-1,@EndDate)
    ) ly
ON
    ly.MemberID = m.MemberID AND ly.i = 1

Tableau Dashboard

如何在不使用存储过程的情况下实现上述报告。只要我可以使用视图/自定义查询/表格+提取数据,计算字段就可以了。因此,数据将在Tableau过滤,而不是在数据库中过滤。

1 个答案:

答案 0 :(得分:0)

我认为您可以通过添加[日期]订购来获取最后插入的记录 并通过在sql查询中添加[Limit 1]来获得第一个

希望能帮到你