কেন পাওয়ার BI এর মোট সম্পদের কলাম যোগফলের পরিবর্তে একটি একক মান দেখায়

কেন পাওয়ার BI এর মোট সম্পদের কলাম যোগফলের পরিবর্তে একটি একক মান দেখায়
কেন পাওয়ার BI এর মোট সম্পদের কলাম যোগফলের পরিবর্তে একটি একক মান দেখায়

পাওয়ার BI টেবিলে অপ্রত্যাশিত মোট বোঝা

কল্পনা করুন যে আপনি আর্থিক ডেটা প্রদর্শন করার জন্য Power BI-তে একটি প্রতিবেদন তৈরি করছেন, এবং সবকিছু ঠিকঠাক মনে হচ্ছে - যতক্ষণ না আপনি অদ্ভুত কিছু লক্ষ্য করেন। মোট সম্পদ কলামে সমস্ত মানের সমষ্টি দেখানোর পরিবর্তে, টেবিলটি শুধুমাত্র একটি মান প্রদর্শন করে। হতাশাজনক, তাই না? 🤔

পাওয়ার BI-তে মোট গণনা করার জন্য DAX পরিমাপ ব্যবহার করার সময় এই সমস্যাটি প্রায়ই ঘটে, বিশেষ করে যখন প্রসঙ্গ ফিল্টার বা নির্দিষ্ট তারিখ-ভিত্তিক লজিক নিয়ে কাজ করা হয়। আপনি যদি কখনও একই রকম পরিস্থিতির মুখোমুখি হয়ে থাকেন তবে আপনি জানেন যে সমস্যাটি চিহ্নিত করা কতটা চ্যালেঞ্জিং হতে পারে।

একটি বাস্তব-জীবনের দৃশ্যে, একটি নির্দিষ্ট তারিখে দলগতভাবে ব্যাঙ্কের সম্পদ প্রদর্শনের উদ্দেশ্যে একটি টেবিল একটি একক সারি থেকে মোট মান প্রদর্শন করে। একটি সঠিক মোটের পরিবর্তে, এটি বিস্ময়করভাবে "1,464" ফিরিয়ে দিয়েছে - যা প্রত্যাশিত ছিল না। এই সূক্ষ্ম ভুল গণনা উল্লেখযোগ্য রিপোর্টিং ত্রুটি হতে পারে.

এই নিবন্ধে, আমরা অন্বেষণ করব কেন এটি ঘটছে, DAX সূত্রটি ত্রুটিপূর্ণভাবে বিচ্ছিন্ন করব এবং সমস্যাটি সমাধান করার পদক্ষেপগুলি প্রদান করব৷ এছাড়াও, আমরা একটি নমুনা ফাইল উল্লেখ করব যা সমস্যাটির প্রতিলিপি করে যাতে আপনি অনুসরণ করতে পারেন এবং আপনার প্রকল্পগুলিতে অনুরূপ সমস্যাগুলি সমাধান করতে পারেন। এর মধ্যে ডুব দেওয়া যাক! 🚀

