Tableau参考线,避免使用当前过滤器

时间:2018-05-17 21:44:20

标签: sql sql-server tableau tableau-server

我有完成或未完成的任务。这些任务与具有开始和结束日期的项目相关联。任务完成后,它将获得一个完整的时间戳。

我想显示一个已完成任务的总计图表,其中一条参考线从左下角到右上角。我希望这条线的斜率由与项目开始和结束日期之间的差异无关的任务总数来定义。

我已成功创建一条参考线,其斜率由已过滤数据的时间跨度内已完成任务的总数定义。换句话说,我的问题是我无法从当前过滤器中省略参考线。

以下是我正在寻找的图片: enter image description here 想象一下,那条蓝线是直的。读取行是我的任务完成总计,其任务完成时间戳决定了它们沿x轴的位置。我想要一条直线,显示整个项目的进展速度,假设任务以恒定速率完成。

更新

我尝试通过两个点创建该行作为自定义sql脚本形式的第二个数据源:

SELECT p.ProjectId, n * COUNT(t.TaskListId) AS Tasks, IIF(n = 0, p.DateStart, p.DateEnd) AS DATE
FROM (VALUES (0),(1)) v(n)
INNER JOIN analysis.Tasks t ON t.ProjectId = t.ProjectId
INNER JOIN analysis.FacilityProject p ON t.ProjectId = p.ProjectId
GROUP BY v.n, p.ProjectId, p.DateStart, p.DateEnd
ORDER BY ProjectId, Tasks

当我将其添加到我的工作表时,它会降低Tableau Desktop的速度。我不知道该怎么做,因为它会将此查询中的列拆分为维度和度量(Date出现在维度>任务计数中,Tasks出现在度量>任务计数中。我已经尝试将Tasks放在行和列中,它似乎真的勾掉了Tableau Desktop。

以下计算字段不起作用。我试图理解下面的现有答案,但我尝试使用聚合和非聚合值的混合算术。还有其他想法吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

Level of Detail expressions可让您将计算“修复”到特定维度。此外,LoD表达式是在Dimension或Measure过滤器之前计算的。

您可以使用FIXED关键字以及计算应基于的维度。因此,如果您具有的最小特定维度是日期(即它是第一维度),您可以执行以下操作:

{FIXED [Date] : <aggregation calculation for line> }