久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

度量值不能作為坐標(biāo)軸,?這個解決思路送給你

 PowerBI星球 2021-06-22

對于PowerBI使用者而言,經(jīng)常碰到的一個問題是,,想把度量值放到坐標(biāo)軸上,卻發(fā)現(xiàn)無法實(shí)現(xiàn),。尤其是初學(xué)者,,更是習(xí)慣性的想這么做。

PowerBI星球嘉賓天行,,摸索出了一個解決該問題的方法,,請慢慢品讀他的思路吧。


解決度量值不能作為坐標(biāo)軸字段的問題

作者:天行

初入Power BI的門,,很快就會被度量值和計算列的動態(tài)性吸引,,進(jìn)而義無反顧地跳進(jìn)DAX的火坑中,然后……(省略號的內(nèi)容留給曾經(jīng)在坑中和正在坑中徘徊的各位自行填寫吧??)

如何將度量值作為圖表的軸,,這是使用Power BI解決實(shí)際問題時繞不過去的“坑”之一,,而這個問題常常是由對某類數(shù)據(jù)進(jìn)行分類,然后需要對分類的情況進(jìn)行統(tǒng)計時產(chǎn)生的,。

正好星球中的米妮黃同學(xué)在群中提到一個關(guān)于課程學(xué)習(xí)動態(tài)評價的問題,,本文就借與她探討解決問題的示例,來一次性說清楚解決度量值作為圖表軸的字段思路原理,,方便大家舉一反三,,解決工作中類似的實(shí)際問題,。

一、示例描述

基本情況:一批人參加多門課程學(xué)習(xí),,評價是否通過的標(biāo)準(zhǔn)為學(xué)習(xí)課程的門數(shù),。

解決要求:評價標(biāo)準(zhǔn)是動態(tài)的,根據(jù)動態(tài)評價標(biāo)準(zhǔn)(學(xué)習(xí)課程門數(shù))評價每個人的學(xué)習(xí)狀態(tài),,并實(shí)時統(tǒng)計這一批人中不同學(xué)習(xí)狀態(tài)的人數(shù),。

建一個示例基礎(chǔ)數(shù)據(jù)表【data】

需求具體化:該表中有11人,通過課程從7門到24門不等,,根據(jù)動態(tài)評價標(biāo)準(zhǔn),,實(shí)時統(tǒng)計通過和未通過的人數(shù)。

二,、解決思路

(1)通過新增計算列的方式解決

1,、在【data】表中新增計算列【評價結(jié)果 計算列】

即設(shè)定通過標(biāo)準(zhǔn)為13,有8人顯示“完成學(xué)習(xí)”,,3人顯示“繼續(xù)努力”

2,、增加一個度量值【人數(shù)累計 評價標(biāo)準(zhǔn) 計算列】統(tǒng)計不同狀態(tài)的人數(shù)

人數(shù) 累計 評價標(biāo)準(zhǔn) 計算列 = COUNTROWS('data')

3、添加一個堆積柱形圖,,將【評價結(jié)果計算列】作為軸,,【人數(shù) 累計 評價標(biāo)準(zhǔn) 計算列】作為值,可以呈現(xiàn)“完成學(xué)習(xí)”和“繼續(xù)努力”的分類人數(shù)統(tǒng)計,。

4,、試圖解決動態(tài)評價問題:通過【新建參數(shù)】功能設(shè)定一個動態(tài)評價標(biāo)準(zhǔn)。

如上操作后,,將自動生成【通過標(biāo)準(zhǔn)】參數(shù)表和一個滑桿控件,,其中【通過標(biāo)準(zhǔn)】表包含【通過標(biāo)準(zhǔn)】字段和【通過標(biāo)準(zhǔn) 值】度量值。

5,、修改【評價標(biāo)準(zhǔn)計算列】公式為

評價結(jié)果 計算列 = 

IF([通過課程]>=[通過標(biāo)準(zhǔn) 值],"完成學(xué)習(xí)","繼續(xù)努力")

理論上應(yīng)該可以根據(jù)動態(tài)調(diào)整的評價標(biāo)準(zhǔn),,對每個人進(jìn)行重新評價。

