Power BI Pro 中基于云端數(shù)據(jù)集創(chuàng)建的報表如何跨組織遷移

使用Power Bi 可以在組織內(nèi)便捷地共享數(shù)據(jù)集带族。在發(fā)布了一份數(shù)據(jù)集之后,你可以輕易地基于該數(shù)據(jù)集創(chuàng)建一份新的報表:

從PowerBiPlatformDataSet創(chuàng)建報表

今年此蜈,我就在一個二期項目中將該公司所有五十多個報表文件統(tǒng)一連接到同一個中央模型上,幾乎是把PowerBi用成了SSAS。這樣做的好處是大大減輕了模型維護(hù)的工作量腰奋。在過去,業(yè)務(wù)邏輯稍有變動抱怔,動輒要跟著修改十幾張報表劣坊,體力活極多。而現(xiàn)在屈留,我只需要付出很小的工作量即可統(tǒng)一修改五十多張報表中的業(yè)務(wù)邏輯局冰、配色等。

便捷的同時灌危,也帶來了一個新問題:當(dāng)我想將這種基于云端數(shù)據(jù)集創(chuàng)建的報表遷移到其它組織(比如锐想,該公司的BI測試環(huán)境)時,遇到了很大麻煩乍狐。并不是想象中的換個賬號切換數(shù)據(jù)源那么簡單赠摇。接下來的文字中,我會把這個問題稱為“無權(quán)限宕機(jī)問題”浅蚪。
如果公司安全流程不是很嚴(yán)格藕帜,測試環(huán)境的賬號與生產(chǎn)環(huán)境賬號在同一組織中(或者購買了PowerBiPremium以跨組織共享數(shù)據(jù)集),并且可以將生產(chǎn)環(huán)境的數(shù)據(jù)集授權(quán)給測試賬號惜傲,那么不會遇到這個所謂的“無權(quán)限宕機(jī)問題”洽故。
這個問題的具體表現(xiàn)是:對于使用組織A賬號基于云端數(shù)據(jù)集創(chuàng)建的報表,無法使用組織B賬號打開盗誊。
如果你嘗試這樣做并且期望打開后將數(shù)據(jù)源更改為組織B中的相同結(jié)構(gòu)的云端數(shù)據(jù)集时甚,你會看到這個:

獲取云端數(shù)據(jù)集錯誤

點擊重試顯然不會起任何作用;點擊編輯看起來像是會強行打開報表并允許更改該報表的數(shù)據(jù)源(至少在我點擊之前是這么猜測的)哈踱,但事實是荒适,點擊了編輯之后,你會看到你的PowerBIDesktop死機(jī)了……

手動解決方案

經(jīng)過探索开镣,我發(fā)現(xiàn)決定了數(shù)據(jù)集引用的是報表文件解包后的Connections文件刀诬。因此,要想解決這個問題邪财,只需要以下步驟:

  1. 從組織B的云端數(shù)據(jù)集創(chuàng)建報表樣例B.pbix
  2. 將B.pbix改后綴得到B.pbix.zip
  3. 打開B.pbix.zip陕壹,提取出根目錄下的Connections文件
  4. 將待轉(zhuǎn)換的A組織報表anyReportA.pbix重命名為anyReportB.pbix.zip
  5. 打開anyReportB.pbix.zip质欲,使用之前提取出的B組織的Connections文件覆蓋
  6. 重命名anyReportB.pbix.zip為anyReportB.pbix

這樣,我們就順利地將A組織中基于云端數(shù)據(jù)集創(chuàng)建的報表anyReportA.pbix遷移到了B組織中糠馆,使用登陸了B組織賬號的Power BI Desktop可以正常編輯嘶伟、發(fā)布anyReportB.pbix。

自動化

考慮到源報表更新時可能需要同步更新另一個組織的報表又碌,可以將解決方案自動化奋早。
main.py:

from zipfile import ZipFile
import os
from shutil import make_archive,rmtree
from config import report_pairs
def replace(report_file_name:str,dataset_example_file_name:str):
    '''
        report_file_name: 等待更換的報表文件
        dataset_example_file_name: 要更換到的目標(biāo)數(shù)據(jù)集
    '''
    with ZipFile(file=dataset_example_file_name,mode='r') as new_dataset_pbix:
        new_dataset_connection = new_dataset_pbix.read(name='Connections').decode('utf-8')
        # 解壓
        with ZipFile(file=report_file_name,mode='r') as file_mati:
            file_path=os.path.dirname(report_file_name)
            temp_dir=os.path.join(file_path,'.temp')
            temp_extract_dir=os.path.join(temp_dir,os.path.basename(report_file_name))
            file_mati.extractall(path=temp_extract_dir)
            # 替換connections文件
            with open(os.path.join(temp_extract_dir,'connections'),mode='w') as temp_connections_file:
                temp_connections_file.write(new_dataset_connection)
            make_archive(report_file_name,root_dir=temp_extract_dir,format='zip')
            # 清空.temp文件
            rmtree(temp_dir)
        # 刪除報表文件
        os.remove(report_file_name)
        # 將打包好的新報表文件重命名
        os.rename(report_file_name+'.zip',report_file_name)
if __name__=='__main__':
    for row in report_pairs.iterrows():
        replace(report_file_name=row[1]['報表文件'],dataset_example_file_name=row[1]['數(shù)據(jù)源'])

config.py:

import pandas as pd
df=pd.read_excel('config-dev.xlsx')
report_pairs=df
if __name__=='__main__':
    print(report_pairs)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市赠橙,隨后出現(xiàn)的幾起案子耽装,更是在濱河造成了極大的恐慌,老刑警劉巖期揪,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掉奄,死亡現(xiàn)場離奇詭異,居然都是意外死亡凤薛,警方通過查閱死者的電腦和手機(jī)姓建,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缤苫,“玉大人速兔,你說我怎么就攤上這事』盍幔” “怎么了涣狗?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長舒憾。 經(jīng)常有香客問我镀钓,道長,這世上最難降的妖魔是什么镀迂? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任丁溅,我火速辦了婚禮,結(jié)果婚禮上探遵,老公的妹妹穿的比我還像新娘窟赏。我一直安慰自己,他們只是感情好箱季,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布涯穷。 她就那樣靜靜地躺著,像睡著了一般规哪。 火紅的嫁衣襯著肌膚如雪求豫。 梳的紋絲不亂的頭發(fā)上塌衰,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天诉稍,我揣著相機(jī)與錄音蝠嘉,去河邊找鬼。 笑死杯巨,一個胖子當(dāng)著我的面吹牛蚤告,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播服爷,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼杜恰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了仍源?” 一聲冷哼從身側(cè)響起心褐,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笼踩,沒想到半個月后逗爹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡嚎于,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年掘而,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片于购。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡袍睡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肋僧,到底是詐尸還是另有隱情斑胜,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布嫌吠,位于F島的核電站伪窖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏居兆。R本人自食惡果不足惜覆山,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泥栖。 院中可真熱鬧簇宽,春花似錦、人聲如沸吧享。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钢颂。三九已至钞它,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背遭垛。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工尼桶, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锯仪。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓泵督,卻偏偏與公主長得像,于是被迫代替她去往敵國和親庶喜。 傳聞我的和親對象是個殘疾皇子小腊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容