Python के साथ प्रस्तुतियों में चार्ट वर्कशीट फ़ॉर्मूले लागू करें

परिचय

एक चार्ट वर्कशीट प्रस्तुति में चार्ट के पीछे का डेटा स्रोत होता है। यह श्रेणी और श्रृंखला नामों को साथ ही चार्ट द्वारा प्रदर्शित संख्यात्मक मानों को संग्रहीत करती है। Aspose.Slides में यह वर्कशीट चार्ट डेटा वर्कबुक के माध्यम से उपलब्ध होती है, जो आपको प्रोग्रामेटिक रूप से चार्ट डेटा के साथ काम करने की अनुमति देती है।

यह लेख समझाता है कि कैसे वर्कशीट फ़ॉर्मूले का उपयोग करके सेल मानों की स्वचालित गणना और अद्यतन किया जा सकता है, बजाय मैन्युअल रूप से मान दर्ज करने के। यह फ़ॉर्मूला असाइन करना, A1‑स्टाइल और R1C1‑स्टाइल रेफ़रेंसेज़ का उपयोग, वर्कबुक फ़ॉर्मूले को पुनः गणना करना, और प्रस्तुतियों में चार्ट वर्कशीट के लिए उपलब्ध स्थिरांक, ऑपरेटर, सेल रेफ़रेंसेज़ और पूर्वनिर्धारित फ़ंक्शन के साथ काम करना दिखाता है।

प्रेज़ेंटेशन में चार्ट स्प्रेडशीट फ़ॉर्मूला के बारे में

चार्ट स्प्रेडशीट (या चार्ट वर्कशीट) प्रस्तुति में चार्ट का डेटा स्रोत होती है। चार्ट स्प्रेडशीट में डेटा होते हैं, जो ग्राफ़िक रूप में चार्ट पर दिखाए जाते हैं। जब आप PowerPoint में चार्ट बनाते हैं, तो इस चार्ट से जुड़ी वर्कशीट स्वचालित रूप से बन जाती है। चार्ट वर्कशीट सभी प्रकार के चार्ट्स के लिए बनाई जाती है: लाइन चार्ट, बार चार्ट, सनबर्स्ट चार्ट, पाई चार्ट आदि। PowerPoint में चार्ट स्प्रेडशीट को देखने के लिए आपको चार्ट पर दो बार क्लिक करना चाहिए:

todo:image_alt_text

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

आमतौर पर, चार्ट जटिल डेटा (जैसे वित्तीय विश्लेषण, वैज्ञानिक विश्लेषण) को दर्शाता है, जहाँ सेल्स की मान अन्य सेल्स या गतिशील डेटा से गणना किए जाते हैं। सेल के मान को मैन्युअल रूप से गणना करके हार्ड‑कोड करने से भविष्य में इसे बदलना कठिन हो जाता है। यदि आप किसी सेल का मान बदलते हैं, तो उस पर निर्भर सभी सेल्स को भी अद्यतन करना पड़ेगा। इसके अलावा, तालिका डेटा अन्य तालिकाओं के डेटा पर निर्भर हो सकता है, जिससे प्रस्तुति डेटा स्कीमा जटिल हो जाता है और उसे आसान एवं लचीले तरीके से अपडेट करने की आवश्यकता होती है।

प्रेज़ेंटेशन में चार्ट स्प्रेडशीट फ़ॉर्मूला एक अभिव्यक्ति है जो चार्ट स्प्रेडशीट डेटा को स्वचालित रूप से गणना और अपडेट करती है। स्प्रेडशीट फ़ॉर्मूला किसी विशेष सेल या सेल समूह के लिए डेटा गणना तर्क को परिभाषित करता है। यह गणितीय या तार्किक फ़ॉर्मूला हो सकता है, जिसमें उपयोग होते हैं: सेल रेफ़रेंसेज़, गणितीय फ़ंक्शन, तार्किक ऑपरेटर, अंकगणितीय ऑपरेटर, रूपांतरण फ़ंक्शन, स्ट्रिंग स्थिरांक आदि। फ़ॉर्मूला की परिभाषा एक सेल में लिखी जाती है, और यह सेल केवल एक सरल मान नहीं रखता। स्प्रेडशीट फ़ॉर्मूला मान की गणना करता है और उसे वापस देता है, फिर यह मान सेल को असाइन किया जाता है। प्रेज़ेंटेशन में चार्ट स्प्रेडशीट फ़ॉर्मूले व्यावहारिक रूप से Excel फ़ॉर्मूले के समान होते हैं, और उनके कार्यान्वयन के लिए वही डिफ़ॉल्ट फ़ंक्शन, ऑपरेटर और स्थिरांक समर्थित होते हैं।

