Power Query xóa thẻ HTML

Bất kỳ ai cũng có mã để phát hiện ví dụ “HTML” trong trình chỉnh sửa truy vấn nếu văn bản. trái = < & văn bản. phải =>, nhưng quan trọng hơn, làm cách nào để tự động tách tất cả các thẻ và/hoặc chuyển thành văn bản mặc định?

Bạn có thể biết hoặc không biết rằng PowerApps/Dynamics biết hỗ trợ chỉnh sửa HTML cho các trường văn bản nhiều dòng, vì vậy đây sẽ sớm trở thành một câu hỏi thường gặp

Tái bút. cho những người nghĩ. Tôi sẽ chỉ sử dụng hình ảnh HTML, bạn nên biết rằng bạn không thể xuất nó sang pdf hoặc ppt ngoài bản thân báo cáo, nó có rất ít giá trị

Chúng tôi nên làm gì nếu nhận được thẻ HTML trong dữ liệu của mình và chúng tôi chỉ cần văn bản thuần túy? . Hôm nay tôi viết bài này để giải quyết vấn đề này

Trong Power BI, chúng tôi có thể chuyển đổi dữ liệu của mình bằng trình chỉnh sửa truy vấn Power. Dưới đây là danh sách các bước bạn cần thực hiện để xóa thẻ HTML và nhận dữ liệu thuần túy

Tôi có dữ liệu Excel trong bảng 'InternetData' và cột hai tôi. e. 'Web' có dữ liệu ở dạng HTML. Nhiệm vụ của chúng tôi là lấy văn bản thuần túy của cột này. Xem hình ảnh bên dưới

Convert Data From HTML To Plain Text In Power BI

Bây giờ tôi sẽ nhập dữ liệu Excel này vào Power BI. Để làm như vậy, hãy nhấp vào 'Nhận dữ liệu' trên tab trang chủ và chọn 'Excel' làm nguồn. Cung cấp đường dẫn tệp, chọn tệp và nhấp vào 'Ok'

Convert Data From HTML To Plain Text In Power BI

Một cửa sổ Điều hướng mới sẽ được mở ra. Chọn hộp kiểm của bảng và sau đó nhấp vào 'Tải'

Convert Data From HTML To Plain Text In Power BI

Bảng đã được tải thành công và đang hiển thị ở bên phải của công cụ BI. Bạn có thể xem dữ liệu của bảng này bằng trực quan hóa bảng. Bạn cũng có thể thay đổi định dạng của trực quan hóa bảng để hiển thị dữ liệu của mình một cách tương tác

Convert Data From HTML To Plain Text In Power BI

Bây giờ nhiệm vụ của chúng tôi là xóa các thẻ HTML khỏi dữ liệu cột 'Web'. Vì vậy chúng ta cần mở trình soạn thảo Power Query để thực hiện công việc này. Nhấp vào 'Chuyển đổi dữ liệu' có sẵn trên Tab 'Trang chủ'

Convert Data From HTML To Plain Text In Power BI Convert Data From HTML To Plain Text In Power BI

Bây giờ thêm một cột tùy chỉnh trong bảng này. Chuyển đến bảng 'Thêm cột' và nhấp vào 'Cột tùy chỉnh'. Cửa sổ 'Cột tùy chỉnh' mới sẽ được mở

Convert Data From HTML To Plain Text In Power BI

Cung cấp tên cột tùy chỉnh trong hộp 'Tên cột mới' và cũng cung cấp công thức DAX để xóa thẻ HTML. Công thức được đưa ra dưới đây

  1. = Html. Bảng([Tên cột] , {{"văn bản",". nguồn gốc"}})

Đặt công thức này vào hộp 'Công thức cột tùy chỉnh' rồi nhấp vào 'OK'. Một cột tùy chỉnh đã được thêm vào ngay bây giờ

