0

我目前正在尝试在 Tableau 的 LOD + 表表达式中完成以下 SQL:

SELECT PATIENTID,CLINIC_ID,DATE,QUANTITY,SUM(QUANTITY) OVER (PARTITION BY PATIENTID ORDER BY DATE ASC) AS RUNNING_TOTAL
FROM "MY_SCHEMA".MY_SUMMARY
ORDER BY PATIENTID,DATE ASC

通常,我只会在自定义 SQL 数据源中使用上述内容,但我需要在 LOD + 表计算中使用它,因为我希望可以根据仪表板上的参数自定义开始日期。

我尝试了以下方法:

RUNNING_SUM({fixed [Patientid],[Clinic Id]: SUM([Quantity]) })

但这会出现以下错误:

All fields must be aggregate or constant when using table calculation functions or fields from multiple data sources

我可以成功地做到:

RUNNING_SUM(SUM([Quantity]))

但这当然只是总体上的总和,而不是每个患者/诊所的总和。

我也试过:

{fixed [Patientid],[Clinic Id]: RUNNING_SUM(SUM([Quantity])) }

但这会得到错误:

Level of detail expressions cannot contain table calculations or the ATTR function.
4

1 回答 1

0

您可以执行运行总和计算,因为您已经拥有它,但您还需要在 Patient ID 和 Clinic ID 之间创建一个复合键,该键将放在详细信息架上,因此您可以指示 Tableau 重新启动使用该字段的运行总和计算。

于 2021-06-14T12:42:48.220 回答