آموزش پیاده سازی سطح دسترسی در Power BI
حال که داشبوردهای زیادی ساخته و آماده کرده ایم، چگونه به افراد مختلف برای نمایش داده ها دسترسی بدهیم؟ البته Power BI هنوز قابلیت های زیادی برای پیاده سازی سطح دسترسی ندارد اما من در این بخش مواردی که قابل استفاده هستند را توضیح خواهم داد.
جدولی به شکل زیر در اکسل داریم که اطلاعات مالی دوره ای شرکت های یک هلدینگ را نگهداری می کند. قطعاً نمی خواهیم هرفردی که وارد داشبورد می شود تمام داده های شرکت ها را ببیند. درواقع هرفرد مسئول، مدیر و یا کنترل کننده اطلاعات یک شرکت است.
قبل از شروع کار پیشنهاد می کنم تا جای ممکن داده های خود را به جداول اکسلی تبدیل کنید تا بروزرسانی و بزرگ و کوچک شدن جدول بطور خودکار و با Refresh کردن در Power BI بروزرسانی شود. به تصویر زیر نگاه کنید. جدول داده ها را در اکسل به Table تبدیل کرده ایم و نام آن را گزارش گذاشته ایم.
حالا به سراغ Power BI می رویم تا مراحل کار را آنجا دنبال کنیم:
ابتدا از Get Data جدول اکسلی را وارد نرم افزار Power BI می کنیم.
در این مرحله من برای شما یک گزارش ساده از داده های اکسل جدول قبلی ایجاد کرده ام. همانطور که می بینید در این صفحه تمام داده ها، شرکت ها و اعداد و ارقام هلدینگ دیده می شوند. اما این خواسته ما نیست و باید هرفردی داده های مجاز خودش را ببیند و به بدهی / طلب و اطلاعات سایر شرکت ها دسترسی نداشته باشد.
تا این لحظه (فوریه 2020 – بهمن 1398) سطح دسترسی در Power BI بر روی صفحه ها (Page) و نمودار ها (Visual) قابل تعریف نیست. در واقع هرفردی که وارد گزارش شود تمام صفحات و نمودار ها را مشاهده خواهد کرد. اما می توان سطح دسترسی بر روی دادها و سطر های جداول ورودی تعریف کرد و نمایش داده ها در نمودار ها را وابسته به فردی که وارد گزارش شده تغییر داد. به این مدل از سطح دسترسی RLS یا Row Level Security گفته می شود. ابتدا باید در گزارش خود Role ایجاد کنید. هر Role سطح دسترسی خود را برای رکوردهایی از جدول خواهد داشت. سپس در Report Server کاربران را به Role ها اضافه می کنیم یا در واقع برای هر کاربر نقش (Role) تعریف می کنیم. برای پیاده سازی RLS مراحل زیر را دنبال کنید.
1- از زبانه Modeling وارد بخش Security شوید.
2- گزینه Manage Roles را بزنید. (شروع به ایجاد Role در گزارش)
3- گزینه Create را بزنید.
4- برای Role یا نقشی که درحال ساخت آن هستید فیلتر روی داده ها تعریف کنید.
5- تعریف فیلتر بر روی ستون [عنوان شرکت] جدول های مورد نظر:
6- در این مرحله من یک فیلتر تعریف کردم و مقدار عنوان شرکت را برابر راه سازان قرار دادم. اما با توجه به اینکه هردو مورد فارسی هستند کمی به هم ریختگی بوجود آمد، بنابراین من این شرط را در دوخط نوشتم تا ظاهر بهتری داشته باشد.
7- از این گزینه برای چک کردن صحت املای فرمول خود استفاده کنید.
8- برای Role ساخته شده یک نام مناسب ایجاد کنید.
9- Role ساخته شده را ذخیره کنید.
حال می توانید Role ساخته شده را تست کنید. کافیست وارد گزینه View as Roles شوید و Role مورد نظر خود را انتخاب کنید:
همانطور که در تصویر زیر مشاهده می کنید وارد شدن با نقش Mr Ahmadi که نام Role ای بود که در مراحل قبلی ساختیم، داده های زیر نمایش داده می شوند. اکنون اطلاعات سایر شرکت ها از دید کاربرانی که به این Role اضافه می شوند مخفی خواهد شد.
نکته: هر گزارشی که در Power BI Report Server قرار می دهید تمام Role های آن به محیط Server منتقل می شوند و باید کاربران را به Role های مورد نظر خودشان وصل کنید تا نتیجه کار بخوبی دیده شود و عملیاتی شود.
درباره پوریا بغدادی
من مباحث BI را در دانشگاه تهران آموخته ام. مجری و مشاور سیستم های هوش تجاری (BI) هستم. آموزش را برای علاقه شخصی پی میگیرم.
نوشته های بیشتر از پوریا بغدادیمطالب زیر را حتما بخوانید
-
نمونه پروژه داده های اقتصادی با Power BI
429 بازدید
-
نمونه پروژه قند مواد غذایی با Power BI
542 بازدید
-
اولین مسابقه طراحی داشبورد با Power BI
1.04k بازدید
-
همه چیز در باره اسلایسر Slicer در Power BI
606 بازدید
-
دوره رایگان آموزش Power BI پاوربی آی
2.12k بازدید
-
پروژه مدیریت مواد اولیه و تولید با Power BI
5.73k بازدید
عالی بود
خداروشکر
چرا وقت ملتو میگیرین؟
اینی که نوشتین رو که خودمونم دیدیم و میدونیم.
چه جوری سطح دسترسی بدیم؟ تعریف رل که خب از قبل هم معلومه.
خدایی فازت چیه آقای بغدادی؟
همه آموزشات بدیهیه! چیزاییه که معلومه و فکر میکنی چشم بسته داری غیب میگی یا خیلی چیز خفنی داری یاد میدی.
به خدا دیگران میفهمن چند چندی، حالا ممکنه به روت هم نیارن. خداییش فاز خفنیت نداشته باش.
والا همه مواردی که در نرم افزار ها تدریس میشه به قول خودتون “دیدیم و میدونیم” کسی از غیب چیزی نمی تونه بگه. شما از عنوان مطلب باید متوجه بشید که بلد هستید و وارد نشوید که وقتتون گرفته نشه. 🙂 اینو من برای افرادی که نمی دونن و ندیدن گفتم.
با سلام با تشکر از اموزش خوبتون
سوالی که ممنون میشم منو راهنمایی بفرمایید که چطوری می شه در محیط report server که تحت وب هست کاربر تعریف کرد؟
با فرض اینکه شبکه سازمانی که در آن هستیم به صورت دامین نیست و ورک گروپی هست
سلام و سپاس از لطف شما
در خود سیستمی که این Server را راه اندازی کرده اید می توانید کاربر تعریف کنید. User
ببخشید متوجه نشدم ، سیستم خودم یا مدیرم؟
با سلام و تشکر از آموزش های خوبتون
یک سوال داشتم
در report server، چطور می تونم کاربری ایجاد کنم که وقتی sign in می کنه، فقط امکان مشاهده گزارشات رو داشته باشه و امکان ویرایش نداشته باشه؟ ممنون میشم اگه راهنمایی کنید. من در قسمت security یک گروه تحت عنوان system user ایجاد کردم ولی نمی دونم دقیقا چطور به عنوان اون کاربروارد بشم و اینکه آیا اصلا مسیر رو درست رفتم یا نه
ممنون میشم اگه راهنمایی کنید
اگر کاربری که وارد می شود ادمین نباشد یا دسترسی ادمین در ریپورت سرور نداشته باشد نمی تواند گزارش ها را دانلود کند. امکان ویرایش هم بدون دانلود میسر نیست.