簡體   English   中英

將 Spotfire 計算列轉換為 PowerBi

[英]Convert Spotfire calculated column to PowerBi

我正在將 Spotfire 儀表板轉換為 Power BI,並且正在努力研究如何轉換我的計算列之一:

CASE  
WHEN MostCommon(If([Language]="English (UK)",[Training title])) OVER ([Internal Course Code]) IS NULL THEN MostCommon(If([Language]="Dutch (The Netherlands)",[Training title])) OVER ([Internal Course Code])
ELSE MostCommon(If([Language]="English (UK)",[Training title])) OVER ([Internal Course Code])
END

情況:一些課程有多種語言版本。 所以[培訓名稱]不同,但內容相同,只是語言不同。 但是系統將其視為不同的課程。 在我的可視化中,我想將課程組合在一起(不考慮語言)。 這可以通過 [內部課程代碼] 列來完成。 但是,[內部課程代碼] 對最終用戶沒有意義,因此我想創建一個新列,其中我在 [內部課程代碼] 旁邊包含 [培訓標題]。 由於內部課程代碼有不同的標題,我想顯示 (1) 英文標題。 在某些情況下沒有英文標題,那么我想顯示荷蘭文標題。

在 Spotfire 中,我使用了 OVER 函數。 有沒有人建議如何在 PowerBI 中寫下這個?

非常感謝任何幫助或指導!

示例數據和所需的 output:

內部課程代碼 培訓名稱 語言 期望 OUTPUT
100 樂觀 101 英語(英國) 樂觀 101
100 初學者的樂觀主義 荷蘭語(荷蘭) 樂觀 101
100 樂觀,就業模式 法語(法國) 樂觀 101
139 數字化轉型 荷蘭語(荷蘭) 數字化轉型
169 公開假釋 法語(法國) 演講技巧
169 演講技巧 英語(英國) 演講技巧
169 主持人 荷蘭語(荷蘭) 演講技巧
186 玻璃制品 leiderschap 荷蘭語(荷蘭) 玻璃制品 leiderschap
81 Beïnvloeden 荷蘭語(荷蘭) 影響力
81 影響者 法語(法國) 影響力
81 影響力 英語(英國) 影響力

給你 go。確保將自定義列中的#"Changed Type" 更改為上一步的名稱。

源表:

在此處輸入圖像描述

結果:

在此處輸入圖像描述

自定義列:

在此處輸入圖像描述

自定義列代碼:

let rows = 
Table.SelectRows(#"Changed Type", (x)=> x[Internal Course Code] = _[Internal Course Code] and (Text.StartsWith(x[Language], "English") or Text.StartsWith(x[Language], "Dutch"))), 
sorted = Table.Sort(rows, {"Language", Order.Descending})

in sorted[Training Title]{0}

全量查詢

  let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("jZFBS8QwEIX/ytCTQg+twrpeRVdEUEE9rXvINm/bwemkJOn+LX+Ef8y0orBo6Z5CmPe9Ny9Zr7OyKCjLs8cucsuhpbIoh/uN1sKhoZPX+1PKNvkfIWjvnKctalaFD8Psuo9VQl4a0ANiAy9GbZjgc2qdBdm3vijOLtB24ngQrDx0cFl5oxV+4PPLMYBrjkZAMQ3DzvnWRMZ89GKkn5Kz9SAx1Bnvkg2Uun4rXE0H/6IBGlOaU3p+Z5Ew8UoHeiTL+e2Wi0FzKyY0EAtPAk5HqBrTzdLL8buu8Pmhe3GwRwR+I3e6kz41TnlT5Q+FrPU/nTdf", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Internal Course Code" = _t, #"Training Title" = _t, Language = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Internal Course Code", Int64.Type}, {"Training Title", type text}, {"Language", type text}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each let rows = 
            Table.SelectRows(#"Changed Type", (x)=> x[Internal Course Code] = _[Internal Course Code] and (Text.StartsWith(x[Language], "English") or Text.StartsWith(x[Language], "Dutch"))), 
            sorted = Table.Sort(rows, {"Language", Order.Descending})
    
            in sorted[Training Title]{0})
    in
        #"Added Custom"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM