200524 PowerBI 無(wú)限級(jí)菜單目錄終極技巧

很多小伙伴反應(yīng)說(shuō)已經(jīng)用羅叔的教程解決了很多 PowerBI 難題并在工作中制作了很多報(bào)告睹欲,導(dǎo)航也是一個(gè)難題,有什么方法可以快速建立導(dǎo)航和菜單系統(tǒng)嗎一屋?

雖然羅叔此前已經(jīng)分享過(guò)多次菜單系統(tǒng)的構(gòu)建方式窘疮,但其中是包含了很多手工量的。今天冀墨,羅叔給出一種最新的構(gòu)建方式闸衫,讓是一勞永逸。

該方法在理論上诽嘉,可以支持:

  • 多限層
  • 只需要構(gòu)建一次
  • 全面可配置化
  • 可修改化
  • 支持垂直和水平方向

我們?cè)诳戳诵Ч笠黄饘W(xué)習(xí)蔚出。

效果預(yù)覽

先來(lái)看垂直方向無(wú)限級(jí)菜單目錄

image

再來(lái)看水平方向無(wú)限級(jí)菜單目錄:

image

其場(chǎng)景如下:

  • 用戶選擇目錄樹(shù)的某個(gè)位置
  • 在右側(cè)預(yù)覽其效果,并確定自己要去那頁(yè)
  • 點(diǎn)擊【GO】即可到達(dá)目標(biāo)頁(yè)面

我當(dāng)然知道這是你要的含懊。因?yàn)樯矶@也是我要的。

原理揭秘

這里的核心原理是:

根據(jù)用戶選擇的菜單內(nèi)容岔乔,來(lái)動(dòng)態(tài)計(jì)算出目標(biāo)頁(yè)面地址并賦給【GO】按鈕即可诬像。

如下:

image

可配置化

目錄結(jié)構(gòu)如果需要改變匕垫,往往要改很多地方击纬,而本文的方案是完美可配置的馍管,我們用 DAX 公式來(lái)生成一張目錄表,如下:

Report.Content = 
VAR vContentCore = 
SELECTCOLUMNS(
{
    ( "首頁(yè)" , "首頁(yè)" , "" , 0 , 0 ),

    ( "經(jīng)營(yíng)概況" , "指標(biāo)體系" , "http://files.excel120.com/images/20200524171453.png" , 1 , 1 ),
    ( "經(jīng)營(yíng)概況" , "月度同比分析" , "http://files.excel120.com/images/20200524171453.png" , 1 , 2 ),
    ( "經(jīng)營(yíng)概況" , "大區(qū)門(mén)店銷(xiāo)售額等級(jí)分布" , "http://files.excel120.com/images/20200524171453.png" , 1 , 3 ),
    ( "經(jīng)營(yíng)概況" , "區(qū)域月度銷(xiāo)售完成率" , "http://files.excel120.com/images/20200524171453.png" , 1 , 4 ),
    ( "經(jīng)營(yíng)概況" , "業(yè)態(tài)及屬性銷(xiāo)售占比" , "http://files.excel120.com/images/20200524171453.png" , 1 , 5 ),

    ( "區(qū)域分析" , "近期業(yè)績(jī)及賽馬圖比拼" , "http://files.excel120.com/images/20200524171555.png" , 2 , 1 ),
    ( "區(qū)域分析" , "移動(dòng)平均趨勢(shì)分析" , "http://files.excel120.com/images/20200524171555.png" , 2 , 2 ),
    ( "區(qū)域分析" , "區(qū)域內(nèi)門(mén)店排名分析" , "http://files.excel120.com/images/20200524171555.png" , 2 , 3 ),
    ( "區(qū)域分析" , "重點(diǎn)城市帕累托分析" , "http://files.excel120.com/images/20200524171555.png" , 2 , 4),

    ( "單店分析" , "單店業(yè)績(jī)同期對(duì)比分析" , "http://files.excel120.com/images/20200524171821.png" , 3 , 1 ),
    ( "單店分析" , "入庫(kù)與銷(xiāo)售額分析" , "http://files.excel120.com/images/20200524171821.png" , 3 , 2 ),
    ( "單店分析" , "單店完成率分析" , "http://files.excel120.com/images/20200524171821.png" , 3 , 3 ),
    ( "單店分析" , "客單價(jià)/連帶率分析" , "http://files.excel120.com/images/20200524171821.png" , 3 , 4 ),

    ( "尾頁(yè)" , "尾頁(yè)" , "" , 99 , 0 )
} , "L1Name" , [Value1] , "L2Name" , [Value2] , "Preview" , [Value3] , "L1Code" , [Value4] , "L2Code" , [Value5] )
RETURN 
    ADDCOLUMNS( vContentCore , 
        "FullCode" , [L1Code] & "." & [L2Code] , 
        "FullName" , [L1Name] & " \ " & [L2Name] , 
        "OrderBy" , [L1Code] * 100 + [L2Code] 
    )

