কখনও কখনও এমন পরিস্থিতি থাকে যখন উৎস ডেটা থেকে কতগুলি এবং কোন সারি আমদানি করতে হবে তা আগে থেকেই জানা যায় না। ধরুন আমাদের পাওয়ার কোয়েরিতে একটি টেক্সট ফাইল থেকে ডেটা লোড করতে হবে, যা প্রথম নজরে একটি বড় সমস্যা উপস্থাপন করে না। অসুবিধা হল যে ফাইলটি নিয়মিত আপডেট করা হয়, এবং আগামীকাল এতে ডেটা সহ একটি ভিন্ন সংখ্যক লাইন থাকতে পারে, তিনটির শিরোনাম, দুটি লাইন নয়, ইত্যাদি।
অর্থাৎ কোন লাইন থেকে শুরু করে ঠিক কত লাইন আমদানি করতে হবে তা আমরা নিশ্চিত করে আগে থেকে বলতে পারি না। এবং এটি একটি সমস্যা, কারণ এই পরামিতিগুলি অনুরোধের এম-কোডে হার্ড কোডেড। এবং যদি আপনি প্রথম ফাইলের জন্য একটি অনুরোধ করেন (5 তারিখ থেকে শুরু করে 4টি লাইন আমদানি করা), তাহলে এটি আর দ্বিতীয়টির সাথে সঠিকভাবে কাজ করবে না।
এটা চমৎকার হবে যদি আমাদের ক্যোয়ারী নিজেই আমদানির জন্য "ভাসমান" টেক্সট ব্লকের শুরু এবং শেষ নির্ধারণ করতে পারে।
আমি যে সমাধানটি প্রস্তাব করতে চাই তা এই ধারণার উপর ভিত্তি করে যে আমাদের ডেটাতে কিছু কীওয়ার্ড বা মান রয়েছে যা আমাদের প্রয়োজনীয় ডেটা ব্লকের শুরু এবং শেষের চিহ্নিতকারী (বৈশিষ্ট্য) হিসাবে ব্যবহার করা যেতে পারে। আমাদের উদাহরণে, শুরুটি শব্দ দিয়ে শুরু হওয়া একটি লাইন হবে SKU, এবং শেষ শব্দের সাথে একটি লাইন মোট. এই সারি বৈধতা একটি শর্তসাপেক্ষ কলাম ব্যবহার করে পাওয়ার কোয়েরিতে প্রয়োগ করা সহজ - ফাংশনের একটি অ্যানালগ IF (আইএফ) মাইক্রোসফট এক্সেল এ.
চলুন দেখা যাক কিভাবে এটা করতে হয়।
প্রথমে, আমাদের টেক্সট ফাইলের বিষয়বস্তু পাওয়ার কোয়েরিতে স্ট্যান্ডার্ড পদ্ধতিতে - কমান্ডের মাধ্যমে লোড করা যাক ডেটা - ডেটা পান - ফাইল থেকে - পাঠ্য/CSV ফাইল থেকে (ডেটা - ডেটা পান - ফাইল থেকে - পাঠ্য/CSV ফাইল থেকে). আপনার যদি আলাদা অ্যাড-ইন হিসাবে পাওয়ার কোয়েরি ইনস্টল করা থাকে, তাহলে সংশ্লিষ্ট কমান্ডগুলি ট্যাবে থাকবে পাওয়ার কোয়েরি:
বরাবরের মতো, আমদানি করার সময়, আপনি কলাম বিভাজক অক্ষরটি নির্বাচন করতে পারেন (আমাদের ক্ষেত্রে, এটি একটি ট্যাব), এবং আমদানি করার পরে, আপনি স্বয়ংক্রিয়ভাবে যুক্ত পদক্ষেপটি সরাতে পারেন পরিবর্তিত প্রকার (পরিবর্তিত প্রকার), কারণ কলামগুলিতে ডেটা প্রকার বরাদ্দ করা আমাদের পক্ষে খুব তাড়াতাড়ি:
এখন কমান্ড দিয়ে একটি কলাম যোগ করা - শর্তাধীন কলাম (কলাম যোগ করুন — শর্তসাপেক্ষ কলাম)আসুন দুটি শর্ত চেক করার সাথে একটি কলাম যোগ করি - ব্লকের শুরুতে এবং শেষে - এবং প্রতিটি ক্ষেত্রে ভিন্ন ভিন্ন মান প্রদর্শন করুন (উদাহরণস্বরূপ, সংখ্যাগুলি 1 и 2) যদি কোনো শর্ত পূরণ না হয়, তাহলে আউটপুট অকার্যকর:
ক্লিক করার পরে OK আমরা নিম্নলিখিত ছবি পেতে:
এখন ট্যাবে যাওয়া যাক। রুপান্তর এবং একটি দল নির্বাচন করুন নিচে পূরণ (রূপান্তর - পূরণ - নিচে) - আমাদের দুজন মিলে কলামটি প্রসারিত করবে:
ঠিক আছে, তাহলে, আপনি যেমন অনুমান করতে পারেন, আপনি কেবল শর্তসাপেক্ষ কলামে ইউনিটগুলি ফিল্টার করতে পারেন - এবং এখানে আমাদের লোভনীয় ডেটা রয়েছে:
যা অবশিষ্ট থাকে তা হল কমান্ডের সাহায্যে হেডারে প্রথম লাইনটি বাড়াতে হেডার হিসেবে প্রথম লাইন ব্যবহার করুন ট্যাব হোম (হোম - হেডার হিসাবে প্রথম সারি ব্যবহার করুন) এবং হেডারে ডান ক্লিক করে এবং কমান্ড নির্বাচন করে অপ্রয়োজনীয় আরও শর্তসাপেক্ষ কলামটি সরিয়ে ফেলুন কলাম মুছুন (কলাম মুছুন):
সমস্যা সমাধান. এখন, সোর্স টেক্সট ফাইলে ডেটা পরিবর্তন করার সময়, ক্যোয়ারী এখন স্বাধীনভাবে আমাদের প্রয়োজনীয় ডেটার "ভাসমান" খণ্ডের শুরু এবং শেষ নির্ধারণ করবে এবং প্রতিবার সঠিক সংখ্যক লাইন আমদানি করবে। অবশ্যই, এই পদ্ধতিটি XLSX আমদানির ক্ষেত্রেও কাজ করে, TXT ফাইল নয়, সেইসাথে কমান্ডের সাহায্যে একবারে ফোল্ডার থেকে সমস্ত ফাইল আমদানি করার সময় ডেটা - ডেটা পান - ফাইল থেকে - ফোল্ডার থেকে (ডেটা — ডেটা পান — ফাইল থেকে — ফোল্ডার থেকে).
- পাওয়ার কোয়েরি ব্যবহার করে বিভিন্ন ফাইল থেকে টেবিল একত্রিত করা
- একটি ক্রসট্যাবকে ম্যাক্রো এবং পাওয়ার ক্যোয়ারি সহ ফ্ল্যাট করার জন্য পুনরায় ডিজাইন করা
- পাওয়ার কোয়েরিতে একটি প্রজেক্ট গ্যান্ট চার্ট তৈরি করা