銷(xiāo)售需求丨購(gòu)物籃分析

?

BOSS:那個(gè)誰(shuí),對(duì)剿吻,就是你窍箍,你給我研究研究咱商場(chǎng)物品擺放是否合理?和橙!

白茶:(Excuse me仔燕?)...BOSS,那個(gè)我就是個(gè)碼字的魔招!

BOSS:加錢(qián)晰搀!給我做個(gè)高大上的購(gòu)物籃分析!

白茶:(支付寶到賬####元0彀摺)好嘞外恕!

在實(shí)際業(yè)務(wù)中,商場(chǎng)物品的擺放是否對(duì)營(yíng)銷(xiāo)有所影響乡翅?所策劃的營(yíng)銷(xiāo)活動(dòng)是否真正的起到了促銷(xiāo)價(jià)值鳞疲?活動(dòng)贈(zèng)品的使用效果如何?購(gòu)物籃分析是啥蠕蚜?

這些問(wèn)題尚洽,其核心點(diǎn)都是一個(gè)問(wèn)題——關(guān)聯(lián)度問(wèn)題

說(shuō)的通俗易懂點(diǎn)靶累,就是數(shù)學(xué)概念中我們學(xué)過(guò)的交集概念的實(shí)際用法腺毫。

模擬數(shù)據(jù):

這是基本的案例數(shù)據(jù),導(dǎo)入到PowerBI中挣柬,并且添加一個(gè)日期表潮酒,其模型關(guān)系圖如下:

但是問(wèn)題也來(lái)了,我們想要做關(guān)聯(lián)度分析邪蛔,那么就需要有一個(gè)可以切換的維度急黎,白茶在上面就已經(jīng)提過(guò),核心概念是交集侧到。

編寫(xiě)如下代碼:

關(guān)聯(lián)度產(chǎn)品表 =
VALUES ( '產(chǎn)品表' )

復(fù)制一份產(chǎn)品表作為可以切換的維度勃教,并且模型關(guān)系如下:

注意紅框的位置,要做到有關(guān)系匠抗,但是關(guān)系并未激活的狀態(tài)荣回。

解釋一下:

有關(guān)系是為了后面的DAX做準(zhǔn)備,方便函數(shù)生效戈咳;

未激活是因?yàn)榧せ顮顟B(tài)下心软,和原有的產(chǎn)品表效果是一樣的壕吹,無(wú)法達(dá)到篩選對(duì)比的效果。

添加切片器删铃、表格耳贬,搭建最基本的顯示環(huán)境:

這是基本的篩選環(huán)境和上下文環(huán)境,DAX的編寫(xiě)都要在這兩個(gè)環(huán)境中進(jìn)行猎唁。

先對(duì)客戶(hù)購(gòu)買(mǎi)人次進(jìn)行統(tǒng)計(jì):

購(gòu)買(mǎi)人次 =
COUNTROWS ( VALUES ( '銷(xiāo)售明細(xì)'[客戶(hù)流水號(hào)] ) )

結(jié)果如下:

但是數(shù)據(jù)好像不對(duì)勁咒劲。

原始數(shù)據(jù)中[腰帶]的行數(shù)是1746行,但是我們寫(xiě)的DAX出來(lái)的結(jié)果是1613行诫隅,很明顯這個(gè)數(shù)據(jù)對(duì)不上案辍!咋辦逐纬??jī)?yōu)化代碼如下:

A類(lèi)購(gòu)買(mǎi)人次 =
SUMX ( '銷(xiāo)售明細(xì)', CALCULATE ( COUNTROWS ( VALUES ( '銷(xiāo)售明細(xì)'[客戶(hù)流水號(hào)] ) ) ) )

放在表中進(jìn)行對(duì)比:

很明顯這次代碼是沒(méi)問(wèn)題的蛔屹。

因?yàn)楫?dāng)前上下文環(huán)境與行上下文環(huán)境不同,造成了COUNTROWS函數(shù)上下文轉(zhuǎn)換的問(wèn)題豁生,因此結(jié)果是不準(zhǔn)確的兔毒;可以通過(guò)SUMX函數(shù)迭代整個(gè)表搭配CALCULATE函數(shù)進(jìn)行上下文轉(zhuǎn)換進(jìn)行解決。

那么當(dāng)我們篩選產(chǎn)品B的時(shí)候甸箱,同時(shí)購(gòu)買(mǎi)AB的客戶(hù)數(shù)量有多少呢育叁?

編寫(xiě)如下代碼:

同時(shí)購(gòu)買(mǎi)A和B的客戶(hù)數(shù) =
VAR BC =
    CALCULATETABLE (
        VALUES ( '銷(xiāo)售明細(xì)'[客戶(hù)流水號(hào)] ),
        USERELATIONSHIP ( '關(guān)聯(lián)度產(chǎn)品表'[商品名稱(chēng)], '銷(xiāo)售明細(xì)'[商品名稱(chēng)] ),
        ALL ( '產(chǎn)品表' )
    )