Aspose.Slides में चार्ट स्प्रेडशीट को Chart.ChartData.ChartDataWorkbook प्रॉपर्टी के द्वारा IChartDataWorkbook प्रकार में दर्शाया जाता है। स्प्रेडशीट फ़ॉर्मूला को formula प्रॉपर्टी के साथ असाइन और बदल सकते हैं। Aspose.Slides में फ़ॉर्मूले के लिए निम्न कार्यक्षमताएँ समर्थित हैं:

  • तार्किक स्थिरांक
  • संख्यात्मक स्थिरांक
  • स्ट्रिंग स्थिरांक
  • त्रुटि स्थिरांक
  • अंकगणितीय ऑपरेटर
  • तुलना ऑपरेटर
  • A1‑स्टाइल सेल रेफ़रेंसेज़
  • R1C1‑स्टाइल सेल रेफ़रेंसेज़
  • पूर्वनिर्धारित फ़ंक्शन

आमतौर पर, स्प्रेडशीट अंतिम गणना किए गए फ़ॉर्मूले मानों को संग्रहीत करती है। यदि प्रस्तुति लोड करने के बाद चार्ट डेटा नहीं बदला गया है तो IChartDataCell.Value प्रॉपर्टी पढ़ने पर ये मान लौटाती है। लेकिन यदि स्प्रेडशीट डेटा बदला गया, तो ChartDataCell.Value प्रॉपर्टी पढ़ते समय असमर्थित फ़ॉर्मूले के कारण CellUnsupportedDataException फेंका जाता है। इसका कारण यह है कि फ़ॉर्मूले सफलतापूर्वक पार्स होने पर सेल निर्भरताएँ निर्धारित की जाती हैं और अंतिम मानों की शुद्धता तय होती है। यदि फ़ॉर्मूला पार्स नहीं हो पाता, तो सेल मान की शुद्धता की गारंटी नहीं दी जा सकती।

प्रेज़ेंटेशन में चार्ट स्प्रेडशीट फ़ॉर्मूला जोड़ें

सबसे पहले, नया प्रेज़ेंटेशन की पहली स्लाइड पर कुछ नमूना डेटा के साथ एक चार्ट जोड़ें add_chart का उपयोग करके। चार्ट की वर्कशीट स्वचालित रूप से बनती है और इसे chart_data_workbook प्रॉपर्टी के द्वारा एक्सेस किया जा सकता है:

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation() as presentation:
    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 150, 150, 500, 300)
    workbook = chart.chart_data.chart_data_workbook
    # ...

चलो कुछ मानों को सेल्स में लिखते हैं value प्रॉपर्टी के Object प्रकार के साथ, जिसका अर्थ है आप किसी भी प्रकार का मान सेट कर सकते हैं:

    workbook.get_cell(0, "F2").value = -2.5
    workbook.get_cell(0, "G3").value = 6.3
    workbook.get_cell(0, "H4").value = 3

अब सेल में फ़ॉर्मूला लिखने के लिए आप formula प्रॉपर्टी का उपयोग कर सकते हैं:

    workbook.get_cell(0, "B2").formula = "F2+G3+H4+1"

टिप्पणी: IChartDataCell.Formula प्रॉपर्टी A1‑स्टाइल सेल रेफ़रेंसेज़ को सेट करने के लिए उपयोग की जाती है।

R1C1‑स्टाइल सेल रेफ़रेंस सेट करने के लिए आप r1c1_formula प्रॉपर्टी का उपयोग कर सकते हैं:

    workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]"