আদেশ ব্যবহারের উদাহরণ
SUMX SUMX(ফিল্টার(টেবিল, টেবিল[শর্ত]), টেবিল[কলাম])
একটি টেবিলের উপর পুনরাবৃত্তি করে, প্রতিটি সারির জন্য একটি অভিব্যক্তি মূল্যায়ন করে এবং সমস্ত মূল্যায়নের যোগফল প্রদান করে। ফিল্টার করা সারিগুলির উপর ভিত্তি করে মোট গণনা করতে ব্যবহৃত হয়।
CALCULATE ক্যালকুলেট (এক্সপ্রেশন, ফিল্টার1, ফিল্টার2)
একটি পরিবর্তিত ফিল্টার প্রসঙ্গে একটি অভিব্যক্তি মূল্যায়ন করে। তারিখ ফিল্টার প্রয়োগ করতে এবং গণনাটি সারি-স্তরের প্রসঙ্গকে সম্মান করে তা নিশ্চিত করতে এখানে ব্যবহৃত হয়।
FIRSTNONBLANK প্রথম খালি (কলাম, 1)
বর্তমান প্রেক্ষাপটে মূল্যায়ন করা কলামে প্রথম অ-শূন্য মান প্রদান করে। যোগফল কাঙ্খিত না হলে প্রথম বৈধ মান পুনরুদ্ধার করতে ব্যবহৃত হয়।
HASONEVALUE HASONEVALUE(কলাম)
বর্তমান প্রসঙ্গে একটি কলামের জন্য ঠিক একটি মান রয়েছে কিনা তা পরীক্ষা করে। টোটাল বনাম স্বতন্ত্র মানগুলি পরিচালনা করতে শর্তযুক্ত যুক্তির জন্য অপরিহার্য।
VAR VAR VariableName = এক্সপ্রেশন
পুনঃব্যবহারের জন্য একটি মান বা অভিব্যক্তি সংরক্ষণ করার জন্য একটি পরিবর্তনশীল সংজ্ঞায়িত করে। জটিল DAX সূত্রে পঠনযোগ্যতা এবং দক্ষতা বাড়ায়।
FILTER ফিল্টার (টেবিল, শর্ত)
একটি শর্তের উপর ভিত্তি করে একটি টেবিল থেকে সারিগুলির একটি উপসেট প্রদান করে। রিপোর্টের তারিখের সাথে মিলে যাওয়া সারিগুলিকে আলাদা করতে ব্যবহৃত হয়।
Table.AddColumn টেবিল।কলাম যোগ করুন (উৎস, "নতুন কলাম", প্রতিটি অভিব্যক্তি)
পাওয়ার কোয়েরিতে একটি টেবিলে একটি গণনা করা কলাম যোগ করে। পাওয়ার BI-তে সহজে হ্যান্ডলিং করার জন্য একটি পূর্বনির্ধারিত মোট তৈরি করতে ব্যবহৃত হয়।
List.Sum তালিকা.সমষ্টি(টেবিল.কলাম(টেবিল, "কলামের নাম"))
একটি কলামে মানের সমষ্টি গণনা করে এবং পাওয়ার কোয়েরির জন্য নির্দিষ্ট। পাওয়ার BI-তে লোড করার আগে মোট প্রিপ্রসেস করার জন্য আদর্শ।
SUMMARIZE সংক্ষিপ্তকরণ (সারণী, কলাম 1, "নাম", পরিমাপ)
একটি টেবিলকে এক বা একাধিক কলাম দ্বারা গোষ্ঠীবদ্ধ করে এবং সেই গোষ্ঠীগুলির মধ্যে অভিব্যক্তি মূল্যায়ন করে। ইউনিট পরীক্ষা এবং মোট যাচাইকরণের জন্য দরকারী।
EVALUATE মূল্যায়ন সংক্ষিপ্তকরণ (সারণী, কলাম)
এক্সিকিউট করে এবং একটি DAX ক্যোয়ারী ফলাফল প্রদান করে। গণনা এবং প্রত্যাশিত ফলাফল যাচাই করতে পরীক্ষার পরিস্থিতিতে ব্যবহৃত হয়।

পাওয়ার BI টেবিলে ভুল মোটের সমস্যা সমাধান করা

Power BI এর সাথে কাজ করার সময়, আপনার টেবিলে সঠিক টোটাল অর্জন করা প্রায়শই মনে হয় তার চেয়ে বেশি জটিল, বিশেষ করে কাস্টম DAX পরিমাপ ব্যবহার করার সময়। এই ক্ষেত্রে, সমস্যা দেখা দেয় কারণ সূত্রটি ব্যবহার করে প্রথম খালি, যা সমস্ত সারি যোগ করার পরিবর্তে প্রথম অ-খালি মান পুনরুদ্ধার করে। যদিও এই পদ্ধতিটি পৃথক সারির জন্য কাজ করে, এটি মোটের জন্য অনুপযুক্ত কারণ এটি সমষ্টিগত যুক্তিকে উপেক্ষা করে। আর্থিক ডেটা গণনা করার সময় এটি একটি সাধারণ সমস্যা, যেমন মোট সম্পদ, যার সুনির্দিষ্ট সমষ্টি প্রয়োজন।