RETURN
    SUMX (
        '產(chǎn)品表',
        IF (
            CALCULATE ( [A類(lèi)購(gòu)買(mǎi)人次], Bc ) = [A類(lèi)購(gòu)買(mǎi)人次],
            BLANK (),
            CALCULATE ( [A類(lèi)購(gòu)買(mǎi)人次], Bc )
        )
    )

結(jié)果如下:

這段代碼的核心點(diǎn)在于USERELATIONSHIP函數(shù)。

此函數(shù)激活了未生效的產(chǎn)品關(guān)聯(lián)表B的關(guān)系芍殖,利用CALCULATETABLE函數(shù)計(jì)算求得在產(chǎn)品表上下文情況下豪嗽,有多少[客戶(hù)訂單號(hào)]同時(shí)符合產(chǎn)品表A與產(chǎn)品表B。

再利用CALCULATE函數(shù)進(jìn)行求值豌骏,計(jì)算出AB類(lèi)同時(shí)購(gòu)買(mǎi)人次龟梦。

至于SUMX函數(shù)和IF函數(shù)是為了解決總計(jì)問(wèn)題,以及無(wú)效的AB購(gòu)買(mǎi)人次顯示問(wèn)題肯适。

注:后續(xù)函數(shù)周期表會(huì)詳解USERELATIONSHIP函數(shù),這里就不贅述了成榜。

同時(shí)購(gòu)買(mǎi)AB客戶(hù)數(shù)計(jì)算出來(lái)了框舔,那么關(guān)聯(lián)度就好解決了,占比即可赎婚。

代碼:

關(guān)聯(lián)度占比 =
IF ( HASONEVALUE ( '產(chǎn)品表'[商品名稱(chēng)] ), [同時(shí)購(gòu)買(mǎi)A和B的客戶(hù)數(shù)] / [A類(lèi)購(gòu)買(mǎi)人次], BLANK () )

結(jié)果如下:

添加條件格式刘绣,并且降序排列:

實(shí)際上到這里,關(guān)聯(lián)度分析就已經(jīng)結(jié)束了挣输,但是想想咱中國(guó)式BOSS的習(xí)慣纬凤,肯定是想知道金額的,所以我們?nèi)孕杼幚硪幌拢?/p>

A類(lèi)銷(xiāo)售額:

A類(lèi)銷(xiāo)售額 =
SUMX ( '銷(xiāo)售明細(xì)', '銷(xiāo)售明細(xì)'[銷(xiāo)售數(shù)量] * RELATED ( '產(chǎn)品表'[銷(xiāo)售價(jià)] ) )

B類(lèi)銷(xiāo)售額:

關(guān)聯(lián)產(chǎn)品B的銷(xiāo)售額 =
CALCULATE (
    [A類(lèi)銷(xiāo)售額],
    USERELATIONSHIP ( '關(guān)聯(lián)度產(chǎn)品表'[商品名稱(chēng)], '銷(xiāo)售明細(xì)'[商品名稱(chēng)] ),
    ALL ( '產(chǎn)品表' )
)

AB類(lèi)銷(xiāo)售額:

A客戶(hù)購(gòu)買(mǎi)B的金額 =
VAR Ac =
    CALCULATETABLE ( VALUES ( '銷(xiāo)售明細(xì)'[客戶(hù)流水號(hào)] ) )
VAR Bc =
    CALCULATETABLE (
        VALUES ( '銷(xiāo)售明細(xì)'[客戶(hù)流水號(hào)] ),
        USERELATIONSHIP ( '關(guān)聯(lián)度產(chǎn)品表'[商品名稱(chēng)], '銷(xiāo)售明細(xì)'[商品名稱(chēng)] ),
        ALL ( '產(chǎn)品表' )
    )
RETURN
    SUMX (
        '產(chǎn)品表',
        IF (
            CALCULATE ( [關(guān)聯(lián)產(chǎn)品B的銷(xiāo)售額], NATURALINNERJOIN ( Ac, Bc ) ) = [A類(lèi)銷(xiāo)售額],
            BLANK (),
            CALCULATE ( [關(guān)聯(lián)產(chǎn)品B的銷(xiāo)售額], NATURALINNERJOIN ( Ac, Bc ) )
        )
    )

放在表格中添加條件格式撩嚼,結(jié)果如下:

核心難點(diǎn)在于USERELATIONSHIP函數(shù)激活未生效關(guān)系停士,以及利用NATURALINNERJOIN函數(shù)取交集進(jìn)行計(jì)算挖帘。

初步效果已經(jīng)達(dá)到,但是這樣顯得不高大上傲导肌拇舀!

別急,添加四象限分析圖蜻底!

嘿嘿骄崩,其實(shí)就是一個(gè)散點(diǎn)圖,BOSS不會(huì)懂得薄辅。

添加一個(gè)散點(diǎn)圖要拂,再分別添加兩條均值線:

