বিষয়বস্তু
প্রায় প্রতিটি পাওয়ার কোয়েরি প্রশিক্ষণে, যখন আমরা তৈরি করা প্রশ্নগুলি কীভাবে আপডেট করতে পারি এবং লোকেরা দেখতে পায় যে কীভাবে নতুন ডেটা আপডেট করার সময় পুরানো ডেটা প্রতিস্থাপন করে, তখন একজন শ্রোতা আমাকে জিজ্ঞাসা করেন: "আপডেট করার সময়, পুরানো ডেটা কি তা নিশ্চিত করা সম্ভব? এছাড়াও কোথাও সংরক্ষিত ছিল এবং সম্পূর্ণ আপডেট ইতিহাস দৃশ্যমান ছিল?
ধারণাটি নতুন নয় এবং এর প্রমিত উত্তর হবে "না" - পাওয়ার কোয়েরি ডিফল্টভাবে কনফিগার করা হয় যাতে পুরানো ডেটাকে নতুন দিয়ে প্রতিস্থাপন করা হয় (যা বেশিরভাগ ক্ষেত্রেই প্রয়োজন)। যাইহোক, আপনি যদি সত্যিই চান, আপনি এই সীমাবদ্ধতা কাছাকাছি পেতে পারেন. এবং পদ্ধতি, আপনি পরে দেখতে পাবেন, খুব সহজ।
নিম্নলিখিত উদাহরণ বিবেচনা করুন।
ধরা যাক যে আমাদের কাছে ক্লায়েন্ট থেকে ইনপুট ডেটা হিসাবে একটি ফাইল রয়েছে (আসুন এটিকে কল করা যাক, আসুন বলি, উৎস) একটি "স্মার্ট" ডায়নামিক টেবিলের আকারে তিনি কিনতে চান এমন পণ্যগুলির একটি তালিকা সহ আবেদন:
অন্য ফাইলে (আসুন এটিকে উপমা দিয়ে কল করি গ্রাহক) আমরা উৎস থেকে পণ্য সহ একটি টেবিল আমদানি করার জন্য একটি সহজ প্রশ্ন তৈরি করি ডেটা - ডেটা পান - ফাইল থেকে - এক্সেল ওয়ার্কবুক থেকে (ডেটা — ডেটা পান — ফাইল থেকে — এক্সেল ওয়ার্কবুক থেকে) এবং ফলিত টেবিলটি শীটে আপলোড করুন:
যদি ভবিষ্যতে ক্লায়েন্ট তার ফাইলের অর্ডারে পরিবর্তন করার সিদ্ধান্ত নেয় উৎস, তারপর আমাদের অনুরোধ আপডেট করার পরে (রাইট-ক্লিক করে বা এর মাধ্যমে ডেটা - সমস্ত রিফ্রেশ করুন) আমরা ফাইলটিতে নতুন ডেটা দেখতে পাব গ্রাহক - সব মান.
এখন নিশ্চিত করা যাক যে আপডেট করার সময়, পুরানো ডেটা নতুন দ্বারা প্রতিস্থাপিত হয় না, তবে নতুনগুলি পুরানোগুলির সাথে যুক্ত করা হয় - এবং একটি তারিখ-সময় যোগ করার সাথে, যাতে দেখা যায় যে এই নির্দিষ্ট পরিবর্তনগুলি কখন হয়েছিল তৈরি
ধাপ 1. মূল ক্যোয়ারীতে একটি তারিখ-সময় যোগ করা
এর একটি অনুরোধ খুলুন আবেদনথেকে আমাদের ডেটা আমদানি করা হচ্ছে উৎস, এবং এটিতে আপডেটের তারিখ-সময় সহ একটি কলাম যোগ করুন। এটি করার জন্য, আপনি বোতামটি ব্যবহার করতে পারেন কাস্টম কলাম ট্যাব একটি কলাম যোগ করা হচ্ছে (কলাম যোগ করুন — কাস্টম কলাম), এবং তারপর ফাংশন লিখুন তারিখের সময়।স্থানীয় এখন - ফাংশনের অ্যানালগ TDATA (এখন) মাইক্রোসফট এক্সেল এ:
ক্লিক করার পরে OK আপনি এই মত একটি সুন্দর কলাম দিয়ে শেষ করা উচিত (কলাম হেডারে আইকন দিয়ে এটির জন্য তারিখ-সময় বিন্যাস সেট করতে ভুলবেন না):
আপনি যদি চান, তাহলে এই কলামের জন্য শীটে আপলোড করা প্লেটের জন্য, আপনি বেশি নির্ভুলতার জন্য সেকেন্ডের সাথে তারিখ-সময় বিন্যাস সেট করতে পারেন (আপনাকে একটি কোলন এবং "ss" স্ট্যান্ডার্ড ফর্ম্যাটে যোগ করতে হবে):
ধাপ 2: পুরানো ডেটার জন্য ক্যোয়ারী
এখন আরেকটি ক্যোয়ারী তৈরি করা যাক যা একটি বাফার হিসাবে কাজ করবে যা আপডেট করার আগে পুরানো ডেটা সংরক্ষণ করে। ফাইলের ফলাফল টেবিলের যে কোনো ঘর নির্বাচন করা গ্রাহক, ট্যাবে নির্বাচন করুন উপাত্ত আদেশ টেবিল/রেঞ্জ থেকে (ডেটা — টেবিল/রেঞ্জ থেকে) or পাতা দিয়ে (শীট থেকে):
পাওয়ার কোয়েরিতে লোড করা টেবিলের সাথে আমরা কিছুই করি না, আমরা ক্যোয়ারী কল করি, উদাহরণস্বরূপ, পুরানো তথ্য এবং টিপুন হোম — বন্ধ করুন এবং লোড করুন — বন্ধ করুন এবং লোড করুন... — শুধুমাত্র সংযোগ তৈরি করুন (হোম - বন্ধ করুন এবং লোড করুন - বন্ধ করুন এবং লোড করুন ... - শুধুমাত্র সংযোগ তৈরি করুন).
ধাপ 3. পুরানো এবং নতুন ডেটা যোগ করা
এখন আমাদের মূল প্রশ্নে ফিরে আসি আবেদন এবং কমান্ডের সাথে পূর্ববর্তী বাফার অনুরোধ থেকে পুরানো ডেটার নীচে থেকে যোগ করুন হোম - অনুরোধ যোগ করুন (হোম - প্রশ্ন যুক্ত করুন):
এখানেই শেষ!
এটির মাধ্যমে এক্সেলে ফিরে আসা বাকি আছে হোম - বন্ধ করুন এবং ডাউনলোড করুন (বাড়ি — বন্ধ করুন এবং লোড করুন) এবং বোতাম দিয়ে আমাদের সম্পূর্ণ কাঠামো আপডেট করার জন্য কয়েকবার চেষ্টা করুন সব আপডেট করুন ট্যাব উপাত্ত (ডেটা — রিফ্রেশ সব). প্রতিটি আপডেটের সাথে, নতুন ডেটা পুরানো ডেটা প্রতিস্থাপন করবে না, তবে সম্পূর্ণ আপডেট ইতিহাস রেখে এটিকে নীচে ঠেলে দেবে:
আপনার যদি প্রয়োজন হয় তবে ইতিহাসের জন্য পুরানো মানগুলি রাখার জন্য কোনও বাহ্যিক উত্স (ইন্টারনেট সাইট, ডেটাবেস, বাহ্যিক ফাইল ইত্যাদি) থেকে আমদানি করার সময় অনুরূপ কৌশল ব্যবহার করা যেতে পারে।
- একাধিক ডেটা ব্যাপ্তি জুড়ে পিভট টেবিল
- পাওয়ার কোয়েরি ব্যবহার করে বিভিন্ন ফাইল থেকে টেবিল একত্রিত করা
- বইয়ের সমস্ত শীট থেকে একটি টেবিলে ডেটা সংগ্রহ করা