এটি মোকাবেলা করার জন্য, আমরা একটি আরো কার্যকর পরিমাপ লিভারেজিং চালু করেছি SUMX. ডিফল্ট সমষ্টির বিপরীতে, SUMX প্রতিটি সারিতে পুনরাবৃত্তি করে এবং একটি সংজ্ঞায়িত ফিল্টারের উপর ভিত্তি করে গতিশীলভাবে যোগফল গণনা করে, নিশ্চিত করে যে মোটগুলি সঠিক মানগুলিকে প্রতিফলিত করে। উদাহরণস্বরূপ, যদি একটি টেবিলে তারিখ অনুসারে ফিল্টার করা বেশ কয়েকটি ব্যাঙ্কের আর্থিক ডেটা থাকে, তাহলে SUMX নিশ্চিত করে যে সমস্ত ব্যাঙ্কের সম্পদের যোগফল দেখানো হয়েছে, একটি একক, সম্পর্কহীন মান ফেরত দেওয়ার পরিবর্তে। এই পদ্ধতিটি বিশেষ করে সময়-সংবেদনশীল প্রতিবেদনে কাজে লাগে, যেখানে নির্ভুলতা সবচেয়ে বেশি। 🏦

আরেকটি পদ্ধতি HASONEVALUE এর সাথে শর্তযুক্ত যুক্তি ব্যবহার করে। এই ফাংশনটি বর্তমান প্রসঙ্গটি একটি একক সারি প্রতিনিধিত্ব করে কিনা তা পরীক্ষা করে, যা আমাদের মোট গণনা করা এবং সারি-স্তরের মান প্রদর্শনের মধ্যে টগল করার অনুমতি দেয়। এই যুক্তিটিকে আমাদের DAX সূত্রে এম্বেড করার মাধ্যমে, আমরা প্রসঙ্গ ভুল-বিন্যস্ততা প্রতিরোধ করি, যা প্রায়শই গণনা করা টোটালে ত্রুটির দিকে নিয়ে যায়। উদাহরণস্বরূপ, যখন একটি আর্থিক প্রতিবেদন ব্যাঙ্কিং প্রতিষ্ঠানগুলির দ্বারা গোষ্ঠীভুক্ত করা হয়, তখন HASONEVALUE সারি-স্তরের ডেটা নির্ভুলতা নিশ্চিত করে যখন সঠিকভাবে গোষ্ঠীর মোট সংখ্যা একত্রিত করে, এটিকে মাল্টি-লেভেল রিপোর্টিং এর জন্য একটি বহুমুখী সমাধান করে তোলে।

উপরন্তু, পাওয়ার ক্যোয়ারী-এ ডেটা প্রি-প্রসেস করা আরেকটি শক্তিশালী সমাধান প্রদান করে। মত সরঞ্জাম ব্যবহার করে টেবিল।কলাম যোগ করুন এবং তালিকা.সমষ্টি, ডেটা পাওয়ার BI-তে পৌঁছানোর আগেই আমরা মোট গণনা করি। এই পদ্ধতিটি বিশেষভাবে কার্যকর যখন বড় ডেটাসেট বা জটিল গণনা পরিচালনা করে যা Power BI-এর ইঞ্জিনকে অভিভূত করতে পারে। উদাহরণস্বরূপ, একটি বৃহৎ-স্কেল ব্যাঙ্কিং রিপোর্টে, পাওয়ার কোয়েরি ব্যবহার করে নিশ্চিত করে যে মোট সম্পদের কলামটি পূর্বনির্ধারিত, পুনঃগণনার প্রয়োজনীয়তা এড়াতে এবং রিপোর্ট জুড়ে সামঞ্জস্যপূর্ণ নির্ভুলতা নিশ্চিত করে। প্রি-প্রসেসিং সমস্যা সমাধানকেও সহজ করে, কারণ গণনা করা মোটগুলি ভিজ্যুয়ালাইজেশনের আগে সরাসরি যাচাই করা যেতে পারে। 📊

DAX ব্যবহার করে পাওয়ার BI-তে মোট সম্পদ গণনার সমস্যা সমাধান করা

পাওয়ার BI-তে কলামের মোট সংখ্যা সংশোধন করার জন্য DAX-ভিত্তিক সমাধান

-- Correcting the Total Assets Calculation with a SUMX Approach
Bank Balance Total Assets =
    VAR TargetDate = [Latest Date Call Report] -- Retrieves the reporting date
    RETURN
        SUMX(
            FILTER(
                balance_sheet,
                balance_sheet[RPT_DATE] = TargetDate
            ),
            balance_sheet[TotalAssets]
        ) / 1000
-- This ensures all rows are summed instead of retrieving a single value.