說(shuō)白了,就是在散點(diǎn)圖中添加兩條均值線來(lái)分類(lèi)數(shù)據(jù)站楚。

位于右上角的商品脱惰,關(guān)聯(lián)度占比高,同時(shí)購(gòu)買(mǎi)金額數(shù)高源请,相關(guān)系數(shù)遠(yuǎn)遠(yuǎn)高于其他三個(gè)區(qū)域枪芒。

這個(gè)時(shí)候說(shuō)明我們的營(yíng)銷(xiāo)活動(dòng)(或者促銷(xiāo)活動(dòng)、贈(zèng)品谁尸、擺放)中處于右上角的商品是有價(jià)值的舅踪,也就是沒(méi)有白折騰。

再調(diào)整一下布局良蛮,添加動(dòng)態(tài)配色抽碌,添加時(shí)間切片器,其最終效果如下:

怎么樣决瞳,是不是格調(diào)滿滿货徙?用來(lái)升值加薪最好不過(guò)了。

(BOSS:厲害了皮胡,那個(gè)誰(shuí)3占铡)

散點(diǎn)圖配色技巧:


1、添加兩個(gè)均值代碼屡贺。

代碼1:

關(guān)聯(lián)度均值 =
AVERAGEX ( ALL ( '產(chǎn)品表' ), [關(guān)聯(lián)度占比] )

代碼2:

A客戶(hù)購(gòu)買(mǎi)B金額均值 =
AVERAGEX ( ALL ( '產(chǎn)品表' ), [A客戶(hù)購(gòu)買(mǎi)B的金額] )

2蠢棱、選取喜歡的顏色,利用IF+AND進(jìn)行判定甩栈。

動(dòng)態(tài)顏色 =
IF (
    AND ( [A客戶(hù)購(gòu)買(mǎi)B的金額] <= [A客戶(hù)購(gòu)買(mǎi)B金額均值], [關(guān)聯(lián)度占比] <= [關(guān)聯(lián)度均值] ),
    "#108DFE",
    IF (
        AND ( [A客戶(hù)購(gòu)買(mǎi)B的金額] <= [A客戶(hù)購(gòu)買(mǎi)B金額均值], [關(guān)聯(lián)度占比] > [關(guān)聯(lián)度均值] ),
        "#e6b422",
        IF (
            AND ( [A客戶(hù)購(gòu)買(mǎi)B的金額] > [A客戶(hù)購(gòu)買(mǎi)B金額均值], [關(guān)聯(lián)度占比] <= [關(guān)聯(lián)度均值] ),
            "#0F5C4A",
            IF ( AND ( [A客戶(hù)購(gòu)買(mǎi)B的金額] > [A客戶(hù)購(gòu)買(mǎi)B金額均值], [關(guān)聯(lián)度占比] > [關(guān)聯(lián)度均值] ), "#a22041" )
        )
    )
)

當(dāng)然泻仙,也可以使用SWITCH函數(shù),這里就不贅述了量没。

3玉转、散點(diǎn)圖顏色格式設(shè)置。

散點(diǎn)圖最終效果如下:

小伙伴們?GET了么殴蹄?

白茶會(huì)不定期的分享一些函數(shù)卡片

(文件在知識(shí)星球[PowerBI丨需求圈])

這里是白茶究抓,一個(gè)PowerBI的初學(xué)者猾担。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市漩蟆,隨后出現(xiàn)的幾起案子垒探,更是在濱河造成了極大的恐慌,老刑警劉巖怠李,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件圾叼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡捺癞,警方通過(guò)查閱死者的電腦和手機(jī)夷蚊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)髓介,“玉大人惕鼓,你說(shuō)我怎么就攤上這事√拼。” “怎么了箱歧?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)一膨。 經(jīng)常有香客問(wèn)我呀邢,道長(zhǎng),這世上最難降的妖魔是什么豹绪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任价淌,我火速辦了婚禮,結(jié)果婚禮上瞒津,老公的妹妹穿的比我還像新娘蝉衣。我一直安慰自己,他們只是感情好巷蚪,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布病毡。 她就那樣靜靜地躺著,像睡著了一般屁柏。 火紅的嫁衣襯著肌膚如雪啦膜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天前联,我揣著相機(jī)與錄音功戚,去河邊找鬼娶眷。 笑死似嗤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的届宠。 我是一名探鬼主播烁落,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼乘粒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了伤塌?” 一聲冷哼從身側(cè)響起灯萍,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎每聪,沒(méi)想到半個(gè)月后旦棉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡药薯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年绑洛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片童本。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡真屯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出穷娱,到底是詐尸還是另有隱情绑蔫,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布泵额,位于F島的核電站配深,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梯刚。R本人自食惡果不足惜凉馆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望亡资。 院中可真熱鬧澜共,春花似錦、人聲如沸锥腻。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瘦黑。三九已至京革,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間幸斥,已是汗流浹背匹摇。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甲葬,地道東北人廊勃。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像经窖,于是被迫代替她去往敵國(guó)和親坡垫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梭灿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348