آموزش هوش تجاری از ۰ تا ۱۰۰

۵ مطلب در تیر ۱۴۰۱ ثبت شده است

  • ۰
  • ۰

مت اینجاست من می خواهم قبل از تحویل دادن به رولاند یک معرفی کوتاه انجام دهم. من رولند را چند سالی است که می شناسم – او یکی از اعضای گروه کاربری سیدنی Power BI است. چیزی که من تا همین اواخر نمی دانستم این بود که او همان علاقه ای به Power BI دارد که من دارم و یک کانال یوتیوب بسیار بهتر :-). من از رولاند دعوت کردم تا یک وبلاگ مهمان در اینجا ایجاد کند تا شما را با او آشنا کنم، اما همچنین برای اینکه بتواند این اطلاعات را در Dataflows به اشتراک بگذارد. اگر از نحوه توضیح رولاند مانند من خوشتان می آید، لطفاً در کانال یوتیوب او و همچنین وبلاگ او مشترک شوید. با آن، کار به رولند می رسد.

**************

سلام، اسم من رولاند است.

من خالق BI-Lingual Analytics هستم و بسیار خوشحالم که راهنمای مقدماتی خود را در مورد Dataflows اینجا در Excelerator BI به اشتراک می‌گذارم.

من و مت در مورد Dataflows صحبت کرده‌ایم و اینکه چگونه آنها می‌توانند به تحلیلگران کسب‌وکار کمک کنند تا روند گزارش‌دهی خود را ساده‌تر کنند و با سپردن برخی مسئولیت‌ها به کاربران تجاری در زمان خود صرفه‌جویی کنند. این بحث باعث شد تا یک آموزش ویدیویی در مورد اینکه از کجا با Dataflows شروع کنم ایجاد کنم و تجربه خود را در اینجا نیز در قالب مکتوب به اشتراک بگذارم. لینک ویدیو در انتهای این مقاله است.

بنابراین جریان داده A (Power BI) چیست؟
بر اساس اسناد رسمی MS:

جریان داده مجموعه ای از جداول است که در فضاهای کاری در سرویس Power BI ایجاد و مدیریت می شوند. جدول مجموعه‌ای از ستون‌ها است که برای ذخیره داده‌ها استفاده می‌شود، دقیقاً مانند جدول در یک پایگاه داده.

ایجاد جریان داده – Power BI | اسناد مایکروسافت

من فکر می کنم، برای بسیاری از کاربران تجاری این تعریف ممکن است کمی طاقت فرسا باشد.

من دوست دارم Dataflow را به عنوان Power Query Online تعریف یا به آن ارجاع دهم.

می تواند برای اتصال به داده ها یا منابع داده های مختلف استفاده شود.
طیف گسترده ای از مراحل تبدیل داده وجود دارد که می توان انجام داد. درست مثل Power Query.
و در آخر، کاربران می توانند از Dataflow به عنوان منبع در Power BI Desktop استفاده کنند.
علاوه بر این، چند ویژگی عالی دیگر در Dataflows تعبیه شده است، با این حال، این فقط یک راهنمای مقدماتی است، بنابراین سعی می کنم روی ضروری ترین ویژگی ها تمرکز کنم.

اگر با بیان فناوری اطلاعات ETL یا استخراج، تبدیل و بارگذاری آشنا هستید، در پایان این پست و/یا آموزش ویدیویی خواهید دید که Dataflows می‌تواند به ETL‌های تجاری-محور کمک کند. به این معنی که کاربران تجاری می توانند داده های مورد نیاز خود را به شکلی دریافت کنند که برای آنها منطقی ترین باشد.

 یک پروژه واقعی
 درست مانند سایر اکتشافات در دنیای BI، همه چیز با یک پروژه کوچک شروع شد که در نهایت فرصتی برای کشف Dataflows داشتم.

