पावर क्वेरी: मल्टीपल आइडेंटिकल हेडर्स के साथ डील करना - एक्सेल टिप्स

विषय - सूची

ध्यान दें

यह पॉडकास्ट 2316 चुनौती के लिए भेजे गए समाधानों का विवरण देने वाले लेखों की एक श्रृंखला है।

अपने मूल डेटा को समस्या को आकार देने में, मैं प्रक्रिया में बहुत पहले एक समस्या में भाग गया। आने वाले डेटा में Q1 के शीर्षक के साथ कई कॉलम होने वाले थे।

कई कॉलम

अपने समाधान में, मैंने एक नामांकित श्रेणी "UglyData" बनाई और आयात किया कि पावर क्वेरी। इसके कारण मेरे कॉलम का नाम बदलने में Power Query का दुखी परिणाम Q1_1 हो गया है।

नाम दिया गया कॉलम

बाद में, अप्रकाशित होने के बाद, मुझे उन शीर्ष लेखों से केवल बाएं दो वर्ण निकालने थे।

इस समस्या के तीन अलग-अलग समाधान थे:

  • Wyn हॉपकिंस और डेमो हेडर
  • एमएफ वोंग और अनचेक माय टेबल हैड हेडर्स (पीटर बार्थोलोम्यू द्वारा सुझाए गए)
  • जेसन एम और बस प्रचारित हेडर्स को हटाएं (ओन्डेज़ मालिन्स्की और एक्सेल एमवीपी जॉन मैकडॉगल द्वारा सुझाए गए)

एक्सेस एनालिटिक्स में पहला नवाचार Wyn हॉपकिंस का था। एक नामित सीमा के बजाय, Wyn ने Ctrl + T का उपयोग करके डेटा को तालिका में बदल दिया। इस बिंदु पर, शीर्षकों को नुकसान हुआ, क्योंकि Excel ने शीर्षकों को निम्न में बदल दिया:

तालिका में परिवर्तित: Ctrl + T

एक बार जब Wyn ने डेटा को पावर क्वेरी में ले लिया, तो उन्होंने हेडर ड्रॉप-डाउन मेनू के रूप में यूज़ फर्स्ट रो को खोला और यूज़ हेडर्स को फर्स्ट रो के रूप में चुना। मुझे कभी इस बात का एहसास नहीं हुआ कि यह वहां था। यह Table.DemoteHeaders नाम से एक स्टेप बनाता है।

पहली पंक्ति के रूप में हेडर का उपयोग करें

लेकिन, Wyn के सुधार के साथ, वह अभी भी बाद में उन हेडर से पहले 2 पात्रों को निकालना होगा।

दूसरा नवाचार एमएफ वोंग की तकनीक है। जब उन्होंने तालिका बनाई, तो उन्होंने मेरी तालिका में हेडर्स को अनचेक कर दिया!

मेरी टेबल में हेडर हैं

यह सुनिश्चित करता है कि एक्सेल कई Q1 हेडर को अकेला छोड़ देता है और बाद में अतिरिक्त प्रत्यय निकालने की कोई आवश्यकता नहीं है।

एकाधिक Q1 हेडर

मैं समझता हूं कि "आई लव टेबल" कैंप में लोग हैं। एमएफ वोंग के वीडियो में दिखाया गया है कि कैसे वह डेटा के अधिकार में नए कर्मचारियों को जोड़ सकता है और तालिका स्वचालित रूप से फैलती है। तालिकाओं का उपयोग करने के कई अच्छे कारण हैं।

लेकिन, क्योंकि मुझे चयन द्वारा सबटोटल्स, कस्टम दृश्य और फ़िल्टर पसंद हैं, इसलिए मैं तालिकाओं का उपयोग नहीं करता हूं। इसलिए, मैं जेसन एम। के समाधान की सराहना करता हूं। उन्होंने डेटा को युग्लीडाटा नाम दिया। जैसे ही उन्होंने पावर क्वेरी को डेटा आयात किया, उन्होंने इन दो चरणों को हटा दिया:

हटाए गए कदम

अब, केवल रो 1 में डेटा के साथ, Q1 नामक कई कॉलम होने में कोई परेशानी नहीं है।

कई Q1 कॉलम

यहाँ Wyn हॉपकिन का कोड DemotedHeaders दिखा रहा है:

let Source = Excel.CurrentWorkbook()((Name="Table1"))(Content), #"Demoted Headers1" = Table.DemoteHeaders(Source), #"Transposed Table1" = Table.Transpose(#"Demoted Headers1"), #"Added Custom" = Table.AddColumn(#"Transposed Table1", "Custom", each if Text.Start((Column1),1) = "Q" then null else (Column1)), #"Filled Down" = Table.FillDown(#"Added Custom",("Custom")), #"Filtered Rows" = Table.SelectRows(#"Filled Down", each ((Custom) "Dept. Total")), #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each not Text.StartsWith((Column1), "Employee")), #"Promoted Headers" = Table.PromoteHeaders(#"Filtered Rows1", (PromoteAllScalars=true)), #"Extracted First Characters" = Table.TransformColumns(#"Promoted Headers", (("Category Description", each Text.Start(_, 2), type text))), #"Reordered Columns" = Table.ReorderColumns(#"Extracted First Characters",("Category Description_1", "Category Description", "Administrative", "Holiday", "PTO/LOA/Jury Duty", "Project A", "Project B", "Project C")), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Reordered Columns", ("Category Description_1", "Category Description"), "Attribute", "Value"), #"Reordered Columns1" = Table.ReorderColumns(#"Unpivoted Other Columns",("Category Description_1", "Attribute", "Category Description", "Value")), #"Pivoted Column" = Table.Pivot(#"Reordered Columns1", List.Distinct(#"Reordered Columns1"(#"Category Description")), "Category Description", "Value", List.Sum), #"Reordered Columns2" = Table.ReorderColumns(#"Pivoted Column",("Attribute", "Category Description_1", "Q1", "Q2", "Q3", "Q4")), #"Renamed Columns" = Table.RenameColumns(#"Reordered Columns2",(("Attribute", "Cat Deasc"), ("Category Description_1", "Emp Name"))), #"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",(("Emp Name", type text), ("Q1", Int64.Type), ("Q2", Int64.Type), ("Q3", Int64.Type), ("Q4", Int64.Type))), #"Inserted Sum" = Table.AddColumn(#"Changed Type", "Total", each List.Sum(((Q1), (Q2), (Q3), (Q4))), Int64.Type) in #"Inserted Sum"

पॉडकास्ट 2316 चुनौती के लिए मुख्य पृष्ठ पर लौटें।

इस श्रृंखला में अगला लेख पढ़ें: पावर क्वेरी: इसे हटाएं, इन्हें हटाएं, या कुछ भी न हटाएं।

दिलचस्प लेख...