我在Greenplum数据库上有如下表结构:
希望将其更改为以下结构,以便在Tableau上支持饼图。
有人能帮帮我吗?谢谢!
答案 0 :(得分:1)
答案 1 :(得分:1)
SQL Server 2008 : Convert column value to row
http://blog.devart.com/is-unpivot-the-best-way-for-converting-columns-into-rows.html
答案 2 :(得分:0)
只是为了确保您了解此Tableau功能:
一旦您设计了将按照您希望的方式取消数据的SQL select语句,那么您可以通过编辑数据连接并选择Custom SQL选项来告诉Tableau使用它而不是select *。
在你的情况下忽略的通用方法是将几个select语句结合在一起,除非你的数据库提供了一个更有效的选择,如Revanayya所引用的博客条目所述。
答案 3 :(得分:0)
以下内容可用于预先知道的一组静态指标:
SELECT
t.Date,
x.Metric,
CASE x.Metric
WHEN 'metric1' THEN metric1_week
WHEN 'metric2' THEN metric2_week
END AS week_val,
CASE x.Metric
WHEN 'metric1' THEN metric1_13week
WHEN 'metric2' THEN metric2_13week
END AS "13week_val"
FROM
atable AS t
CROSS JOIN
(VALUES ('metric1'), ('metric2')) AS x (Metric)
;
您可以从上面构建dynamic query来计算未知数量的指标。为此,在将它们嵌入查询之前,您需要读取元数据(可能是INFORMATION_SCHEMA.COLUMNS
系统视图)以构建动态位,即VALUES列表和两个CASE表达式。