وظیفه من ایجاد یک گزارش جدید برای کاربرانم بر اساس داده های شخص ثالث تازه به دست آمده بود. به این معنی بود که من باید روی درایوهای شبکه خود کار کنم، آن را به Power BI متصل کنم، DataViz را ایجاد کنم. و البته، ما نمی توانیم تعمیر و نگهداری را فراموش کنیم - هر دو هفته یکبار داده های خام و از ابعاد به روز رسانی هر چند وقت یکبار یا جداول "نقشه برداری" را به روز کنید.

با این حال، همانطور که گاهی اوقات اتفاق می افتد، اولویت ها برای کسب و کار (و همچنین برای من) تغییر کرده است، و در نهایت زمان کافی برای انجام هیچ یک از آن ها نداشتم.

اما کسب‌وکار به من فشار می‌آورد که گزارش مفید است و آن‌ها می‌خواهند تازه‌سازی‌ها و تنظیمات گاه به گاه را ببینند.

بنابراین فکر کردم، شاید وقت آن رسیده که گزارش را تحویل دهم. و همه چیز از اینجا شروع شد.

جریان داده در روز کاربران شما را دور نگه می دارد؟
در اینجا خلاصه ای از این ایده آورده شده است.

یک پوشه OneDrive/Sharepoint ایجاد کنید که در آن کاربران گزارش می توانند داده های شخص ثالث را هر چند وقت یکبار دریافت می کنند ذخیره کنند.
جداول DIM را به همان پوشه اضافه کنید و به رهبر(های) تیم اجازه دهید تا نقشه مشتری و محصول را تنظیم کنند.
یک Dataflow ایجاد کنید تا داده های خام را پاک کرده و جداول DIM را انتخاب کنید.
یک گزارش Power BI را به آن Dataflow متصل کنید.
گزارش را منتشر کرده و به کسب و کار تحویل دهید.
این ایده عالی به نظر می رسد، درست است؟

اگر می خواهید ببینید چگونه می توان این کار را انجام داد، حتماً ویدیو را تماشا کنید زیرا تمام این نکات را پوشش می دهد.

مزایای کلیدی استفاده از جریان داده برای تجارت
از دیدگاه من، اینها مهمترین مزایای پیاده سازی Dataflows در مجموعه گزارش دهی هستند. و من معتقدم که اکثر تحلیلگران (غیر فنی) همین طرز فکر را دارند.

راه حل مبتنی بر ابر - به کاربران امکان می دهد به داده ها در هر مکان، هر زمان و از هر دستگاهی دسترسی داشته باشند. برای بسیاری از سازمان ها سرمایه گذاری روی لپ تاپ های قدرتمند برای تیم فروش/عملیات منطقی نیست. Dataflow می تواند از قدرت Power Query بدون تکیه بر منابع محلی IT استفاده کند.
تنها منبع حقیقت - استفاده از داده های یکسان در همه گزارش ها در هر کسب و کاری حیاتی است. هیچ کس نمی خواهد زمان خود را صرف تطبیق گزارش ها و نتایج به دلیل دو رقم متفاوت کند. با Dataflow همه کاربران می توانند از یک خط پایه شروع کنند و به نتایج ثابتی دست یابند.
استفاده مجدد از داده ها - نه فقط در مورد هر نوع داده، بلکه داده های پاک. از آنجایی که مراحل تبدیل داده قبلاً توسط تیم Analytics ایجاد شده بود، استفاده مجدد از داده ها هرگز به این آسانی نبوده است.
به اشتراک گذاری داده ها – سازندگان Dataflow می توانند یک Dataflow را تایید و/یا تبلیغ کنند تا امکان دسترسی آسان تر برای دیگران در شرکت فراهم شود.
اتصال داده – اتصال جریان داده در Power BI 

دسکتاپ یک منبع داده برتر است. به این معنی که کاربران می‌توانند به زمان‌های تازه‌سازی گزارش سریع‌تر دست یابند.
اتوماسیون – اگر داده‌های منبع همیشه در دسترس باشد (ابر یا روی پرم با دروازه)، سازندگان گزارش می‌توانند به‌روزرسانی خودکار یا برنامه‌ریزی‌شده را برای Dataflow و مجموعه داده تنظیم کنند.
تمام نکات فوق به سازندگان گزارش اجازه می دهد تا گزارش ها را به کسب و کار تحویل دهند.

