热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

tfs查看人员迁出文件_利用这个方法,实现PowerBI文件的版本控制

你有没有这样的烦恼:多次修改或者迭代数次的PowerBI报告,如果打算保留每个版本,都需要在每次修改前,复制一份并重新命名&
你有没有这样的烦恼:多次修改或者迭代数次的PowerBI报告,如果打算保留每个版本,都需要在每次修改前,复制一份并重新命名,到最后可能自己都不知道需要的哪一版?

星球嘉宾AgnesJ给大家带来的一个解决方案:利用git实现对PowerBI文件的版本控制。

本文技术性较强,如果你正好也有这个困扰请慢慢欣赏;如果暂时用不上,也可以先存着,知道有这么个技术,有需要了再翻回来看。


利用git实现对Power BI文件的版本控制

作者:AgnesJ

在开始介绍git的安装之前,我想先和大家聊一下“为什么我们要关心版本控制?” 

对于任何开发人员,无论是小白还是资深,版本控制都是必不可少的。版本控制可以让我们跟踪源文件的更改。通过跟踪更改,开发人员可以快速识别何时发生了更改,发生了什么更改。使用git,开发人员可以“区分”旧文件与新文件的区别,了解到发生了什么更改。

同时,Git是一个分布式版本控制系统。这意味着它没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你在工作的时候,就不需要联网去读取文件啦,因为版本库就在你自己的电脑上。这也提高了它的安全性。

但是目前的问题是:Power BI Desktop创建的PBIX或PBIT是.zip二进制文件。

这意味着,使用版本控制的系统,我们无法“区别”不同的文件,也无法跟踪更改。比如当你将[价格]度量值更改为[价格-不含增值税]时,我们没有办法通过git看到这个更改。此外,由于我们无法“进行差异化”,那么如果有一个以上的开发人员来从事一个项目时,就没有办法合并你们所做的更改。这也就导致了限制了Power BI项目的开发人员数量。

然而,虽然有上述的这些限制,我们还是可以通过对文件进行“注释”的方法来实现对新旧文件的区分。

所以,在这里我想和大家(像我一样的GitHub新手)分享一下,如何一步一步创建GitHub仓库,并实现对.pbix文件的版本控制。

重要概念:(这里引用廖雪峰老师的话)

什么是版本库?

版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

什么是分支?

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习dax的时候,另一个你正在另一个平行宇宙里努力学习git。

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了dax又学会了git!

Git的分支是与众不同的,无论创建、切换和删除分支,Git在1秒钟之内就能完成。

了解完重要概念,那就开始吧。

首先,下载安装git

进入官网下载 

https://git-scm.com/

16535ee47bfd9c08f4e9361f42823f71.png

点击next直至安装完成。

8ed6a0090f6993afc02d0a620d5c6b07.png

b6c5e0c93e25bd2b7ddfd24413f3eeea.png

7ff23cffca7472e1862021c0e9a7d045.png

4a2ad5348edae223b43aa91655f8fd44.png

接下来,注册一个GitHub账户。

68b29de555fb2aeced0b01994b5e53ca.png

注册好账户之后,登陆GitHub,点击创建一个新的仓库。 

dc4391343455bb61e9ff1be1db61d3ca.png

注:可以创建一个私密的仓库,这样就可以保证数据的安全。

db373827032be7658d31d109d06ba925.png

至此,用来存储和管理我的.pbix文件的仓库创建成功。接下来,需要在本地创建一个仓库,并把本地仓库关联到远程仓库。

Git的仓库你可以建在你电脑的任何目录下(最好不要包含有中文目录)。在这里,我先新建一个文件夹 “GitTest”,然后打开这个文件夹,在空白处鼠标右击:Git bash here:

31a26d7b8f3ca6d64b534334e86be3da.png

连接远程仓库,有这几种做法:

ca9fd3f2be1be3bd3387eb001a9ff028.png

下面我打算在 GitTest 下面创建本地库,使用第二种方法:

在git面板里输入命令行:

echo "# PowerBIFiles" >> README.mdgit initgit add README.mdgit commit -m "first commit"git remote add origin https://github.com/aision06/PowerBIFiles.gitgit push -u origin master

6a42b70101927463861748ebe4ecb430.png

这里提示,第一条 commit 已经添加并成功推送至远程仓库的当前分支 “master” 中。

之后,我们就可以往仓库里添加文件啦。

添加文件的时候,可以直接把你要管理的.pbix文件拖至本地仓库中。

07c8f49e6f7a08a55550367f56c2a3c8.png

然后打开git bash,输入 git status 查看仓库的状态:这里提示我们新添加了一个名为 “FFT KPI.pbix”文件。

d8930a5d5c1f51e8a09f54d389ae0c88.png

接下来,我们把这个pbix文件推送到远程仓库中去,这个步骤使用三个命令行实现:

git add xxxxx ->文件名git commit -m “xxxxxxxxx” -> “xxxxxxx”为你添加的注释·git push

7ab7350528bb6cb70e845ab6c82add2a.png

打开你的远程仓库,就可以看到你成功推送的文件啦:

105007361486c165034ccbebb6d5ae16.png

在这里,如果你遇到了文件无法推送的情况,例如,你在控制面板收到了这样的消息:

062d5f1a1c64abc47bb72e9fadb9d9d0.png

是因为想要推送的文件超过了最大文件大小的限制,这时,会提示你需要使用git

lfs插件来解决。

什么是Git LFS?

