सामग्री
जवळजवळ प्रत्येक पॉवर क्वेरी प्रशिक्षणात, जेव्हा आम्ही तयार केलेल्या क्वेरी कशा अपडेट करायच्या आणि नवीन डेटा जुन्या डेटाला अपडेट करताना कसा बदलतो हे पाहतो तेव्हा ऐकणाऱ्यांपैकी एकाने मला विचारले: “अपडेट करताना, जुना डेटा आहे याची खात्री करणे शक्य आहे का? तसेच कुठेतरी सेव्ह केले होते आणि संपूर्ण अपडेट इतिहास दिसत होता?
ही कल्पना नवीन नाही आणि त्याचे मानक उत्तर "नाही" असेल - जुना डेटा नवीन डेटासह बदलण्यासाठी पॉवर क्वेरी डीफॉल्टनुसार कॉन्फिगर केली जाते (जे बहुसंख्य प्रकरणांमध्ये आवश्यक असते). तथापि, आपण खरोखर इच्छित असल्यास, आपण या मर्यादा पार करू शकता. आणि पद्धत, जसे आपण नंतर पहाल, अगदी सोपी आहे.
खालील उदाहरणाचा विचार करा.
आपण असे गृहीत धरू की आमच्याकडे क्लायंटकडून इनपुट डेटा म्हणून फाइल आहे (त्याला कॉल करूया, म्हणूया, स्रोत) नावाच्या “स्मार्ट” डायनॅमिक टेबलच्या रूपात त्याला खरेदी करायच्या असलेल्या उत्पादनांच्या सूचीसह अर्ज:
दुसर्या फाईलमध्ये (सामान्यतेने कॉल करूया स्वीकारणारा) स्रोत द्वारे उत्पादनांसह टेबल आयात करण्यासाठी आम्ही एक साधी क्वेरी तयार करतो डेटा - डेटा मिळवा - फाइलमधून - एक्सेल वर्कबुकमधून (डेटा — डेटा मिळवा — फाइलमधून — एक्सेल वर्कबुकमधून) आणि परिणामी सारणी शीटवर अपलोड करा:
जर भविष्यात क्लायंटने त्याच्या फाइलमधील ऑर्डरमध्ये बदल करण्याचा निर्णय घेतला स्रोत, नंतर आमची विनंती अद्यतनित केल्यानंतर (राइट-क्लिक करून किंवा द्वारे डेटा - सर्व रिफ्रेश करा) आपण फाइलमध्ये नवीन डेटा पाहू स्वीकारणारा - सर्व मानक.
आता आपण हे सुनिश्चित करूया की अपडेट करताना, जुना डेटा नवीन द्वारे बदलला जात नाही, परंतु नवीन डेटा जुन्या डेटामध्ये जोडला जातो - आणि तारीख-वेळ जोडून, जेणेकरून हे विशिष्ट बदल केव्हा झाले हे पाहिले जाऊ शकते. केले
पायरी 1. मूळ क्वेरीमध्ये तारीख-वेळ जोडणे
चला एक विनंती उघडूया अर्जवरून आमचा डेटा आयात करत आहे स्रोत, आणि त्यात अद्यतनाची तारीख-वेळ असलेला स्तंभ जोडा. हे करण्यासाठी, आपण बटण वापरू शकता सानुकूल स्तंभ टॅब एक स्तंभ जोडत आहे (स्तंभ जोडा — सानुकूल स्तंभ), आणि नंतर फंक्शन प्रविष्ट करा DateTime.LocalNow - फंक्शनचे अॅनालॉग TDATA (आता) मायक्रोसॉफ्ट एक्सेल मध्ये:
वर क्लिक केल्यानंतर OK तुम्हाला यासारखे सुंदर स्तंभ असले पाहिजे (त्यासाठी कॉलम हेडरमध्ये आयकॉनसह तारीख-वेळ फॉर्मेट सेट करायला विसरू नका):
आपण इच्छित असल्यास, या स्तंभासाठी शीटवर अपलोड केलेल्या प्लेटसाठी, आपण अधिक अचूकतेसाठी सेकंदांसह तारीख-वेळ स्वरूप सेट करू शकता (आपल्याला मानक स्वरूपामध्ये कोलन आणि "ss" जोडावे लागेल):
पायरी 2: जुन्या डेटासाठी क्वेरी
आता दुसरी क्वेरी तयार करूया जी बफर म्हणून काम करेल जी अपडेट करण्यापूर्वी जुना डेटा वाचवते. फाइलमधील परिणामी सारणीचा कोणताही सेल निवडणे स्वीकारणारा, टॅबवर निवडा डेटा आदेश टेबल/श्रेणीतून (डेटा — सारणी/श्रेणीवरून) or पाने सह (पत्रकावरून):
पॉवर क्वेरीमध्ये लोड केलेल्या टेबलसह आम्ही काहीही करत नाही, आम्ही क्वेरी कॉल करतो, उदाहरणार्थ, जुना डेटा आणि दाबा मुख्यपृष्ठ — बंद करा आणि लोड करा — बंद करा आणि त्यावर लोड करा... — फक्त कनेक्शन तयार करा (होम — बंद करा आणि लोड करा — बंद करा आणि त्यावर लोड करा... — फक्त कनेक्शन तयार करा).
पायरी 3. जुन्या आणि नवीन डेटामध्ये सामील होणे
आता आमच्या मूळ प्रश्नाकडे परत अर्ज आणि कमांडसह मागील बफर विनंतीवरून जुन्या डेटाच्या खाली जोडा मुख्यपृष्ठ - विनंत्या जोडा (मुख्यपृष्ठ - क्वेरी संलग्न करा):
हे सर्व आहे!
द्वारे Excel वर परत येणे बाकी आहे मुख्यपृष्ठ - बंद करा आणि डाउनलोड करा (घर - बंद करा आणि लोड करा) आणि बटणासह आमची संपूर्ण रचना अद्यतनित करण्यासाठी दोन वेळा प्रयत्न करा सर्व अद्यतनित करा टॅब डेटा (डेटा — सर्व रिफ्रेश करा). प्रत्येक अद्यतनासह, नवीन डेटा जुन्या डेटाची जागा घेणार नाही, परंतु संपूर्ण अद्यतन इतिहास ठेवून तो खाली ढकलेल:
आपल्याला आवश्यक असल्यास इतिहासासाठी जुनी मूल्ये ठेवण्यासाठी कोणत्याही बाह्य स्त्रोतांकडून (इंटरनेट साइट्स, डेटाबेस, बाह्य फाइल्स इ.) आयात करताना समान युक्ती वापरली जाऊ शकते.
- अनेक डेटा श्रेणींमध्ये मुख्य सारणी
- पॉवर क्वेरी वापरून वेगवेगळ्या फायलींमधून टेबल्स एकत्र करणे
- पुस्तकाच्या सर्व शीट्समधील डेटा एका टेबलमध्ये गोळा करणे