منجر به کاهش حجم کار برای بخش تجزیه و تحلیل می شود که در نهایت به آنها این امکان را می دهد که زمان بیشتری را صرف تجزیه و تحلیل داده ها به جای ایجاد گزارش کنند.

  • sahar saha sql
  • ۰
  • ۰


توسط مت آلینگتون / 4 آوریل 2022
گزارش‌های صفحه‌بندی شده از سال 2019 در Power BI در دسترس هستند. این گزارش‌ها هدف مهمی را دنبال می‌کنند، اما یادگیری آن‌ها برای کاربران تجاری معمولی آسان نیست، به علاوه برای استفاده از آن‌ها به Power BI Premium نیاز دارند. در وبلاگ و ویدیوی امروز خود، به شما نشان خواهم داد که چگونه می توانید از Excel به عنوان جایگزینی برای Paginated Report Builder برای ایجاد گزارش های صفحه بندی شده ساده از مدل داده Power BI Desktop خود استفاده کنید.

گزارش صفحه بندی شده چیست؟
همانطور که از نام آن پیداست، گزارش صفحه بندی شده گزارشی است که در چندین صفحه قرار دارد. در Power BI Desktop، اگر گزارش بیش از یک صفحه باشد، نوار پیمایشی دریافت می کنید که به شما امکان می دهد تمام داده ها را ببینید. این خوب است، تا زمانی که در آن زمان با گزارش به صورت زنده تعامل داشته باشید. اما نمی‌توانید یک گزارش Power BI را که دارای نوار پیمایش است چاپ کنید و همچنان همه داده‌ها را ببینید. گزارش های صفحه بندی شده را برای حل آن مشکل وارد کنید.

گزارش های صفحه بندی شده Power BI با استفاده از اکسل
یک جدول تصویری در PBI بسازید. طرح جدول باید همان چیزی باشد که در گزارش صفحه بندی شده خود نیاز دارید. برای ساخت جدول خود می توانید ستون، اندازه گیری و معیارهای ضمنی اضافه کنید.
با انتخاب گزینه در منوی بالا، پنجره Performance Analyzer را باز کنید. در قسمت Performance Analyzer بر روی Start Recording کلیک کنید.
بصری جدول را تازه کنید.
پرس و جو ایجاد شده توسط جدول را در پنجره Performance Analyzer کپی کنید.
Excel را با اتصال به مدل داده Power BI Desktop راه اندازی کنید. می توانید از ابزار شخص ثالث Analyze with Excel از SQLBI که به عنوان یک ابزار خارجی در Power BI Desktop نصب شده است استفاده کنید. همچنین با Analyze in Excel از PowerBI.com کار خواهد کرد
یک جدول محوری ساده در اکسل از مدل داده متصل بسازید.
یک جدول مرتبط با مدل داده را با دوبار کلیک کردن بر روی هر مقدار در جدول محوری استخراج کنید.
DAX را ویرایش کنید تا جدول مورد نیازتان را ارائه کنید.
در هر نقطه از جدول استخراج شده راست کلیک کنید.
روی Edit DAX کلیک کنید.
کد پرس و جو را با کد درخواستی که از پنجره Performance Analyzer در Power BI Desktop کپی کرده اید، جایگزین کنید. شما باید کوئری کپی شده را ویرایش کنید تا تمام سطرها و نه فقط 501 سطر بالا تولید شوند.
ممکن است لازم باشد نام ستون ها را در جدول ویرایش کنید تا محتوای نمایش داده شده را نشان دهند.
گزینه های چاپ صفحه مورد نیاز برای گزارش صفحه بندی شده را تنظیم کنید.
چاپ پیش نمایش گزارش صفحه بندی شده.

گزارش صفحه بندی شده را به PDF صادر کنید.
بررسی کنید که گزارش صفحه بندی شده را همانطور که می خواهید دریافت کرده اید.

  • sahar saha sql
  • ۰
  • ۰

