একটি স্প্রেডশীট আমদানি করা
যেকোনো লিস্ট স্ক্রিনে এক্সেল, সিএসভি এবং পিডিএফ যুক্ত করার উপায় — যে টেমপ্লেটটি নিজেকে ম্যাপ করে, কীভাবে কলামগুলো মেলানো হয়, কী কী চেক করা হয়, একই ফাইল ফেরত এলে কী ঘটে, এবং কেন এটি এপিআই-এর মাধ্যমে পোস্ট করা হয়।
প্ল্যাটফর্মের প্রতিটি লিস্ট স্ক্রিন ইম্পোর্ট গ্রহণ করে। এটি কয়েকটি টেবিলের জন্য কোনো আলাদা মাইগ্রেশন টুল নয়; বরং আপনি যে স্ক্রিনটি দেখছেন, এটি সেই স্ক্রিনেরই একটি ড্রয়ারের মতো, এবং এটি সেই স্ক্রিনের রেকর্ডগুলোতে লোড হয়ে যায়।
- যে স্ক্রিনে রেকর্ডগুলো রয়েছে সেটি খুলুন এবং ইম্পোর্ট (Import) নির্বাচন করুন।
- একটি .xlsx, .xls, .csv বা .pdf ফাইল প্রবেশ করান। পুরোনো .xls ফাইলগুলো সরাসরি পড়া হয় — সেগুলোকে অন্য কোনো নামে পুনরায় সংরক্ষণ করার প্রয়োজন নেই।
- কলাম ম্যাপিং পরীক্ষা করুন। কলামগুলোকে প্রথমে নাম অনুসারে ফিল্ডের সাথে মেলানো হয়, এবং যা মেলে না তা একটি ড্রপডাউন হিসেবে দেখানো হয়, যাতে আপনি নিজে থেকে সঠিক ফিল্ডটি বেছে নিতে পারেন।
- প্রিভিউটি পড়ুন। এটি সারি অনুযায়ী দেখাবে কী তৈরি হবে, যেখানে বাদ দেওয়া সারিগুলো প্রথমে তালিকাভুক্ত থাকবে এবং প্রতিটির পাশে তার কারণ উল্লেখ থাকবে। যদি সারিগুলো এখানে আগে থেকেই থাকা রেকর্ডের সাথে মিলে যায়, তবে সেগুলোর ক্ষেত্রে কী হবে তা বেছে নিন।
- ইম্পোর্ট। স্ক্রিনগুলো যে এপিআই ব্যবহার করে, সেই একই এপিআই-এর মাধ্যমে সারিগুলো পোস্ট করা হয়, এবং শেষ ধাপে বলা হয় কতগুলো তৈরি, আপডেট বা মার্জ করা হয়েছে, কতগুলো অপরিবর্তিত রাখা হয়েছে, এবং কেন কোনোটি ইম্পোর্ট করা হয়নি।
- প্রতিটি সারি ইম্পোর্ট শুরু করার সময় টপ বারে নির্বাচিত কোম্পানিতে (এবং এর পাশে বেছে নেওয়া ইউনিটে) জমা হয়, কখনোই আপনার হোম কোম্পানিতে নয়। যদি আপনি সেই কোম্পানিতে কাজ করতে না পারেন, তবে সারিগুলো অন্য কোথাও তৈরি না হয়ে প্রত্যাখ্যাত হয়।
একটি টেমপ্লেট যা নিজেকেই ম্যাপ করে
একদম নতুন করে শুরু করছেন? ইম্পোর্ট ড্রয়ার অথবা তালিকার নিজস্ব টুলবার থেকে একটি টেমপ্লেট ডাউনলোড করুন। এটি একটি CSV ফাইল, যাতে একটি মাত্র সারি রয়েছে: এই স্ক্রিনের কলাম শিরোনামগুলো, মুছে ফেলার মতো কিছুই নেই। এটি পূরণ করে ফিরিয়ে আনুন, এবং প্রতিটি কলাম নিজে থেকেই ম্যাপ হয়ে যাবে; ইম্পোর্ট প্রক্রিয়া সরাসরি প্রিভিউতে চলে যাবে। বাটনের নিচে ড্রয়ারটি তালিকাভুক্ত করে যে প্রতিটি সারিতে কী কী প্রয়োজন।
- “প্রতিটি সারির প্রয়োজন” বলতে স্ক্রিনের ফর্মে আবশ্যক হিসেবে চিহ্নিত ফিল্ডগুলোকে বোঝায়, এবং প্ল্যাটফর্ম নিজে থেকে যা পূরণ করে, যেমন আপনার কর্মস্থল থেকে নেওয়া বিজনেস ইউনিট, সেগুলোকে বোঝায় না।
- আপনার কোম্পানি যে অতিরিক্ত ফিল্ডগুলোর নাম দিয়েছে, সেগুলোও টেমপ্লেটে অন্তর্ভুক্ত হয়। নামবিহীন ফিল্ডগুলো ফাইলে থাকে না, কিন্তু কলাম ম্যাপ করার সময় ‘অতিরিক্ত ফিল্ড’ (Additional fields) এর অধীনে সেগুলো বেছে নেওয়া যায়।
- এমন একটি স্ক্রিন, যার রেকর্ড শুধুমাত্র কোনো একটি প্রসেস (যেমন পোস্টিং, স্ক্যান) তৈরি করতে পারে, সেটি প্রতিটি ফাইলের প্রতিটি সারি প্রত্যাখ্যান না করে বরং একেবারেই ইম্পোর্ট করার সুযোগ দেয় না।
সিস্টেম যে সংখ্যাগুলো দেয়
অনেক স্ক্রিন একটি নম্বর পরিসর থেকে তাদের নিজস্ব রেকর্ডগুলোকে নম্বর দেয়: একজন প্রার্থী তার প্রার্থী নম্বর পায়, একটি চাহিদাপত্র তার চাহিদাপত্র নম্বর পায়। এই ধরনের স্ক্রিনে, ফাইলের যে কলামে এই নম্বরগুলো থাকে, সেটি ইম্পোর্ট না করে আলাদা করে রাখা হয়, এবং ম্যাপিংয়ে এর কারণ বলা থাকে: স্ক্রিনটি সেই পরিসর থেকে প্রতিটি রেকর্ডকে তার নিজস্ব নম্বর দেয়। এটিকে কখনোই নিকটতম ফিল্ডে রাখা হয় না যেখানে এটি রাখা যাবে। নম্বরগুলো আপনার ফাইলে রাখার জন্য, একজন প্রশাসক সেই নম্বর পরিসরটিকে এমনভাবে সেট করতে পারেন যাতে একটি নম্বর দেওয়া যায়।
একটি রেফারেন্স কী খোঁজা হয়
যে ফিল্ডটি অন্য কোনো রেকর্ডকে নির্দেশ করে, সেটি ম্যাপিং-এ বলে দেয় যে সেটিকে কিসের মাধ্যমে খোঁজা হচ্ছে — যেমন, "Employee id → employees" — ফলে আপনি দেখতে পারেন যে ক্যান্ডিডেট নম্বরের একটি কলাম সেখানে থাকার কথা নয়। যে রেফারেন্সের নিজস্ব কোনো কোড নেই, সেটি তার মালিকের মাধ্যমে খুঁজে পাওয়া যায় (যেমন, একটি বিল অফ মেটেরিয়ালকে তার আইটেমের মাধ্যমে), এবং নাম দিয়ে রাখা কোনো রেফারেন্সকে নাম দিয়েই খোঁজা হয়।
একই ফাইলটি আবার ইম্পোর্ট করা হচ্ছে
আগে কোনো ফাইল দ্বিতীয়বার আপলোড করলে প্রতিটি রেকর্ডও দ্বিতীয়বার তৈরি হতো। এখন প্রতিটি সারিকে এখানে আগে থেকেই থাকা কোনো রেকর্ডের সাথে মেলানো হয়, এবং একটি মিলের ক্ষেত্রে কী ঘটবে তা আপনিই ঠিক করেন।
- যদি এই ফাইলটি আগে এই স্ক্রিনে ইম্পোর্ট করা হয়ে থাকে, তাহলে এটি পড়ার সাথে সাথেই ড্রয়ারটি তা জানিয়ে দেয়: কখন, এটি কতগুলো রেকর্ড তৈরি করেছে এবং কে এটি ইম্পোর্ট করেছে।
- ফাইলে রেকর্ডের নিজস্ব নম্বর থাকলে সারিগুলো সেই নম্বরের ভিত্তিতে মেলানো হয়; অন্যথায় স্ক্রিনে স্বতন্ত্র রাখা কলামগুলোর ভিত্তিতে; নাহলে একটি ইমেল, একটি কোড বা নামের ভিত্তিতে; এবং যার কোনো নম্বর নেই, তার ক্ষেত্রে প্রথম ও শেষ নামের ভিত্তিতে মেলানো হয়। প্রিভিউতে ‘ম্যাচ অন’ বিকল্পটি দেখায় কোনটির ভিত্তিতে মেলানো হচ্ছে এবং আপনাকে অন্য একটি কলাম বেছে নেওয়ার সুযোগ দেয় — অথবা কিছুই না বেছে নিতে পারেন, যা প্রতিটি সারিকে নতুন করে তৈরি করে।
| পছন্দ | যে সারিটি মিলে যায় তার কী হয় |
|---|---|
| শুধুমাত্র নতুন যোগ করুন (ডিফল্ট) | এটিকে অপরিবর্তিত রাখা হয়। শুধুমাত্র সেই সারিগুলোই তৈরি করা হয় যেগুলো কোনো কিছুর সাথে মেলে না, তাই একই ফাইল দুইবার তৈরি করলে দুইবারই কিছুই তৈরি হয় না। |
| ম্যাচ আপডেট করুন | এই ফাইলটি যে ফিল্ডগুলো ম্যাপ করে, সেগুলো রেকর্ডের ফিল্ডগুলোকে ওভাররাইট করে। যে ফিল্ডগুলো ফাইলটি ম্যাপ করে না, সেগুলো অপরিবর্তিত থাকে। |
| একীভূত করুন | রেকর্ডে শুধুমাত্র খালি থাকা ফিল্ডগুলোই পূরণ করা হয়। আগে থেকে থাকা কোনো কিছুই পরিবর্তন করা হয় না। |
| প্রতিটি সারিকে একটি নতুন রেকর্ড হিসাবে যুক্ত করুন | প্রতিটি সারি তৈরি করা হয়, তা মিলুক বা না মিলুক — যেমনটা ইম্পোর্ট করার সময় আগেও করা হতো। |
কোনো কিছু ঘটার আগেই প্রিভিউটি সেগুলোকে গণনা করে: কত নতুন, আপডেট করা, একত্রিত করা, এবং ইতিমধ্যেই এখানে থাকা, একা পড়ে থাকা উপাদান। প্রতিটি সারিতে চিহ্নিত করা থাকে যে এটি ভবিষ্যতে কী হবে।
আপডেট বা মার্জ হলো স্ক্রিনের নিজস্ব সেভের মাধ্যমে আপনার দ্বারা রেকর্ডে করা একটি পরিবর্তন। পোস্ট করা, বন্ধ বা লক করা কোনো রেকর্ড, অথবা এমন কোনো রেকর্ড যা আপনার ভূমিকা পরিবর্তন করতে পারে না, তা শেষ ধাপে কারণসহ প্রত্যাখ্যান করা হয় এবং রিপোর্ট করা হয়। এটি কখনোই নিয়মের আড়ালে পরিবর্তন করা হয় না।
লাইনযুক্ত ডকুমেন্টের ফাইল—অর্থাৎ সারিগুলোকে ডকুমেন্টে ভাগ করে তৈরি ফাইল—সর্বদা নতুন হিসেবে তৈরি হয়; একক-সারি রেকর্ডের জন্য এই বিকল্পটি দেওয়া থাকে। সংযুক্ত ড্রাইভ থেকে নির্ধারিত সময়ে ইম্পোর্ট করা হলে, তা নির্ধারণ করার সময় নেওয়া বিকল্পটিই বহাল থাকে।
প্রিভিউ কী পরীক্ষা করে
প্রতিটি মানকে সেভাবেই বিচার করা হয় যেভাবে স্ক্রিন সেটিকে বিচার করবে: একটি সংখ্যাকে অবশ্যই সংখ্যা হতে হবে, একটি হ্যাঁ/না ফিল্ডকে অবশ্যই হ্যাঁ বা না বলতে হবে, একটি নির্দিষ্ট তালিকাযুক্ত ফিল্ডকে তার মানগুলোর মধ্যে একটি ধারণ করতে হবে, একটি রেফারেন্সকে অবশ্যই বিদ্যমান একটি রেকর্ডের নাম দিতে হবে, এবং কোম্পানির কাছে আগে থেকেই থাকা কোনো কোড — অথবা ফাইলটিতে দুবার থাকা কোনো কোড — ফ্ল্যাগ করা হয়। এরপর উত্তীর্ণ হওয়া প্রতিটি সারিকে সরাসরি স্ক্রিনের সাথে মিলিয়ে দেখা হয় এবং রোলব্যাক করা হয়, ফলে কোম্পানির যোগ করা কোনো নিয়ম বা একসাথে দুটি ফিল্ডের উপর করা কোনো চেকও ধরা পড়ে যায়। কোনো কিছু ফ্ল্যাগ করা ছাড়া একটি প্রিভিউ হলো এমন একটি ইম্পোর্ট যেখানে কোনো কিছুই প্রত্যাখ্যান করা হয়নি।
অনুমান না করে যা সংশোধন করা যায়, তা সংশোধন করা হয় এবং প্রিভিউতে সংশোধিত মানটি দেখানো হয়: যেখানে তালিকাটিতে “Wrap” থাকে, সেখানে তা wrap হয়ে যায় এবং “Corner Board” হয়ে যায় corner_board, “Yes” হয়ে যায় yes, “$1,250.00” এবং “30%” সংখ্যায় পরিণত হয়, এবং কোনো ইউনিট বা আইটেম তার কোড (EA, ITM-0042) দিয়ে লিখলে তা সেই রেকর্ডে পরিণত হয়। UOM, Item, Active, Recyclable বা Recycled Content %-এর মতো শিরোনামগুলো হাতে ম্যাপ না করেই তার ফিল্ডের সাথে মেলানো হয়।
যে মানটি ঠিক করা যায় না, সেটির নাম ফিল্ডটি যা গ্রহণ করে তা দিয়ে দেওয়া হয় — উদাহরণস্বরূপ, “উপাদানের ধরণ "কার্টন" এমন একটি নয় যা কোনো প্যাকেজিং উপাদান (ডানেজ, র্যাপ, স্ট্র্যাপিং, …) গ্রহণ করে”। ফাইলটি সংশোধন করুন, অথবা সারিটি বাদ দিন: ইম্পোর্ট প্রস্তুত সারিগুলো তৈরি করে এবং বাকিগুলো বাদ দেয়, এবং ইম্পোর্টের রান প্রতিটি বাদ দেওয়া সারিকে তার লাইন নম্বর এবং কারণসহ সংরক্ষণ করে। কোনো ইম্পোর্ট কেন ব্যর্থ হয়েছে জানতে চাইলে, Ask সেই রানটি পড়ে এবং সারিগুলোকে উদ্ধৃত করে।
কেন এটি এপিআই এর মাধ্যমে যায়
ইম্পোর্টটি টেবিলগুলোতে লেখে না। এটি সেই একই এন্ডপয়েন্টগুলোকে কল করে যা কনসোল কল করে, যার অর্থ হলো, হাতে টাইপ করা কোনো রেকর্ডকে সুরক্ষিত করে এমন প্রতিটি নিয়মই স্প্রেডশিটে আসা একটি রেকর্ডকেও সুরক্ষিত করে: একটি জার্নাল অবশ্যই ব্যালেন্স হতে হবে, সরবরাহকারীর ডুপ্লিকেট ইনভয়েস প্রত্যাখ্যান করা হয়, লট-নিয়ন্ত্রিত কোনো আইটেম তার লট নম্বর দাবি করে, একটি ক্লোজড পিরিয়ড পোস্টিংটি প্রত্যাখ্যান করে, এবং অডিট লগ তা রেকর্ড করে।
এটি বাল্ক ইনসার্টের চেয়ে ধীরগতির, এবং ইচ্ছাকৃতভাবেই তাই করা হয়েছে। নিয়মকানুন এড়িয়ে কোনো ইম্পোর্ট করার মাধ্যমে প্ল্যাটফর্মে এমন ডেটা প্রবেশ করানো সম্ভব, যার দায় প্ল্যাটফর্মটি নিতে পারে না।
পিডিএফ
একটি পিডিএফ থেকে টেবিলগুলো—যেমন সরবরাহকারীর বিবরণী, ব্যাংকের তালিকা, বা মুদ্রিত প্রতিবেদন—পড়া হয়। কিছু তৈরি করার আগে, যা পাওয়া যায় তা নিশ্চিতকরণের জন্য দেখানো হয়, কারণ পিডিএফ থেকে টেবিল বের করাটা হলো অনুমান এবং সেই অনুমান খতিয়ে দেখা উচিত।
দলবদ্ধ নথি
যেখানে একটি ডকুমেন্টে হেডার এবং লাইন থাকে, সেখানে স্প্রেডশিটে প্রতিটি লাইনের জন্য একটি করে সারি এবং একটি কলাম থাকে যা নির্দেশ করে সারিটি কোন ডকুমেন্টের অন্তর্গত। একই মানযুক্ত সারিগুলো একাধিক ডকুমেন্ট না হয়ে, একাধিক লাইনসহ একটি ডকুমেন্ট হয়ে ওঠে।
Ceipal বা অন্য কোনো আবেদনকারী-ট্র্যাকিং সিস্টেম থেকে প্রাপ্ত লিড
Ceipal-এর মতো একটি আবেদনকারী-ট্র্যাকিং সিস্টেম তার লিডগুলিকে দুটি ফাইল হিসাবে এক্সপোর্ট করে: স্বয়ং লিডগুলি, যেখানে প্রতিটি একটি কোম্পানি (ওয়েবসাইট, ইন্ডাস্ট্রি, রেভিনিউ, SIC এবং NAICS কোড, কর্মী ও অবস্থানের সংখ্যা, অর্থবছর শেষের তারিখ, ঠিকানা, মালিক) এবং সেই কোম্পানিগুলির কন্ট্যাক্টগুলি (প্রথম ও শেষ নাম, ইমেল, মোবাইল, অফিস নম্বর ও এক্সটেনশন, পদবি, ঠিকানা)। উভয় ফাইলই হুবহু ইম্পোর্ট হয়, যেখানে প্রতিটি কলাম মিলে যায়: CRM → Leads-এ "Lead Name" হলো কোম্পানির নাম, এবং CRM → Lead Contacts-এ এটি প্রতিটি ব্যক্তি যে লিডের অন্তর্ভুক্ত, তার নাম উল্লেখ করে।
- প্রথমে CRM-এর Leads বিভাগে লিডস ফাইলটি ইম্পোর্ট করুন।
- এরপর CRM → Lead Contacts-এ কন্টাক্টস ফাইলটি ইম্পোর্ট করুন। প্রতিটি কন্টাক্ট আপনার কোম্পানির একই নামের লিডের সাথে সংযুক্ত থাকে।
- যে কন্ট্যাক্টের লিড এখনও তৈরি হয়নি, তাকে লিডের নাম দিয়ে প্রত্যাখ্যান করা হয় ("এই নামে কোনো লিড নেই..."), তাই ফাইলগুলো উল্টোভাবে ইম্পোর্ট করলে মানুষকে কোনো কিছুর সাথে সংযুক্ত না রেখে আপনাকে বিষয়টি জানিয়ে দেওয়া হয়।
একটি লিড তার কন্ট্যাক্টের প্রথম এবং শেষ নাম আলাদা রাখে, যেমনটা একটি অ্যাপ্লিক্যান্ট-ট্র্যাকিং সিস্টেম করে থাকে, এবং এই দুটি নাম থেকেই পুরো নামটি তৈরি করা হয়। একটি ফাইলে যদি কেবলমাত্র 'কন্ট্যাক্ট নেম' কলাম থাকে, তবে ফাইলটির শেষ স্পেসটি আলাদা করা হয়। একটি লিডের কাউকে নাম দেওয়ার প্রয়োজন নেই: যে কোম্পানির এখনও কোনো কন্ট্যাক্ট নেই, সেটিও একটি লিড। যখন একটি লিডকে অ্যাকাউন্টে রূপান্তরিত করা হয়, তখন তার কন্ট্যাক্ট এবং 'লিড কন্ট্যাক্টস'-এর অধীনে থাকা সবাই সেই অ্যাকাউন্টের কন্ট্যাক্ট হয়ে যায়।
একটি সংযুক্ত ড্রাইভ থেকে, এবং একটি সময়সূচী অনুযায়ী
ফাইলটি আপনার মেশিন থেকে সরানোর প্রয়োজন নেই। যেকোনো লিস্ট স্ক্রিন একটি সংযুক্ত ড্রাইভ থেকে ইম্পোর্ট করতে পারে, এবং একই ইম্পোর্টকে ব্যাকগ্রাউন্ডে বা একটি নির্দিষ্ট সময়সূচী অনুযায়ী চালানোর জন্য সেট করা যেতে পারে — এভাবেই কোনো ব্যাংক বা সরবরাহকারী প্রতিদিন সকালে একটি ফোল্ডারে যে ফাইলটি রাখে, তা কারো না খুলেই রেকর্ডে পরিণত হয়। সংযুক্ত ড্রাইভগুলো দেখুন।
একটি কলামে পুরো নামটি থাকবে
আবেদনকারী, প্রার্থী, যোগাযোগকারী এবং অন্যান্য ব্যক্তিদের একটি প্রথম নাম এবং একটি শেষ নাম সহ রাখা হয়, এবং উভয়েরই প্রয়োজন হয়। একটিমাত্র নামের কলাম সহ একটি ফাইল — আবেদনকারীর নাম, পুরো নাম, শিক্ষার্থীর নাম — এখনও ইম্পোর্ট করা যেতে পারে: কলামটি পুরো নামের সাথে মেলানো হয় (প্রথম এবং শেষ নামে বিভক্ত করে), শেষ শব্দটি শেষ নাম হয়ে যায় এবং এর আগের শব্দগুলো প্রথম নাম হয়ে যায়। "তানভি পাটিল" হয়ে যায় তানভি এবং পাটিল। কিছু সংরক্ষণ করার আগে প্রিভিউ প্রতিটি সারির বিভাজন দেখায়, এবং যে ফাইলে নিজস্ব প্রথম-নাম এবং শেষ-নাম কলাম থাকে, সেটি সেগুলো বজায় রাখে।
যে কলামগুলো আপনার কোম্পানির নিজস্ব ফিল্ড — যেমন NEET স্কোর, পছন্দের কোর্স — সেগুলো Platform → Customization → Custom Fields-এর অধীনে সেই স্ক্রিনে থাকলে, তাদের নাম বা লেবেল দিয়ে মেলানো হয়। প্রথমে ফিল্ডগুলো যোগ করুন, তারপর ইম্পোর্ট করুন।
Since 20 October a delimited text file (.txt, .tsv — comma, tab, semicolon or pipe; UTF-8, ANSI or Unicode) imports like a CSV, a Word document is refused as not a data file, and a file the inspection finds dangerous is refused. See Uploading Word and text documents, and importing delimited text files.