我正在Tableau Desktop中构建一个显示用户时间日志(log)的报告.它只有三行:LastNameStartTimeEndTime.

该报告正在运行,但它非常长,因为它显示了每个用户的每个时间值……因此Bob可能有90个不同的StartTimeEndTime条目.

有没有办法不仅 for each 用户显示very firstStartTimeEndTime,而且还添加一个按钮或控件,当单击该按钮或控件时,该按钮或控件将展开以显示ALL该用户的时间?

谢谢!

推荐答案

如果您使用的是SQL Server,我建议您创建一个存储过程(参数为p).像这样的东西

CREATE PROCEDURE [dbo].[ExtractTimes]

    @p                  INT

AS
BEGIN
    SET NOCOUNT ON

    ------------------------------------------------------
    -- OUTPUT
    ------------------------------------------------------
    IF @p=1
    BEGIN
        --------------------------------------------------------------------------------------------
        -- SELECT only top values [@p=1]
        --------------------------------------------------------------------------------------------
        SELECT LastName, StartTime, EndTime
        FROM (
            SELECT LastName, StartTime, EndTime, ROW_NUMBER() OVER (PARTITION BY LastName ORDER BY StartTime DESC) AS Rn
            FROM TableName
        ) X
        WHERE X.Rn=1
    
    END
    ELSE IF @p=2
    BEGIN
        --------------------------------------------------------------------------------------------
        -- SELECT all rows [@p=2]
        --------------------------------------------------------------------------------------------
        SELECT LastName, StartTime, EndTime
        FROM TableName
    END

END

execute it passing a parameter p由用户 Select ,它可以是1或2,这取决于您是想看到所有行,还是只想看到每个名称的最后一行.

每次用户更改参数时,Tableau都会再次执行SP. 请不要忘记声明SET NOCOUNT ON,否则它将不适用于Tableau.

Database相关问答推荐

如何将使用模块创建的 Redis RDB 文件迁移到没有该模块的部署? (RedisStack 版本 7.2+ 中不再包含 RedisGraph)

UML 类图中关联的复杂规则

获取总和列的比率

Postgresql:优化数字字段的列大小

如何打印出 sequelize 实例的表名?

为什么 COUNT() 只显示一行表格?

我应该为 Realm 中的每个实体定义主键吗?

SQLServer:如何对按外键依赖性排序的表名进行排序

无法使用命令行运行 liquibase

数据库供应商如何实现事务?

是否可以在ORDER BY子句之后放置任何可能造成安全风险的内容?

行之间的 SQL 差异

在 SQL 中与 NULL 值连接

Hibernate 的 MariaDB 方言类名称是什么?

存储并仍然索引加密客户数据的最佳方式是什么?

ORM 还是Vietnam of Computer Science吗?

什么是提交日志(log)?

使用 Sinatra 时与数据库对话的最佳方式是什么?

以编程方式嵌入 Java h2 数据库

SqlParameterCollection only accepts non-null SqlParameter type objects, not String objects