نسخه مه 2022 Power BI Desktop شامل یک ویژگی بسیار جالب و مفید است - پارامترهای میدان. امروز به شما نحوه استفاده از این ویژگی جدید را نشان خواهم داد که با 3 مورد (نه، صبر کنید، 4) استفاده کنید - عناصر نمودار، محور نمودار، محتوای جدول و سلسله‌مراتب موقتی دائمی.

چگونه به این ویژگی دسترسی داشته باشیم؟
در حال حاضر این یک ویژگی پیش نمایش است و بنابراین باید آن را در File -> Options روشن کنید. هنگامی که آن را روشن کردید، باید Power BI Desktop را مجددا راه اندازی کنید. پس از راه اندازی مجدد، ویژگی جدید را در تب Modeling (#1)، پارامتر جدید (#2)، فیلدها (#3) پیدا خواهید کرد. همچنین توجه داشته باشید که Whatif قبلی به Numeric Range (#4) تغییر نام داده است.

نحوه استفاده از این ویژگی
پس از انتخاب فیلدها در منوی بالا، یک دیالوگ مانند شکل زیر دریافت خواهید کرد. از نظر رویکرد شبیه به پارامترهای "چه می‌شد اگر" است که سال‌ها وجود داشته است. شما این پارامترهای فیلد جدید را با دادن یک نام و سپس اضافه کردن Measures یا Columns از جداول مدل خود تعریف می کنید. برخی موارد استفاده فقط به اندازه‌گیری‌ها، برخی فقط ستون‌ها و برخی دیگر هر دو را اجازه می‌دهند (ویدیو را ببینید). پارامتر فیلد یک جدول جدید و جدا شده با نامی که داده‌اید و اندازه‌ها یا نام ستون‌های جدولی که به عنوان مقادیر در ستون جدول اضافه کرده‌اید تولید می‌کند و همچنین یک Slicer متصل به این جدول ایجاد می‌کند (اگر چک را ترک کنید. کادر انتخاب شده). تنها کاری که باید انجام دهید این است که از ستون ایجاد شده در جدول جدید در یکی از تصاویر خود استفاده کنید. نحوه انجام این کار بستگی به مورد استفاده دارد (ویدئوی زیر را برای 3 مورد (صبر کنید، نه، 4 مورد استفاده) ببینید.

 

  • sahar saha sql
  • ۰
  • ۰

تمرین هوش تجاری

چی؟! من می شنوم که شما می گویید. انفجار، گسترش، از هر کلمه ای که دوست دارید استفاده کنید. منظور من این است که شما می خواهید هر مرجعی را به یک معیار در داخل معیار دیگر حذف کنید.

مثال
3 اقدام زیر را در نظر بگیرید.

Total Sales = SUM(Sales[ExtendedAmount])
Total All Product Sales = CALCULATE([Total Sales],ALL(Products))
% Of All Product Sales = DIVIDE([Total Sales],[Total All Product Sales])

 

معیار نهایی، % از کل فروش محصول به 2 اقدام موقت اشاره دارد. 2 اشاره به اقدامات دیگر در اندازه سوم وجود دارد. این روش بسیار متداول است و نوشتن DAX به این روش مزایای زیادی دارد.

مزایا
شما می توانید فرمول فرم طولانی را یک بار بنویسید و بارها از آن استفاده مجدد کنید.
این کوتاهتر و سریعتر است
اگر نیاز به تغییر فرمول پایه دارید، فقط باید آن را در یک مکان تغییر دهید
منطق فرمول خواندن و درک آسان تر است زیرا نام اندازه گیری ها توصیفی هستند در حالی که فرمول های زیربنایی ممکن است نیاز به تجزیه و تحلیل عمیق داشته باشند تا بفهمند چه کاری انجام می دهند.
شما می توانید مسئله DAX را به اجزای منطقی تقسیم کنید و قبل از اینکه به قسمت بعدی بروید، یک قسمت از مشکل محاسبه کلی را حل کنید.
مشکل
خوب، پس مشکل چیست؟ مشکل این است که گاهی اوقات شما یک مسیر عمیق و تودرتو از اقدامات را دریافت می کنید که فرمول زیربنایی پیچیده تر از آن چیزی است که باید باشد، و اشکال زدایی آن عملا غیرممکن است. اگر به سادگی یک اندازه گیری نهایی را در کد DAX کامل و زیربنایی منفجر کنید/بسط دهید، دیدن آنچه در جریان است بسیار آسان تر می شود. با بازگشت به مثال DAX بالا، این همان چیزی است که اندازه سوم در زیر کاپوت به نظر می رسد، و تمام ارجاعات به معیارهای وابسته را حذف می کند.

% Of All Product Sales =
DIVIDE (
    SUM ( Sales[ExtendedAmount] ),
    CALCULATE ( 
        SUM ( Sales[ExtendedAmount] ), 
        ALL ( Products ) )
)

در این مثال ساده بالا، من نمی گویم که DAX کاملاً منفجر شده/منبسط شده کارآمدتر است. این فقط یک تصویر است اما مثال زیر یک مشکل است

فرمول اصلی DAX
در زیر فرمول DAX واقعی است که برای مشتری من عملکرد ضعیفی داشت. 12 خط کد بود

 

 

فرمول کاملا منفجر شده
نسخه کاملاً منفجر شده این فرمول دقیقاً مشابه (به زیر مراجعه کنید) 406 خط کد است. مشکل را می بینید؟ من یک ویدیو در زیر دارم که نشان می دهد چگونه می توان نسخه اصلی DAX را با استفاده از Tabular Editor 3 به سرعت به نسخه کاملاً منفجر شده تبدیل کرد.

پس کدام سریعتر است؟
خوب در این مورد، آنها از نظر سرعت یکسان هستند، زیرا فرمول کاملا منفجر شده در عملکرد با فرمول اصلی یکسان است. در واقع، به دلیل داشتن یک CALCULATE() ضمنی، ممکن است این کاملاً درست نباشد، اما این گفتگوی بسیار بزرگ‌تری است که فراتر از محدوده این مقاله است. آنچه در این مورد مهم است این است که

درک کنید مشکلی وجود دارد.
بدانید که چگونه اندازه گیری را در کامپوننت کامل آن DAX منفجر کنید (ویدیوی زیر را ببینید)
پس از انفجار، DAX را بازسازی و بازنویسی کنید تا کارآمدتر شود.
این نسخه نهایی من است در صورتی که شما علاقه مند هستید. نسخه اصلی حدود 45 ثانیه طول کشید تا اجرا شود. این نسخه نهایی در 66 میلی ثانیه اجرا می شود. برای بهبود DAX، موارد زیر را انجام دادم:

تجزیه و تحلیل کرد که DAX چه می کرد
الگوهای تکراری را پیدا کرد و شناسایی کرد که می‌توان آنها را یک بار در یک پاس ارزیابی کرد و در شروع اندازه‌گیری اینها را در متغیرها آورد.
نحوه عملکرد تکرار از طریق SUMX را بررسی کرد و آن را ساده کرد تا فقط یک بار آن را انجام دهد.

 

  • sahar saha sql
  • ۰
  • ۰

تمرین هوش تجاری

من دلایل زیادی برای به اشتراک گذاری مطالب آنلاین دارم. دلایل اصلی این است که من دوست دارم آنچه را که می دانم به اشتراک بگذارم، اما همچنین می خواهم نحوه تکمیل یک کار را برای مراجع بعدی مستند کنم. مقاله امروز من هر دوی این کادرها را علامت زده است.

چند کارمند بر اساس دوره
من این مقاله را "چند کارمند بر اساس دوره" می نامم. کارکنان به دلایل مختلف می آیند و می روند. در برخی از شرکت ها، تعداد کارکنان می تواند در طول زمان تغییر کند. از اصول استفاده شده در این مقاله می توان در موارد دیگر نیز استفاده کرد. می‌تواند کارکنانی در حال حرکت به داخل و خارج از بخش‌ها، ورود و خروج پروژه‌ها، و غیره باشند. این تکنیک همچنین می‌تواند برای تعیین تعداد کارکنان در مرخصی، تعداد مرخصی مرخصی، تعداد بلیط باز شده در صف پشتیبانی استفاده شود. یا هر مفهوم دیگری که دارای تاریخ شروع و پایان در جدول معاملات باشد.

داده‌های نمایشی که در اینجا استفاده می‌کنم برای محاسبه تعداد کل کارکنانی که در هر سال به کار گرفته شده‌اند استفاده می‌شود، اما برای هر دوره زمانی دیگر به همان اندازه خوب کار می‌کند.

هر بار که در گذشته این مشکل را حل کرده‌ام، از ابتدا شروع کرده‌ام و باید در مورد رفتار فیلترینگ مورد نیاز قبل از نوشتن DAX فکر می‌کردم. این آخرین باری است که این کار را انجام می دهم :-). در عوض، اکنون می‌توانم دوباره اینجا را بررسی کنم تا رفتار فیلترینگ دقیق مورد نیاز را پیدا کنم.

مشکل توضیح داده شد
جدول زیر کارمندان را در نظر بگیرید. توجه داشته باشید که این یک لیست منحصر به فرد از کارمندان است و یک ستون تاریخ شروع (شروع) و پایان (خروج) وجود دارد.

هدف این است که تعداد کارمندان در یک سال معین را پیدا کنید. برای درک بهتر این موضوع، به نوارهای سبز اضافه شده در زیر نگاهی بیندازید. نوارهای سبز بازه زمانی اشتغال را پوشش می دهند.

 

کارمندان

همانطور که در بالا مشاهده می کنید، در سال 2019 تعداد کارکنان 4 نفر است.

1: Odele در سال 2017 شروع به کار کرد و هنوز هم مشغول به کار است
7: مارجوری در سال 2018 شروع به کار کرد و در اوایل سال 2022 ترک کرد
689: اولریک در سال 2017 آغاز شد و در سال 2020 ترک کرد
762: بلیسیا در سال 2017 شروع به کار کرد و در اوایل سال 2019 ترک کرد. او در سال 2019 شاغل بود زیرا حداقل 1 روز از آن سال آنجا بود، حتی اگر در آن سال آنجا را ترک کرد.

 

Employees
راه حل مشکل او
حل این مشکل با استفاده از روابط ممکن نیست. یک رابطه برای فشار دادن یک فیلتر از یک جدول (در این مورد یک جدول تقویم) به جدول دیگر طراحی شده است. استفاده از روابط در این مورد کارساز نخواهد بود، زیرا لازمه فیلتر کردن محدوده ای از تاریخ ها، بین تاریخ های شروع و پایان است.

بنابراین راه حل این است که تاریخ شروع و پایان دوره (در این مورد سال) را از جدول تقویم «برداشت» کنید و سپس از تاریخ شروع و پایان برای قرار دادن فیلترها بر روی جدول کارمندان با استفاده از فیلترهای مبتنی بر فرمول استفاده کنید – بدون نیاز به رابطه. من قصد ندارم راه حل را گام به گام بنویسم. برای آن باید ویدیو را تماشا کنید اما چیزی که در زیر نشان دادم منطق فیلتر نهایی است که مورد نیاز است و همچنین ساختار فرمول DAX. این کار باعث می‌شود که بعداً وقتی به راه‌حلی سریع و صحیح برای مشکل نیاز دارید، به اینجا مراجعه کنید.

 

Total Employees =
VAR LastDateInPeriod =
    MAX ( 'Calendar'[Date] )
VAR FirstDateInPeriod =
    MIN ( 'Calendar'[Date] )
VAR Result =
    CALCULATE (
        COUNTROWS ( Employees ),
        Employees[Commenced] <= LastDateInPeriod, 
        OR ( Employees[Departed] >= FirstDateInPeriod, ISBLANK ( Employees[Departed] ) )
    )
RETURN
    Result

 

 

  • sahar saha sql