Discourse Data Explorer 与 Power BI 的集成

快速更新,以防有人想改进首帖中的脚本。

实际上,可以一次性提取所有数据,似乎与数据量大小无关::sweat_smile:
(我已在包含 idraw 列的大型 posts 表上进行了压力测试,它成功完成了!)

示例查询:

SELECT      'id'
            || string_agg(E'\n' || case when posts.id::text is null then '-1' else posts.id::text end
            ,''
            ORDER BY posts.id asc) as value
FROM        posts

运行后,它将把近乎 CSV 格式的文件作为一个值打印出来,因此所有内容都会显示在一页上。您随后只需去掉 value 开头和结尾的 ",即可得到可用的 CSV 文件:

您自然可以通过添加新的 CSV 列及其对应数据来扩展此方法:

SELECT      'id,newcolumn'
            || string_agg(E'\n' || case when posts.id::text is null then '-1' else posts.id::text end
            || string_agg(E'\n' || case when posts.newcolumn::text is null then '-1' else posts.newcolumn::text end
            ,''
            ORDER BY posts.id asc) as value
FROM        posts

一旦更新以支持此类查询,Power BI 就无需跨多页遍历,从而加快数据检索速度。

4 个赞