如果我们想把外部数据导入到 Dataverse,可以使用数据导入功能。在 Dataverse 中提供了多种数据导入的方法,本期将为大家依次介绍。
从 Excel 获取数据
通过数据导入向导获取数据
通过 Power Query 获取数据
使用数据流集成数据
从 Excel 获取数据
在 Dataverse 中,可以直接通过 Excel 将数据导入到指定的表中,但这个 Excel 的格式需要和表本身匹配才可以成功导入。
为了Excel 的格式和表本身的格式匹配,我们可以先将表中的数据导出到 Excel ,从而获得该表的格式。这里以教师表为例,我们进入到教师表的页面,然后选择数据-导出数据。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941579-400263-59aa032f95abf3a711e0e72eaec534b1.png)
数据导出完成后,我们点击下载,系统会自动将一份 zip 压缩文件下载到我们的设备中。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941587-619824-59aa032f95abf3a711e0e72eaec534b1.png)
将该设备解压后,即可看到一份 csv 格式的文件。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941597-637340-e0b08f0fc6a603ddee335935a24adced.png)
打开csv 后,发现中文乱码。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941605-416973-319651f365ab0e519c59db0e33e543c2.png)
我们可以将该csv 文件进行转码,可以重新在 Excel 中新建一份文件,然后选择从文本/csv 获取数据。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941612-693202-0917e946a9ce76cead10a332f0f8f22e.png)
将文件格式改成 UTF-8 ,之后加载数据,
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941619-607235-17900fe583c7738f93baff0695424f0f.png)
现在就有了格式正确的教师表数据。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941627-713386-f602248eccfc21613e459a26978f9688.png)
接下来我们删除一些无用的列。需要注意的是一定要保证每一行的全局唯一标识符是唯一的,比如在教师表中就是cread_teacherid 这个字段的值要唯一。这样才能保证数据的唯一性。
导入数据
有了数据后,就可以进行数据导入的操作,进入 Power Apps 门户站点,导航到表的控制界面,选择上方的数据-获取数据-从 Excel 获取数据。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941640-548657-f530f7dd2e8f8273fb66bfe2f19f7c03.png)
选择要将数据导入到哪些表中(可以多选)
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941648-76398-36e199c887a7643d57a7d1ea352745c5.png)
在下一步中,我们需要为表上传一份准备好的 Excel 文件(这里直接用刚才导出的 csv 文件,增加了一行数据)。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941656-548730-759108c3059260d78b4ac27f47477b22.png)
如果是使用自己的 Excel ,需要做一下字段映射的工作,将数据表的每个字段与真实表中的列进行映射,从而让 Dataverse 知道 Excel 中列的数据应该填充到 Dataverse 表中的哪些列。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941664-139093-fe43e0e749a335ce9654f298104b47bb.png)
确认没有问题后,点击导入,导入成功后将会看到新增或者更改的记录。导入数据不光能够新增,如果我们在 Excel 中针对指定的全局唯一标识符的数据进行了和之前不一样的改动,那将会对数据执行更新操作。
经过尝试发现这种方式并不好用,虽然界面美观,但是没有直接使用数据导入向导方便。
数据导入向导
除了直接从 Excel 导入数据以外,还可以在环境设置中使用数据导入向导来进行数据导入的操作。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941677-647029-eb657988a818bc51e2bfa4511f8cb4ac.png)
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941688-262944-08ddd29d90bb42e3c5349ee79fd85da0.png)
数据导入向导中,支持 .xml, .csv, .txt, .xlsx, 和 .zip格式的文件。
上传文件后需要定义数据的分割方式。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941695-564132-636dfafa9611f8199fbad12c3f45c430.png)
接下来就是做数据映射的操作,这里一般是选择默认的自动映射,除非你导入的是联系人账户的话,可以选择 SampleDataMap
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941704-643778-265e1e68b9caaaf99febfe5587abdb32.png)
然后需要选择要导入到的哪个表中。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941714-808145-6be491705223620c9c6e227edc6bc883.png)
之后是详细的字段映射,这里最起码要将必填项给映射好。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941725-753833-45dd2461c451332ec97c1d9a5152181d.png)
最后再提交导入操作之前,我们可以将本次的映射做一个保存,这样当我们以后用相同格式的数据源导入的时候,就能省去映射操作了。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941732-455458-c938f7678ab56757a334474bff1199c5.png)
我们可以查看所有的导入任务的进度。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941739-871595-e523189a47b4d79f421474d0a27c959a.png)
等成功导入后,可以回到 Dataverse 查看导入的数据。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941750-343384-ae445d231c3682005e126376acaf51fa.png)
数据导入向导的方式要比直接从 Excel 获取数据的可配置性更高,虽然界面比较丑,但是好用。
通过 Power Query 导入数据
刚才介绍的基本都是从 csv 类似这种格式导入的数据,如果我们想要导入其他格式的数据,可以使用 Power Query 来填充表的数据,通过这种方式可以将其他系统或者本地系统的数据源导入到 Dataverse 中,并配置数据的刷新频率。
加载数据
进入 Power Apps 门户,导航到表的控制区域,选择数据-获取数据。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941763-216671-8bf026c6afbc2728a1fdf31c0db5a083.png)
这时候会打开 Power Query 的界面,下图中列出了当前支持的所有数据源。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941770-174767-9e6e541af25c704124fcea967bfd76f9.png)
这里我们可以使用 Odata 来获取一份客户数据。
在 URL 中粘贴:
https://services.odata.org/V4/Northwind/Northwind.svc/
其他配置不变,直接选 Next
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941781-760776-3b8403fb85f01e3e3141bb6be0312264.png)
此时将链接到该 URL 提供的数据源,这里我选择将其中的 Customers 表进行导入。选中 Customers 后,点击 Transform Data
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941789-254946-e6910f5803d83e3e87a3f32abb4afadc.png)
通过 Power Query 清洗转换数据
在该界面,我们可以通过 Power Query 对数据进行清洗转换,这块的操作和 Power BI Desktop 一样。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941801-381689-133ea0069ecdc0a23cd2b73a36daa82d.png)
这里我们不需要清洗,可以直接点 Next。之后 Dataverse 会问我们要将数据加载到一个新表,还是现有的表(如果选择加载到现有表,会将原有数据全部覆盖),同时可以对列名进行配置,比如将哪个列指定为主要名称,哪个列设置为备用建,每个列到 Dataverse 的数据类型是什么都可以进行配置。
我这里就直接将数据加载到一个新表中,并且将该表命名为 Customers ,其他保持默认后点击 Next
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941810-24315-e0ccdc032ab0d0aa8fa970e9b5a91d13.png)
配置刷新频率
之后我们可以配置数据的刷新方式,是手动刷新还是定时刷新。也就是说我们通过 Power Query 导入的数据并不是一成不变的,它可以按照我们的配置实现定时与数据源同步。
我们可以每分钟,小时,天,周或者月执行刷新动作。
![](https://forum.power-platform.cn/assets/files/2022-03-22/1647941820-492310-af7b5e8e4eaf2473d32236ba40c97f89.png)
这里我们直接选择手动刷新,然后点Create,之后就会开始获取数据的动作。(通过 Power Query 加载的数据有50W行的限制)
数据流
另外还有个功能也是用 Power Query 来获取数据,那就是 Dataflow 数据流。
通过数据流,我们也可以使用 Power Query 定期将数据集成到 Dataverse 中,不过他和上边单纯获取数据到表不同,数据流可以将数据直接存放到 Azure Data Lake 中,有助于帮助用户分析数据。用户可以直接在 Power BI 中链接到数据流中的数据进行分析。
同时 Dataflow 支持通用数据模型,可以帮助将源系统中的数据映射为通用数据模型的形式进行存储。
这几种方式里 数据流的功能最强大,其次是直接通过 Power Query 获取数据。这两种方法差不多,都适合我们集成数据的需求。而前面两种方式,更适合用 Excel 临时快速填些数据,数据量小并且需系统简单的时候可以使用。
以上就是 Dataverse 中集成数据的几种方法,加上最早介绍表类型时提到过的虚拟表,当我们需要从旧系统迁移数据到 Dataverse 时,可以按需求使用这几种数据集成方式。