फ़ॉर्मूले को पुनः गणना करने और संबंधित सेल मानों को अद्यतन करने के लिए calculate_formulas मेथड का उपयोग करें:

    workbook.calculate_formulas()
    print(workbook.get_cell(0, "B2").value) # 7.8
    print(workbook.get_cell(0, "C2").value) # 2.1

तार्किक स्थिरांक

आप सेल फ़ॉर्मूले में FALSE और TRUE जैसी तार्किक स्थिराँकों का उपयोग कर सकते हैं:

संख्यात्मक स्थिरांक

संख्याओं को सामान्य या वैज्ञानिक नोटेशन में उपयोग करके चार्ट स्प्रेडशीट फ़ॉर्मूला बना सकते हैं:

स्ट्रिंग स्थिरांक

स्ट्रिंग (या लिटरल) स्थिरांक वह विशिष्ट मान है जिसे जैसे का तैसा उपयोग किया जाता है और यह नहीं बदलता। स्ट्रिंग स्थिरांक में तिथियां, टेक्स्ट, संख्याएँ आदि हो सकती हैं:

त्रुटि स्थिरांक

कभी‑कभी फलित को फ़ॉर्मूला द्वारा गणना नहीं किया जा सकता। इस स्थिति में, सेल में उसके मान के स्थान पर त्रुटि कोड दिखाया जाता है। प्रत्येक त्रुटि प्रकार का एक विशिष्ट कोड होता है:

  • #DIV/0! - फ़ॉर्मूला शून्य से विभाजित करने की कोशिश करता है।
  • #GETTING_DATA - सेल पर दिख सकता है जबकि उसका मान अभी गणना हो रहा है।
  • #N/A - जानकारी अनुपलब्ध या उपलब्ध नहीं है। कारण हो सकते हैं: फ़ॉर्मूले में उपयोग किए गए सेल खाली हों, अतिरिक्त स्पेस हो, वर्तनी त्रुटि आदि।
  • #NAME? - निर्दिष्ट सेल या अन्य फ़ॉर्मूला ऑब्जेक्ट नाम से नहीं मिला।
  • #NULL! - फ़ॉर्मूला में त्रुटि के कारण हो सकता है, जैसे (,) या कोलन (:) के स्थान पर स्पेस।
  • #NUM! - फ़ॉर्मूले में संख्यात्मक मान अवैध, बहुत बड़ा या बहुत छोटा हो सकता है।
  • #REF! - अवैध सेल रेफ़रेंस।
  • #VALUE! - अप्रत्याशित मान प्रकार। उदाहरण के लिए, स्ट्रिंग मान को संख्यात्मक सेल में सेट करना।

अंकगणितीय ऑपरेटर

आप चार्ट वर्कशीट फ़ॉर्मूलों में सभी अंकगणितीय ऑपरेटरों का उपयोग कर सकते हैं:

ऑपरेटर अर्थ उदाहरण
+ (प्लस चिह्न) योग या यूनरी प्लस 2 + 3
- (माइनस चिह्न) घटाव या नकारात्मक 2 - 3
-3
* (एस्टेरिस्क) गुणन 2 * 3
/ (फॉर्वर्ड स्लैश) भाग 2 / 3
% (प्रति चिह्न) प्रतिशत 30%
^ (केरट) घात 2 ^ 3

टिप्पणी: मूल्यांकन का क्रम बदलने के लिए, जिस भाग की पहले गणना करनी है उसे कोष्ठकों में रखें।

तुलनात्मक ऑपरेटर

आप तुलना ऑपरेटरों के माध्यम से सेल मानों की तुलना कर सकते हैं। इन ऑपरेटरों से तुलना करने पर परिणाम TRUE या FALSE तार्किक मान होता है:

ऑपरेटर अर्थ अर्थ
= (बराबर चिह्न) बराबर है A2 = 3
<> (भिन्न चिह्न) भिन्न है A2 <> 3
> (बड़ा चिह्न) बड़ा है A2 > 3
>= (बड़ा या बराबर चिह्न) बड़ा या बराबर है A2 >= 3
< (छोटा चिह्न) छोटा है A2 < 3
<= (छोटा या बराबर चिह्न) छोटा या बराबर है A2 <= 3

