iT邦幫忙

0

想要在Power BI中以時間區間,關聯(或合併)2張表

  • 分享至 

  • xImage

各位大大安安
我想要關聯(或合併)2張表

第1張表是活動的id,開始時間,結束時間
https://ithelp.ithome.com.tw/upload/images/20230420/20156470bpextwm3nS.png

第2張表是銷售表,銷售的日期與時間
https://ithelp.ithome.com.tw/upload/images/20230420/201564707A7ulitW5d.png

我現在想要知道在每個活動區間的銷售量,
結果產出大概會是這樣
https://ithelp.ithome.com.tw/upload/images/20230420/20156470yTAC4TpEOE.png

我想了好久,
關聯好像不太可能,感覺可以合併後用"介於"篩選,但是也沒有想到合併的方法QAQ

lucien666 iT邦新手 5 級 ‧ 2023-04-20 18:14:37 檢舉
我在power query中試了以下做法,但是出現錯誤
= Table.AddColumn(activity_date, "TEST", each Table.SelectRows(sale, each [date] >= [start_date] and [date] <= [end_date]))
錯誤:
Expression.Error: 評估期間發生循環參考。
有沒有大大能指點指點
wu2960 iT邦新手 3 級 ‧ 2023-04-21 08:43:17 檢舉
用SQL做出view再給POWERBI讀?
lucien666 iT邦新手 5 級 ‧ 2023-04-21 09:18:25 檢舉
資料來源是SQL沒錯,本來是想直接JOIN,但這兩張表的製作人表示沒辦法串QQ
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
default_value
iT邦新手 5 級 ‧ 2023-04-21 09:38:59
最佳解答

用DAX 的CALCULATE函數的來篩選日期 就可以產生出你要的格式
id start_date end_date count
https://ithelp.ithome.com.tw/upload/images/20230421/20118706UtnQl3jFqb.jpg

看更多先前的回應...收起先前的回應...
lucien666 iT邦新手 5 級 ‧ 2023-04-21 09:41:06 檢舉

大大,方便看一下函數怎麼寫嗎

https://learn.microsoft.com/zh-tw/dax/calculate-function-dax
用filter 篩選
剩下自己試試看吧

lucien666 iT邦新手 5 級 ‧ 2023-04-21 09:50:36 檢舉
Sales with Activity ID = 
FILTER (
    CROSSJOIN (Sale, Activity_Date),
    sale[Date] >= activity_date[star_date]
        && sale[Date] <= Activity_Date[end_date]
)

我請ChatGPT幫我試了一下,
有實現我要的效果,
想看一下大大的寫法@@

供參考
用crossjoin 如果未來資料多 效能會變慢

count = 
CALCULATE( sum(sale[count]),
    filter(sale,
      sale[date] >= (acitvity_date[start_date]) && 
       sale[date] <= acitvity_date[end_date]
            )
)
lucien666 iT邦新手 5 級 ‧ 2023-04-21 10:04:32 檢舉

原來如此,感謝大大

我要發表回答

立即登入回答