将json的excel列转换为使用powerview进行logging

我正在使用类似于以下格式的RMDB数据库中存储任意对象(“数据”列):

<id> <object id> <object category> <creation date> <created by> <data> 

所有的列是整数或string – 但数据列是JSONlogging的转储

所以数据库中的示例行看起来像这样:

 <id> <object id> <object category> <creation date> <created by> <data> 1 abcdef123 myclassCategory 1-1-2000 me {"key1" : "value1" , "key2" : "value2" ... } 

现在我想创build一些使用Excel的报告 – 我想根据“对象类别”和根据“数据”json键值创build的桶创build一些桶

我想使用power view(或powerpivot)根据json值parsing数据列 – 创build新logging,然后创build报告,图表,直方图等。

这是如何完成的(parsing数据列)?

谢谢!

经过大量的研究,我发现解决这个问题最简单的方法就是下载一个名为“data explorer”的excel add,

使用这个工具,你可以从各种来源导入数据 – 包括原始的sql数据库,csv文件,jsonlogging等

导入数据后,会打开一个向导,您可以通过该向导来操作数据,连接表,隐藏列或甚至在行上执行某些逻辑function。

我发现的最大的事情之一是“右键单击”列名称的选项,然后select“变换”选项,然后select“JSON”

selectjson后,excel会尝试发现字段名称(我发现这并不完美 – 如果字段名称正在改变,它只会与前100个logging一致)

在相应地转换数据types之后,我能够扩展这些列,执行连接等。

伟大的工具,也相当快

在那之后,我使用了power pivot和power view来创build报告

DAX是一个非常基础的语言,所以它没有任何JSONexpression式。 所以我能想到在PowerPivot中这样做的唯一方法就是将其作为string处理,基本上为每个你想要的输出列创build一个函数,去掉所有其他的JSON。 但是,这是可怕的低效率,重复性,只是彻头彻尾的讨厌。

在我看来,在将内容加载到PowerPivot之前,最好对内容进行一些预处理。 你有很多select,所以无论你最舒服,我猜。

  • 在oData提要中发布JSON 并在PowerPivot中使用它
  • 使用第三方Excel插件来处理JSON并将其转化为Excel表格,然后将其加载到PowerPivot模型中( 这看起来很有前途,但我没有尝试过 )。
  • 自己写一些东西,使用现有的库( JSON.NET很好 )将JSONparsing成友好的结构(XML,CSV等)。

据我所知,恐怕没有什么可以做的“开箱即用”了。 如果有人知道替代品,很乐意被纠正。