我正在尝试利用DocumentDB / Elastic / NoSQL的优势来检索大数据并将其可视化。我想使用PowerBI来做到这一点,这是非常好的,但是,我不知道如何建模具有1:N嵌套数据字段的文档。 E.g。
select
NOMBRE_DOC
from
DOCTORES
where
DNI_DOC IN (select DNI_DOC
from PETICIONES
group by ID_ANA
order by count(*) desc
limit 2)
group by
DNI_DOC;
在正常情况下,您可以通过展开嵌套值并加入它们来展平表格,但是当它是1:N / A列表时,如何做到这一点。有没有办法可以将其提取到自己的表中?
我一直在考虑建立一个将文档转换为数据表的桥梁,但这感觉就像是一种不正确的方法,并进一步证明了应该制作多少端点和查询的一些复杂性。
我不禁认为这是一个已解决的问题,因为许多地方分析和可视化存储在无sql中的大量数据。另一种方法是规范化的关系数据库,但是当你为这些场景调整nosql时,你分析的数百万条数据似乎也是不正确的。
答案 0 :(得分:0)
如果数据1:N,但不是任意深度,则可以在查询选项卡中使用expand option。对于具有容器所有属性的每个客户实例,您将获得一行。
如果您想要更复杂,可以通过将客户ID列(假设您的数据中有一个)扩展到一个表中,并将客户详细信息扩展到另一个表,然后创建一个关系来规范化模式。他们。这使聚合更容易(如父母的数量)。您只需加载数据两次,然后删除您不需要的列。