效果如下:

image

這樣茁影,所有的內(nèi)容就可以集中到一起來(lái)進(jìn)行維護(hù)宙帝。這是我們對(duì)OCP原則的應(yīng)用。

可預(yù)覽化

對(duì)于復(fù)雜的BI報(bào)告系統(tǒng)募闲,用戶很可能并不知道自己要去哪里步脓,那么當(dāng)用戶選擇一個(gè)可能的目標(biāo)頁(yè)面時(shí),可以先不做跳轉(zhuǎn)浩螺,而是預(yù)覽靴患,讓用戶知道確實(shí)要去那里,再點(diǎn)擊【GO】按鈕到達(dá)目標(biāo)頁(yè)面要出。

image

我們將目標(biāo)頁(yè)面的預(yù)覽圖URL存放鸳君,在用戶選擇導(dǎo)航菜單后,就可以看到預(yù)覽了患蹂,非常巧妙或颊。

總結(jié)

本文給出了無(wú)限層級(jí)菜單的終極方案砸紊。該方案可以支持大型系統(tǒng)的構(gòu)建。

趕快動(dòng)手試試吧囱挑。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末醉顽,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子看铆,更是在濱河造成了極大的恐慌徽鼎,老刑警劉巖盛末,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弹惦,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡悄但,警方通過(guò)查閱死者的電腦和手機(jī)棠隐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)檐嚣,“玉大人助泽,你說(shuō)我怎么就攤上這事『烤” “怎么了嗡贺?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)鞍帝。 經(jīng)常有香客問(wèn)我诫睬,道長(zhǎng),這世上最難降的妖魔是什么帕涌? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任摄凡,我火速辦了婚禮,結(jié)果婚禮上蚓曼,老公的妹妹穿的比我還像新娘亲澡。我一直安慰自己,他們只是感情好纫版,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布床绪。 她就那樣靜靜地躺著,像睡著了一般其弊。 火紅的嫁衣襯著肌膚如雪癞己。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,337評(píng)論 1 310
  • 那天瑞凑,我揣著相機(jī)與錄音末秃,去河邊找鬼。 笑死籽御,一個(gè)胖子當(dāng)著我的面吹牛练慕,可吹牛的內(nèi)容都是我干的惰匙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼铃将,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼项鬼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起劲阎,我...
    開(kāi)封第一講書(shū)人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤绘盟,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后悯仙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體龄毡,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年锡垄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沦零。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡货岭,死狀恐怖路操,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情千贯,我是刑警寧澤屯仗,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站搔谴,受9級(jí)特大地震影響魁袜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜己沛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一慌核、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧申尼,春花似錦垮卓、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至霹粥,卻和暖如春灭将,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背后控。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工庙曙, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浩淘。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓捌朴,卻偏偏與公主長(zhǎng)得像吴攒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子砂蔽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359