A1‑स्टाइल सेल रेफ़रेंसेज़

A1‑स्टाइल सेल रेफ़रेंसेज़ उन वर्कशीट्स के लिए उपयोग किए जाते हैं जहाँ स्तंभ में अक्षर पहचानकर्ता (जैसे “A") और पंक्ति में संख्यात्मक पहचानकर्ता (जैसे “1") होता है। A1‑स्टाइल सेल रेफ़रेंसेज़ को निम्न रूप में उपयोग किया जा सकता है:

सेल रेफ़रेंस उदाहरण
परम सापेक्ष मिश्रित
सेल $A$2 A2

A$2

$A2

पंक्ति $2:$2 2:2 -
स्तंभ $A:$A A:A -
रेंज $A$2:$C$4 A2:C4

$A$2:C4

A$2:$C4

यहाँ एक उदाहरण है जिससे आप फ़ॉर्मूले में A1‑स्टाइल सेल रेफ़रेंस का उपयोग कर सकते हैं:

R1C1‑स्टाइल सेल रेफ़रेंसेज़

R1C1‑स्टाइल सेल रेफ़रेंसेज़ उन वर्कशीट्स के लिए उपयोग किए जाते हैं जहाँ पंक्ति और स्तंभ दोनों के पास संख्यात्मक पहचानकर्ता होता है। R1C1‑स्टाइल सेल रेफ़रेंसेज़ को निम्न रूप में उपयोग किया जा सकता है:

सेल रेफ़रेंस उदाहरण
परम सापेक्ष मिश्रित
सेल R2C3 R[2]C[3] R2C[3]
R[2]C3
पंक्ति R2 R[2] -
स्तंभ C3 C[3] -
रेंज R2C3:R5C7 R[2]C[3]:R[5]C[7] R2C3:R[5]C[7]
R[2]C3:R5C[7]

यहाँ एक उदाहरण है जिससे आप फ़ॉर्मूले में R1C1‑स्टाइल सेल रेफ़रेंस का उपयोग कर सकते हैं:

पूर्वनिर्धारित फ़ंक्शन

फ़ॉर्मुलों में उपयोग के लिए कई पूर्वनिर्धारित फ़ंक्शन उपलब्ध हैं जो उनके कार्यान्वयन को सरल बनाते हैं। ये फ़ंक्शन सामान्यतः उपयोग किए जाने वाले ऑपरेशनों को समेटते हैं, जैसे:

  • ABS
  • AVERAGE
  • CEILING
  • CHOOSE
  • CONCAT
  • CONCATENATE
  • DATE (1900 तिथि प्रणाली)
  • DAYS
  • FIND
  • FINDB
  • IF
  • INDEX (रेफ़रेंस फ़ॉर्म)
  • LOOKUP (वेक्टर फ़ॉर्म)
  • MATCH (वेक्टर फ़ॉर्म)
  • MAX
  • SUM
  • VLOOKUP

अक्सर पूछे जाने वाले प्रश्न

क्या चार्ट के फ़ॉर्मूलों के साथ बाहरी Excel फ़ाइलों को डेटा स्रोत के रूप में समर्थित किया जाता है?

हाँ। Aspose.Slides बाहरी वर्कबुक को चार्ट के डेटा स्रोत के रूप में समर्थन देता है, जिससे आप प्रस्तुति के बाहर XLSX फ़ाइल से फ़ॉर्मूलों का उपयोग कर सकते हैं।

क्या चार्ट फ़ॉर्मूले समान वर्कबुक में शीट नाम द्वारा अन्य शीट्स को रेफ़र कर सकते हैं?

हाँ। फ़ॉर्मूले मानक Excel रेफ़रेंस मॉडल का पालन करते हैं, इसलिए आप समान वर्कबुक या बाहरी वर्कबुक की अन्य शीट्स को रेफ़र कर सकते हैं। बाहरी रेफ़रेंस के लिए Excel सिंटैक्स का उपयोग करके पाथ और वर्कबुक नाम शामिल करें।