প্রসঙ্গ পরিচালনা করার জন্য একটি বিকল্প DAX পরিমাপ বাস্তবায়ন করা

উন্নত ফিল্টার প্রসঙ্গ হ্যান্ডলিং সহ DAX-ভিত্তিক সমাধান

-- Using HASONEVALUE to Improve Context Handling
Bank Balance Total Assets =
    VAR TargetDate = [Latest Date Call Report]
    RETURN
        IF(
            HASONEVALUE(balance_sheet[BankName]),
            CALCULATE(
                FIRSTNONBLANK(balance_sheet[TotalAssets], 1),
                balance_sheet[RPT_DATE] = TargetDate
            ),
            SUMX(
                FILTER(
                    balance_sheet,
                    balance_sheet[RPT_DATE] = TargetDate
                ),
                balance_sheet[TotalAssets]
            )
        ) / 1000
-- Applies conditional logic to manage totals based on row context.

পাওয়ার ক্যোয়ারী ব্যবহার করে মোট সম্পদ গণনার সমস্যা ঠিক করা

প্রিপ্রসেস ডেটাতে পাওয়ার কোয়েরি রূপান্তর

-- Adding a Precomputed Total Column in Power Query
let
    Source = Excel.CurrentWorkbook(){[Name="BalanceSheet"]}[Content],
    FilteredRows = Table.SelectRows(Source, each [RPT_DATE] = TargetDate),
    AddedTotal = Table.AddColumn(FilteredRows, "Total Assets Corrected", each
        List.Sum(Table.Column(FilteredRows, "TotalAssets"))
    )
in
    AddedTotal
-- Processes data to compute correct totals before loading to Power BI.

DAX এবং পাওয়ার কোয়েরি সমাধানের জন্য ইউনিট পরীক্ষা

ব্যবস্থা যাচাই করার জন্য DAX-এ লিখিত ইউনিট পরীক্ষা

-- Testing SUMX Solution
EVALUATE
SUMMARIZE(
    balance_sheet,
    balance_sheet[BankName],
    "Correct Total", [Bank Balance Total Assets]
)

-- Testing HASONEVALUE Solution
EVALUATE
SUMMARIZE(
    balance_sheet,
    balance_sheet[Group],
    "Conditional Total", [Bank Balance Total Assets]
)

-- Verifying Power Query Totals
let
    Result = Table.RowCount(AddedTotal),
    Correct = Result = ExpectedRows
in
    Correct
-- Ensures all implementations are robust and validated.

পাওয়ার বিআই রিপোর্টে সঠিক মোট নিশ্চিত করা

পাওয়ার BI ব্যবহার করার সময়, গণনা করা কলামে মোটের নির্ভুলতা প্রায়শই DAX পরিমাপ এবং রিপোর্টের ফিল্টার প্রসঙ্গের মধ্যে মিথস্ক্রিয়া বোঝার উপর নির্ভর করে। একটি উপেক্ষিত ফ্যাক্টর হল মূল্যায়ন আদেশের ভূমিকা এবং কীভাবে পরিমাপগুলি প্রসঙ্গ পরিবর্তন পরিচালনা করে। গোষ্ঠীবদ্ধ ক্ষেত্রগুলিতে ডেটা যোগ করার সময় এটি গুরুত্বপূর্ণ, কারণ অনুপযুক্ত প্রসঙ্গ পরিচালনার কারণে মোটগুলি ভুল মান প্রদর্শন করতে পারে। উদাহরণস্বরূপ, আর্থিক পারফরম্যান্সের ভিত্তিতে ব্যাঙ্কগুলিকে গোষ্ঠীবদ্ধ করতে এবং একটি নির্দিষ্ট তারিখ অনুসারে ফিল্টার করার জন্য DAX ব্যবস্থার প্রয়োজন যেমন হিসাব করুন এবং SUMX সঠিকভাবে ডেটা ব্যাখ্যা করতে, বা ভুলভাবে সংযোজিত মোটগুলি প্রদর্শিত হতে পারে। 🔍