結(jié)果發(fā)現(xiàn)盡管滑桿調(diào)整后,,【通過標(biāo)準(zhǔn) 值】隨之會發(fā)生正確變化,,但是【評價結(jié)果 計算列】的結(jié)果始終不變,進(jìn)一步研究會發(fā)現(xiàn)【評價結(jié)果 計算列】的判斷標(biāo)準(zhǔn)居然一直是10,,好詭異,!

至此,通過計算列解決動態(tài)評價的問題已宣告失敗,,具體原因后面再分析,。

(2)通過度量值的方式解決

1、新增【評價標(biāo)準(zhǔn)度量值】,與參數(shù)度量值綁定進(jìn)行是否通過判斷,。

評價標(biāo)準(zhǔn) 度量值 =

VAR vMax=MAX('data'[通過課程])

Return

IF(vMax>=[通過標(biāo)準(zhǔn) 值],"完成學(xué)習(xí)","繼續(xù)努力")

2,、新增堆積柱形圖,卻發(fā)現(xiàn)【評價標(biāo)準(zhǔn)度量值】無法拖放進(jìn)“軸”里,,似乎又進(jìn)入了死胡同,。

下面進(jìn)入本文的重點(diǎn),如何解決度量值不能用作圖表軸的問題,?

01 | 新建一個過渡表【標(biāo)準(zhǔn)】

02 | 新建三個度量值

03 | 將【標(biāo)準(zhǔn)】表中的【標(biāo)準(zhǔn)】字段拖入堆積柱形圖的"軸"中,,將【數(shù)量選擇】度量值放入堆積柱形圖的”值“中,可以呈現(xiàn)分類統(tǒng)計人數(shù)結(jié)果,。

04 | 再試著拖動滑桿動態(tài)調(diào)整評價標(biāo)準(zhǔn),,可以看到每個人的評價結(jié)果隨之變化,堆積柱形圖正確呈現(xiàn)每種分類人數(shù)的動態(tài)變化,。

至此,,我們另辟蹊徑解決了度量值不能用作圖表軸的問題。

三,、原理探討

在解決這個“小“問題的過程中,,實(shí)際上涉及到DAX的兩個核心問題:計算列的刷新原理和圖表的本質(zhì),下面我們結(jié)合這個示例來深入探究,。

(一)計算列為什么不能根據(jù)動態(tài)參數(shù)進(jìn)行刷新,?

在DAX的設(shè)計中,計算列是在數(shù)據(jù)裝載的過程中進(jìn)行計算刷新,,可以簡單理解為在點(diǎn)擊【主頁】菜單的【刷新】項(xiàng)時,,對所有表的數(shù)據(jù)進(jìn)行重新裝載,或者重新打開Power BI文件時,,計算列才會進(jìn)行計算,,其他時候計算列不會發(fā)生變化。

而度量值則是在計算上下文發(fā)生改變時,,就會實(shí)時進(jìn)行重新計算。

所以,,在本例中,,動態(tài)參數(shù)發(fā)生改變時,因?yàn)椤綿ata】表中每個人的學(xué)習(xí)課程數(shù)沒有變化,,所以【data】表中的計算列也不會重新計算,。

進(jìn)一步思考可以得出:計算列的原理是數(shù)據(jù)裝載時一次性計算,主要占用內(nèi)存資源,;度量值是隨著計算上下文的變化實(shí)時計算,,主要占用CPU資源。

再往深處推演:如果同樣的計算結(jié)果,表格中的行數(shù)越多,,添加的計算列占用的內(nèi)存將越多,,同時報表打開的速度也會因?yàn)榇罅康挠嬎懔杏嬎愣S之減慢。

最后可以收獲一條實(shí)際工作中的DAX使用原則:明細(xì)數(shù)據(jù)較多時,,為保證報表打開效率,,盡量使用度量值,而不要使用計算列,;如果需要實(shí)時調(diào)整參數(shù),,實(shí)時得出分析結(jié)果,則只能使用度量值,。

(二)圖表的軸到底是什么,?為什么度量值不能用作軸?

要理解圖表的軸是什么,,首先要理解圖表是什么,。

這一點(diǎn)可以通過PowerBI里面的實(shí)際操作來得出結(jié)論。

