日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

交叉表 列字段排序_PowerBI创建日期表

發(fā)布時間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 交叉表 列字段排序_PowerBI创建日期表 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

PowerBI中最常用的表是什么?毫無疑問,日期表!

不同行業(yè)的分析,維度表有類別之分,數(shù)據(jù)表有指標(biāo)計算之別。但當(dāng)談到日期時,基本是一致的。而且日期表也是我們使用時間智能的前提。

由于日期表、時間智能公式非常的好用,往往在做分析時我們都會加入一張日期表。對于我個人,因?yàn)榻?jīng)常會收到一些讀者發(fā)來的數(shù)據(jù)建模問題,建立日期表對我來說也是一項(xiàng)重復(fù)性操作。如何以最快的速度生成一張通用而且好用的日期表呢?很多人都想要找到一個適合自己的最優(yōu)方案。

常見的方法有四種:

1) 用Excel制作,導(dǎo)入PowerBI (這是最靈活的方法,尤其在使用定制的日歷表時)

2) PowerQuery生成,利用編輯查詢器中的添加日期列功能(這是以往我比較喜歡的方式,在日歷表的使用文章中曾介紹過)

3) 復(fù)制前人寫過的PowerQueryM代碼。這種方法很快很方便,只不過對于很多人這屬于黑箱操作,并不理解語句的具體含義。

4) 寫DAX公式生成
本文想推薦的就是這第四種寫DAX公式的方法,它是所有方法中最快的。
最近在實(shí)踐中經(jīng)常使用,屢試不爽。只需要兩個步驟,新建表,再復(fù)制一段DAX公式。

為什么說這是一個非常好用的方法?我的理由有4點(diǎn):

1. 上圖例子中,Calendar函數(shù)生成了一張2016年12月28日到2017年12月31日的日期表。這里的日期可以隨意的去替換。

并且,還可以把起始日期替換成Firstdate和Lastdate,比如Firstdate('銷售數(shù)據(jù)表'[訂單日期])可以得到銷售數(shù)據(jù)表中的最早訂單日期,Lastdate可以得到最近的日期,此方法生成的日期表將永遠(yuǎn)等于數(shù)據(jù)表的日期范圍,這往往也是我們想要得到的效果。

2. Addcolumns的含義是在生成日期表基礎(chǔ)上添加列,這與使用Excel制表的邏輯是一樣的。利用基本的日期函數(shù)Year、Month、Weeknum和算式求得每一個日期的年季度月日,這些函數(shù)與Excel的函數(shù)相同,對Excel的使用者來講不難理解。

Marco說這個公式執(zhí)行了很多重復(fù)的計算,如果利用VAR、Generate、Row函數(shù)可以調(diào)成最優(yōu)。

但我認(rèn)為日期表即使跨度十年也就是3650行,用寫兩倍長的代碼來提升0.0X秒的計算速度,并沒有什么吸引力。如果說在速度和簡單上來找一個平衡,我更傾向于簡單。(當(dāng)然,這只是針對日期表這個例子。Marco的那篇文章主要是為了說明Generate/Row可以更好地取代Addcolumns,這是另一個有意義的話題。)

3. 注意到在建立[年月]列時,我使用的方法是Year([Date])*100+Month([Date])數(shù)字計算,而不是利用Format函數(shù)生成“年份月份”的文本格式。這樣的好處是在后期使用中不會涉及到日期表的排序問題。(比如經(jīng)常會遇到“2016年11月”會排在“2016年2月”的前面,而用201611和201602就會很好地避免了這種問題)

4. 這個公式并不難,保存下來可以復(fù)制粘貼使用。即使手工輸入也不會很費(fèi)力氣。最重要的是你能夠理解此公式的含義,根據(jù)自己的需要利用Excel類的簡單日期函數(shù)做調(diào)整。

我把公式寫在了下面,供直接復(fù)制使用。

--------------------------

日期表 = ADDCOLUMNS (
CALENDAR ( date(2016,12,28),date(2017,12,31) ),
"年", YEAR ( [Date] ),
"季度", ROUNDUP( MONTH ( [Date] )/3,0 ),
"月", MONTH ( [Date] ),
"周", WEEKNUM([Date]),
"年季度", YEAR ( [Date] ) & "Q" & ROUNDUP( MONTH ( [Date] )/3,0 ) ,
"年月", YEAR ( [Date] ) * 100 + MONTH ( [Date] ),
"年周", YEAR ( [Date] ) * 100 + WEEKNUM ( [Date] ),
"星期幾", WEEKDAY([Date])
)

--------------------------

總結(jié)

以上是生活随笔為你收集整理的交叉表 列字段排序_PowerBI创建日期表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。