আরেকটি মূল দিক হল গণনা করা কলাম এবং পরিমাপের মধ্যে পার্থক্য বোঝা। একটি গণনা করা কলাম মডেল রিফ্রেশের সময় সারি অনুসারে ডেটা সারি গণনা করে, যখন একটি পরিমাপ প্রতিবেদনের প্রসঙ্গের উপর ভিত্তি করে গতিশীলভাবে গণনা করে। এই পার্থক্যটি গুরুত্বপূর্ণ কারণ একটি গণনা করা কলাম প্রায়শই ডেটা উত্সে মোট প্রাক-কম্পিউটিং করে একত্রিতকরণের সমস্যাগুলিকে বাইপাস করতে পারে, যা একাধিক ফিল্টার সহ ব্যালেন্স শীটের মতো জটিল ডেটাসেটের জন্য বিশেষভাবে কার্যকর হতে পারে। প্রতিবেদনে ডেটা কীভাবে কাটছাঁট করা হোক না কেন মোট সংখ্যা সামঞ্জস্যপূর্ণ তা নিশ্চিত করতে এই পদ্ধতি কার্যকর।

বৃহত্তর ডেটাসেটের জন্য, পারফরম্যান্স অপ্টিমাইজেশান একটি গুরুত্বপূর্ণ উদ্বেগ হয়ে ওঠে। অপ্রয়োজনীয় ফিল্টার কমানো বা আরও দক্ষ DAX ফাংশন ব্যবহার করার মতো কৌশল (যেমন, প্রতিস্থাপন FIRSTNONBLANK সঙ্গে SUMX) যথার্থতার সাথে আপস না করে কর্মক্ষমতা উন্নত করতে সহায়তা করে। উদাহরণস্বরূপ, শত শত ব্যাঙ্ক জুড়ে সম্পদ বিশ্লেষণ করে একটি প্রতিবেদন বারবার প্রসঙ্গ পরিবর্তনের সাথে ধীর হতে পারে। পাওয়ার কোয়েরিতে মূল মানগুলিকে প্রাক-কম্পিউটিং করা বা ডেটা উত্সে একত্রিতকরণ ব্যবহার করা এই সমস্যাগুলি হ্রাস করতে পারে, গতি এবং নির্ভুলতা উভয়ই নিশ্চিত করে। ⚡

পাওয়ার BI মোট এবং DAX পরিমাপ সম্পর্কে সাধারণ প্রশ্ন

  1. পাওয়ার BI কেন মোট যোগফলের পরিবর্তে একটি একক মান দেখায়?
  2. এটি ঘটে যখন DAX পরিমাপ যেমন কমান্ড ব্যবহার করে FIRSTNONBLANK বা VALUES, যা সমস্ত সারি একত্রিত করার পরিবর্তে নির্দিষ্ট মান প্রদান করে।
  3. পাওয়ার BI সারণিতে আমি কীভাবে সঠিক টোটাল নিশ্চিত করতে পারি?
  4. মত ফাংশন ব্যবহার করুন SUMX সারিগুলির উপর পুনরাবৃত্তি করতে এবং এর সাথে স্পষ্টভাবে ফিল্টার প্রয়োগ করতে CALCULATE. পাওয়ার কোয়েরিতে মোট প্রাক-কম্পিউটিং একটি ভাল বিকল্প।
  5. DAX-এ SUM এবং SUMX-এর মধ্যে পার্থক্য কী?
  6. SUM প্রসঙ্গ বিবেচনা না করে একটি কলামে সমস্ত মান যোগ করে, যখন SUMX ফিল্টার করা সমষ্টির অনুমতি দিয়ে সারি সারি গণনা করে।
  7. DAX পরিমাপের জন্য ফিল্টার প্রসঙ্গ কেন গুরুত্বপূর্ণ?
  8. ফিল্টার প্রসঙ্গ নির্ধারণ করে যে কোন ডেটা গণনায় অন্তর্ভুক্ত করা হয়েছে। মত ফাংশন CALCULATE সঠিক ফলাফল তৈরি করতে প্রসঙ্গ পরিবর্তন করুন।
  9. আমি কি DAX এর পরিবর্তে পাওয়ার কোয়েরি ব্যবহার করে টোটাল ঠিক করতে পারি?
  10. হ্যাঁ, মত কমান্ড সহ Table.AddColumn এবং List.Sum, আপনি রানটাইম গণনা এড়িয়ে পাওয়ার কোয়েরিতে মোট টোটাল প্রিপ্রসেস করতে পারেন।
  11. DAX-এ HASONEVALUE ব্যবহার করার সুবিধা কী?
  12. HASONEVALUE আপনাকে শর্তসাপেক্ষ যুক্তি প্রয়োগ করতে দেয়, নিশ্চিত করে যে গণনাগুলি সারি বা মোট প্রসঙ্গের উপর ভিত্তি করে খাপ খায়।
  13. আমার DAX পরিমাপ সঠিক কিনা আমি কিভাবে পরীক্ষা করব?
  14. ব্যবহার করুন EVALUATE এবং SUMMARIZE প্রত্যাশিত মানের বিপরীতে আপনার পরিমাপের আউটপুট যাচাই করতে DAX স্টুডিওর মতো সরঞ্জামগুলিতে।
  15. DAX পরিমাপের সাধারণ কর্মক্ষমতা সমস্যা কি কি?
  16. কর্মক্ষমতা যেমন ফাংশন সঙ্গে অধঃপতন হতে পারে FILTER বড় ডেটাসেটে প্রয়োগ করা হয়। ফিল্টার অপ্টিমাইজ করা বা একত্রিতকরণ ব্যবহার করা সাহায্য করতে পারে।
  17. পরিমাপের পরিবর্তে আমি কখন গণনা করা কলাম ব্যবহার করব?
  18. স্ট্যাটিক গণনার জন্য গণনা করা কলামগুলি ব্যবহার করুন, যেমন প্রাক গণনা করা মোট, এবং রিপোর্টের প্রসঙ্গের উপর ভিত্তি করে গতিশীল সমষ্টির জন্য পরিমাপ।
  19. আমি কি আরও ভালো ফলাফলের জন্য পাওয়ার কোয়েরি এবং DAX একত্রিত করতে পারি?
  20. হ্যাঁ, পাওয়ার কোয়েরিতে ডেটা প্রি-প্রসেস করা এবং অতিরিক্ত DAX গণনা প্রয়োগ করা জটিল প্রতিবেদনে কর্মক্ষমতা এবং নির্ভুলতা উভয়ই নিশ্চিত করে।