選擇堆積柱形圖,,進(jìn)行復(fù)制(Ctrl+C),、粘貼(Ctrl+V)操作,得到一個一模一樣的堆積柱形圖復(fù)制品,,選中“復(fù)制品“,,在【可視化】面板中切換為【表】,發(fā)現(xiàn)”復(fù)制品“轉(zhuǎn)換成了一個普通的二維表,。

從這個轉(zhuǎn)換中,,我們可以得出結(jié)論:PowerBI的圖表本質(zhì)就是表格(如果有興趣,可以將每種圖表都轉(zhuǎn)換一次,,看看結(jié)果是否一致),,圖表只是表格的一種表現(xiàn)形式。

那么為什么度量值不能當(dāng)作軸呢,?這個問題的答案同樣可以通過實(shí)際操作推演出來,。

新建一個表格,按照開始的思路,,把【評價標(biāo)準(zhǔn) 度量值】和【人數(shù) 累計 評價標(biāo)準(zhǔn) 計算列】放到“值“中,,得出兩個風(fēng)馬牛不相及的結(jié)果: 

【評價標(biāo)準(zhǔn) 度量值】是根據(jù)沒有【姓名】篩選的情況下所有人課程的合計數(shù)去判斷是否通過,結(jié)果自然是"完成學(xué)習(xí)".

【人數(shù) 累計 評價標(biāo)準(zhǔn) 計算列】是沒有篩選上下文的的行計數(shù),,所以結(jié)果是11,。

這兩個結(jié)果雖然能夠放到一個表格里面,但毫無實(shí)際意義,,而圖表是要呈現(xiàn)一種數(shù)據(jù)之間邏輯關(guān)系的結(jié)果,,沒有邏輯關(guān)系的度量值當(dāng)然不能放到圖表的軸里了。

 那么這個堆積柱形圖的意義應(yīng)該是什么呢?

我們從“復(fù)制品”轉(zhuǎn)換成功的表格中可以看到清晰的數(shù)據(jù)之間的邏輯關(guān)系:根據(jù)評價標(biāo)準(zhǔn)對數(shù)據(jù)進(jìn)行分組聚合運(yùn)算,,得出每種標(biāo)準(zhǔn)的實(shí)際人數(shù),。

由此,我們已經(jīng)推演出圖表的核心原理:

1,、圖表的本質(zhì)是表格

2,、由于圖表必須呈現(xiàn)數(shù)據(jù)間邏輯關(guān)系的意義,所以必須根據(jù)確定的標(biāo)準(zhǔn)(維度)對數(shù)據(jù)進(jìn)行分組,,然后進(jìn)行各種聚合運(yùn)算,,這也就是為什么度量值不能作為圖表的軸的根本原因。

既然已經(jīng)明了圖表的原理,,具體解決辦法就是雕蟲小技了,。

1、建立一個過渡表,,對應(yīng)每一種可能分類的類型,;

2、用過渡表的分類標(biāo)準(zhǔn)字段作為圖表中的軸字段(分組條件)

3,、針對每種分類構(gòu)建一個單獨(dú)計數(shù)的度量值(【數(shù)量繼續(xù)努力】和【數(shù)量 完成學(xué)習(xí)】)

4,、構(gòu)建【數(shù)量選擇】度量值,通過判斷篩選上下文的分類標(biāo)準(zhǔn),,調(diào)用對應(yīng)的單獨(dú)計數(shù)度量值,,作為圖表的值字段

這是一個解決DAX動態(tài)性的小套路,熟練掌握,,靈活運(yùn)用后可以解決很多具體問題,。

您掌握了嗎?

后記:

關(guān)于度量值不能作為圖表軸字段的問題,,曾經(jīng)被當(dāng)作PowerBI易用性遠(yuǎn)不如Tableau的證據(jù),,但是如果在理解了本文的推演原理,掌握了解決問題的套路之后,,再回頭看待這個所謂的“證據(jù)”,,應(yīng)該是PowerBI在易用性和靈活性之間的當(dāng)前取舍,所謂度量值可以當(dāng)軸字段的功能不過是一個過渡表小套路自動化的過程,,從最近PowerBI的演進(jìn)速度和方向來看,,也許就在某次月度更新中就會不經(jīng)意來到我們手邊,讓我們共同期待吧,。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多