Tôi đang cố xóa các thẻ HTML khỏi trường văn bản Power BI được lấy từ Salesforce. Tôi đã thử triển khai một số giải pháp được cung cấp tại đây và trên các diễn đàn khác nhưng không gặp may vì tôi chỉ mới bắt đầu tìm hiểu về truy vấn nguồn. Mã được cung cấp ở đây có vẻ phù hợp với trường hợp của tôi, nhưng tôi không cố gắng làm cho nó hoạt động với mình. Dưới đây là truy vấn cho bảng chứa trường văn bản. Bất kỳ trợ giúp nào bạn có thể cung cấp sẽ được đánh giá rất cao

 let
     Source = Salesforce.Data("https://login.salesforce.com/", [ApiVersion=48, CreateNavigationProperties=true]),
     Claims__c = Source{[Name="Claims__c"]}[Data],
     #"Renamed Columns" = Table.RenameColumns(Claims__c,{{"Name", "Claim Number"}, {"Claim_Notice_Date__c", "Claim Notice Date"}, {"Loss_Type__c", "Loss Type"}, {"Status__c", "Status"}, {"Date_of_Binding__c", "Date of Binding"}, {"Claim_Type__c", "Claim Type"}}),
     #"Inserted Merged Column" = Table.AddColumn(#"Renamed Columns", "Merged", each Text.Combine({[Status], " - ", Text.Proper([Loss Type])}), type text),
     #"Removed Columns" = Table.RemoveColumns(#"Inserted Merged Column",{"Merged"}),
     #"Inserted Merged Column1" = Table.AddColumn(#"Removed Columns", "Merged", each Text.Combine({[Status], " - ", [Loss Type]}), type text),
     #"Added Conditional Column" = Table.AddColumn(#"Inserted Merged Column1", "Ststus & Loss Type", each if [Merged] = "Open - Third Party" then "Open 3rd" else if [Merged] = "Open - First Party" then "Open 1st" else if [Merged] = "Closed - Third Party" then "Closed 3rd" else if [Merged] = "Closed - First Party" then "Closed 1st" else null, type text),
     #"Renamed Columns1" = Table.RenameColumns(#"Added Conditional Column",{{"Ststus & Loss Type", "Status & Loss Type"}}),
     #"Removed Columns1" = Table.RemoveColumns(#"Renamed Columns1",{"Status & Loss Type", "Merged"}),
     #"Inserted Merged Column2" = Table.AddColumn(#"Removed Columns1", "Merged", each Text.Combine({[Status], " ", [Loss Type]}), type text),
     #"Sorted Rows" = Table.Sort(#"Inserted Merged Column2",{{"CreatedDate", Order.Descending}}),
     #"Renamed Columns2" = Table.RenameColumns(#"Sorted Rows",{{"Merged", "Status & Loss Type"}}),
     #"Added Custom" = Table.AddColumn(#"Renamed Columns2", "Has Reserve?", each if [ET_Loss_Reserve__c] = null or [ET_Loss_Reserve__c] = 0 then "No" else "Yes"),
     #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom", each [ET_Loss_Reserve__c]+[Paid_Loss__c]+[Paid_ALAE__c]+[Paid_Expense__c]),
     #"Renamed Columns3" = Table.RenameColumns(#"Added Custom1",{{"Custom", "Known Exposure"}}),
     #"Removed Columns2" = Table.RemoveColumns(#"Renamed Columns3",{"Known Exposure"}),
     #"Inserted Sum" = Table.AddColumn(#"Removed Columns2", "Addition", each List.Sum({[Paid_Loss__c], [Paid_Expense__c], [Paid_ALAE__c], [ET_Loss_Reserve__c]}), type number),
     #"Renamed Columns4" = Table.RenameColumns(#"Inserted Sum",{{"Addition", "Known Exposure"}})
 in
     #"Renamed Columns4"
    
 let func = (HTML) =>
     let
         Check = if Value.Is(Value.FromText(HTML), type text) then HTML else "",
         Source = Salesforce.Data("https://login.salesforce.com/", [ApiVersion=48, CreateNavigationProperties=true]),
         SplitAny = Text.SplitAny(Source,"<>"),
         ListAlternate = List.Alternate(SplitAny,1,1,1),
         ListSelect = List.Select(ListAlternate, each _<>""),
         TextCombine = Text.Combine(ListSelect, "")
     in
         TextCombine, 
         documentation = [
             Documentation.Name =  " Text.RemoveHtmlTags"
             , Documentation.Description = "Remove Html Tags"
             , Documentation.LongDescription = " Removes all Html tags from a text"
             , Documentation.Category = " Text.Modification"
             , Documentation.Source = " Inspired by a solution from Bill Szysz"
             , Documentation.Author = " Imke Feldmann: www.TheBIccountant.com & Mike Carlo: PowerBI.Tips"
             , Documentation.Examples = {[
                 Description = "Function that enables one to pass in a column that has HTML tags."
                 , Code = "
my bit of text
" , Result = "my bit of text " ]}] in Value.ReplaceType(func, Value.ReplaceMetadata(Value.Type(func), documentation))


Tốt nhất,
YevD