Git LFS(Large File Storage) 是 Github 开发的一个 Git 的扩展,用于实现 Git 对大文件的支持。简单的说,就是如果你想传超过100M的二进制文件到GitHub,你就要用Git LFS。

根据提示,进入 https://git-lfs.github.com/,下载安装扩展件,依据官方页面的指示进行操作:

e1206c4c8bdbaf70c67160bf57e57161.png

注:如果对于同一个文件,你已经遇到了不能推送的情况,此时,需要撤回之前的commit。所以,如果你要上传的文件大于100M,那么建议你在对新文件进行操作之前就配置好git lfs。假设我对这个文件进行了修改,那么我只需要把这些修改 commit 并 push 到远程仓库。

在修改并保存了文件之后,先用git status查看一下状态:看到提示 FFT KPI.pbix被修改。

5d4913884e6cb00d8f516e357d319227.png

使用git add 添加这个修改到仓库中,

4cfbc2a47588e2787c16c9a64587cbc5.png

commit,并添加一段注释用来标明:

2867e28718242dd63c75cef4a5935dbe.png

push到远程仓库里:

2224c4e5c1659154cae893bd58bef69e.png

在远程仓库里查看新的版本,以及注释:

4d739458e968fa0dc24d48eaf79e5a8b.png

点击文件名,还可以继续添加描述,我又在此处添加了 ”Data updated. 15/12/2019”。

c05a5b9ffdb8fbe3b6245f6d73f6d91f.png

点击查看你所有的commit,你就可以轻松找回自己的注释:

cbe7ae10479e99dd81e781f73d8e3dfc.png

其实,实现版本控制的方法就是,通过阅读每一个 commit 的注释,查询对文件进行的更改,之后,再使用git checkout,就可以找回想要的那一个版本啦。

使用git找回自己想要的文件,以及其他工具推荐

首先,需要获得你想要的那一条commit sha,(sha就类似于id,每一条commit都有自己独特的sha)比如我现在想要看到我的“第一版”文件:

打开git bash后 输入 git log,

0bb6cf2da37b33922fb076fe2d1df25c.png

复制sha:8cf7494dfe37c18dc0495afda3c72ea619a6eda9

或者直接在github页面上复制:

4c6fc4801ce7a7c37581764553becae7.png

此时,假设你有两种想法:

第一种,你想要保留你其余的commit,只是想单独取出这一条commit中的文件,就需要:

git fetch origin xxxxxxxshaxxxxxxx

ad7b516b452bbd33772a62cc2d3fad2e.png

git checkout FETCH_HEAD

c16cef29f343199bcafb3244b52ab07c.png

执行完上述命令,再打开你的本地仓库,你会发现,你回到了这一条commit时的所存储的文件状态。

这时,你可以使用下面的命令创建一个新的分支,用来存储你想要的文件版本:

git checkout -b “develope”按照提示,将你取出的这一条commit推送到新的分支里,这样你就可以单独获得你想要的文件了。

254fe6e446a5b616f5c7e48c1bb82368.png

而且,你推送到仓库里所有的文件都不会丢失,你只需要切换分支就可以找到其他文件。

注:如何切换分支?使用 git checkout xxxxx (xxxxx为分支的名字)

第二种,如果你不再需要这条commit之后的提交或修改,则可使用reset强制回到这条提交。

git reset --hard commit_sha

我在这里只是简单地描述了一下我是如何利用git对pbix文件实现版本控制的,只是git强大功能的凤毛麟角。

同时,如果你觉得git对你来说过于复杂或者不顺手,还有其他的方式来做版本控制:

第一种,使用One drive business。

在One drive for Business中,服务器会把同名文件在不同时间的上传自动识别为不同的版本。

可以在文件详情中查看不同的历史版本,并恢复(restore)某一个历史版本。

cdb59124eb4dd29b7cfc5dd6de8624e6.png

如果你有一个office 365账号,并且可以使用One drive for business,固然好啦,简单好用,不需要额外安装其他工具。这也是微软官方建议的一种方式。

但缺点是,付费。

另外还有一个工具,做开发的朋友可能会熟悉:AzureDevOps, 以前的Team Foundation Server。

TFS通常被用来持续整合一个开发项目,所以它也整合了git的功能。可以使用git或通过Visual studio来联结使用。和OneDrive for Business不同,TFS可以注册账号,免费试用。感兴趣的朋友可以自己深入了解一下。在这里就不多说啦。

如果你也和我一样,看到那么多的version就头疼,那就赶快实践一下版本控制吧。


老实说,上面的内容我看了一遍头都是晕晕的,但是,这确实为解决PowerBI版本控制的问题,提供了一个很好的思路,感谢AgnesJ的长篇分享,大家如果在实践过程中有什么问题,可以在知识星球中向她提问。


-精彩推荐-

cdb74da55bd116a2d6c4341db45a524c.png

0d46a94188c2b5df8e355efbb1d58cf0.png710796316b4b6115322ff32596907270.pngfbd89dd927a2d6ed24218be3645c82d0.png

如果你刚开始接触Power BI,可在微信公众号后台回复"PowerBI",获取《七天入门PowerBI》电子书,轻松上手。

成为PowerBI星球会员,

问题随时答疑,更多资源分享

ce87a15f9f69609ff750d566de616bef.png

添加微信:PowerBI001,进入学习交流群




推荐阅读
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • OpenCV4.5.0+contrib编译流程及解决错误方法
    本文介绍了OpenCV4.5.0+contrib的编译流程,并提供了解决常见错误的方法,包括下载失败和路径修改等。同时提供了相关参考链接。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
author-avatar
他丶是我唯一的执着_490
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有