আর্থিক প্রতিবেদনে সঠিক মোট নিশ্চিত করা

পাওয়ার BI-তে ভুল টোটাল মোকাবেলা করার জন্য, SUMX এবং CALCULATE-এর মতো সঠিক টুলগুলি ব্যবহার করা নিশ্চিত করে যে আপনার গণনাগুলি প্রকৃত ডেটা প্রসঙ্গ প্রতিফলিত করে। মোট প্রিপ্রসেস করার জন্য পাওয়ার কোয়েরি ব্যবহার করা রানটাইম ত্রুটিগুলি এড়ানোর আরেকটি উপায়, বিশেষ করে জটিল ডেটাসেটের জন্য।

DAX ফাংশন বুঝতে এবং আপনার ডেটা মডেল অপ্টিমাইজ করে, আপনি সামঞ্জস্যপূর্ণ এবং সুনির্দিষ্ট রিপোর্টিং নিশ্চিত করতে পারেন। আর্থিক সম্পদ বা অন্যান্য গুরুত্বপূর্ণ মেট্রিক্সের সাথে কাজ করা হোক না কেন, এই পদ্ধতিগুলি আপনার পাওয়ার BI ড্যাশবোর্ডগুলিকে নির্ভরযোগ্য এবং দক্ষ করে তুলতে সাহায্য করে। 💼

সূত্র এবং তথ্যসূত্র
  1. এই নিবন্ধটি ব্যবহারকারী-প্রদত্ত উদাহরণ ফাইল দ্বারা সমস্যাটির প্রতিলিপি জানানো হয়েছে। ফাইলটি এখানে অ্যাক্সেস করা যেতে পারে: পাওয়ার বিআই ফাইলের নমুনা .
  2. DAX ফাংশন এবং প্রসঙ্গ ট্রানজিশনের আরও অন্তর্দৃষ্টি অফিসিয়াল Microsoft Power BI ডকুমেন্টেশন থেকে নেওয়া হয়েছে: মাইক্রোসফ্ট পাওয়ার বিআই ডকুমেন্টেশন .
  3. পাওয়ার বিআই সারণিতে টোটাল পরিচালনার জন্য অতিরিক্ত কৌশলগুলি পাওয়ার বিআই কমিউনিটির মতো কমিউনিটি ফোরাম থেকে উল্লেখ করা হয়েছে: পাওয়ার বিআই কমিউনিটি .