首页 > 解决方案 > 如何降低复杂性?数据准备,SQL + Tableau

问题描述

我需要准备一些数据来连接到 tableau,而我正在苦苦挣扎,因为数据的大小对于 tableau 来说太大而无法处理,所以我正在寻找在 SQL 中有效地编写代码的想法。

设置:

我想要的是:

所以如果我有:

我最初的想法是创建一个表,每个用户一行,每个类别一个是/否列,然后聚合,但最终表的大小仍然太大,无法处理。

有任何想法吗?

更新:我的想法是准备一个包含汇总数字和最多几千行的表格,以便可以使用 tableau 进行处理

标签: sqltableau-api

解决方案


您可以为 30 个类别中的每一个分配一个唯一的占位符 1 到 30。此后,每个用户将根据他所属的类别分配一个 30 位的二进制数。然后可以将这个二进制数转换为其中最大的十进制数为 2^31-1 即 10 位数字,可以不使用 exp 格式存储。

每当您必须查看用户所属的类别时,可以通过应用反向转换来完成,即十进制转换为二进制,然后转换为左侧填充零的字符串。从此字符串中,您可以在所需位置搜索 1 的位置。

我认为您可以尝试这种方法。


推荐阅读