1

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

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

所有列都是整数或字符串 - 但数据列是 json 记录的转储

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

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

1 abcdef123 myclassCategory 1-1-2000 me {"key1" : "value1" , "key2" : "value2" ... }

现在我正在尝试使用 excel 创建一些报告 - 我想根据“对象类别”和从“数据”json 键值创建的存储桶创建一些存储桶

我想使用 power view(或 powerpivot)根据 json 值解析数据列 - 进入新记录 - 然后创建报告、图表、直​​方图等。

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

谢谢!

4

2 回答 2

1

经过大量研究,我发现解决这个问题最简单的方法是下载一个名为“数据资源管理器”的 Excel 插件

使用此工具,您可以从各种来源导入数据 - 包括原始 sql 数据库、csv 文件、json 记录等。

导入数据后,将打开一个向导,您可以通过该向导操作数据、连接表、隐藏列,甚至对行执行一些逻辑功能。

我发现最棒的事情之一是“右键单击”列名,然后选择“转换”选项,然后选择“json”

选择json后,excel会尝试发现字段名(我发现不能完美-如果字段名发生变化,只会与前100条记录保持一致)

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

很棒的工具,而且速度也很快

之后,我使用 power pivot 和 power view 创建报告

于 2013-05-16T07:24:57.290 回答
0

DAX 是一种非常基本的语言,因此它没有任何 JSON 表达式。因此,我能想到的在 PowerPivot 中执行此操作的唯一方法是将其作为字符串处理进行,基本上为您想要的每个输出列创建一个函数,该函数将删除所有其他 JSON。但这是非常低效的、重复的,而且非常讨厌。

在我看来,最好在将内容加载到 PowerPivot 之前对其进行一些预处理。你有很多选择,所以我猜你最喜欢什么。

据我所知,恐怕没有什么“开箱即用”可以做的。如果有人知道替代方案,很高兴得到纠正。

于 2013-05-14T16:24:08.803 回答