Web Intelligence، از اولین ورود تا گزارشهایی که عامل هوش مصنوعی میسازد
راهنمای رسمی کاربر بیش از 1,000 صفحه است و بهصورت مرجع نوشته شده. این دوره آن را به یک مسیر یادگیری تبدیل میکند. از خواندن یک گزارش شروع میکنید، به publication، چند منبع داده و نحو پیشرفتهٔ فرمول میرسید، و در پایان یاد میگیرید با REST API و عاملهای هوش مصنوعی گزارشها را سریعتر بسازید و آزمایش کنید. هر ماژول بر پایهٔ ماژول قبلی است.
5سطح23ماژول138مبحث40پرسش آزمون
سطحها را به ترتیب دنبال کنیدسطح 1 برای همهٔ خوانندگان گزارش است. سطح 4 برای کسانی است که گزارش میسازند و نگهداری میکنند. سطح 5 برای کسانی است که میخواهند ساخت گزارش را به عاملهای هوش مصنوعی بسپارند.
مسیر منوها این شکلی استAnalysis›Filters›Filter یعنی: زبانهٔ Analysis، سپس Filters، سپس Filter. نام منوها و دکمهها انگلیسی ماندهاند تا با آنچه روی صفحه میبینید یکی باشند.
یک مجموعه دادهٔ نمونهمثالها از universe فروش به سبک eFashion استفاده میکنند: Year، Quarter، State، City، Store، Sales revenue، Quantity sold، Margin.
سطح هر مبحث مشخص استمبتدیمتوسطپیشرفته
1
مبانی
با محیط آشنا شوید، گزارش بخوانید و اولین کوئری و جدول خود را بسازید.
منابع: SAP BusinessObjects Web Intelligence User's Guide، نسخهٔ 4.3 Support Package 5 (30 ژوئن 2025) برای سطحهای 1 تا 4؛ و SAP BusinessObjects RESTful Web Service SDK User Guide for Web Intelligence and the BI Semantic Layer، نسخهٔ BI 4.3، برای ماژولهای API در سطح 5. ماژولهای 21 تا 23 راهنمای Claude است، نه متن SAP. نام منوها ممکن است در Support Package شما، یا در رابط وب در مقایسه با Rich Client، کمی متفاوت باشد. پیشرفت شما فقط در همین مرورگر ذخیره میشود.
1سطح 1 · مبانی · ماژول 1 از 23
آشنایی با Web Intelligence
این ابزار چیست، کجاست و در چه حالتهایی با آن کار میکنید.
1.1
Web Intelligence چیست
مبتدی
Web Intelligence (که اغلب «WebI» نامیده میشود) ابزاری on-premise برای گزارشسازی و ساخت داشبورد است که برای کاربران کسبوکار طراحی شده است. میتوانید در وب، روی رایانهٔ رومیزی یا روی دستگاه همراه با آن کار کنید. طبق راهنما، این ابزار به شما امکان میدهد دادهها را فیلتر کنید، برای جزئیات بیشتر به عمق داده بروید (drill down)، دادههای چند منبع را ادغام کنید و دادهها را در قالب نمودار نمایش دهید. آنچه واقعاً میتوانید انجام دهید به مجوز (licence)، حقوق کاربری و حقوق امنیتی شما بستگی دارد.
واژههای کلیدی که همهجا میبینید:
سند (Document): فایلی که باز میکنید. یک یا چند گزارش (report) را در خود دارد (که بهصورت زبانه نمایش داده میشوند).
کوئری (Query): یک پرسش کسبوکاری که از برنامه میپرسید. کوئری دادهها را بازیابی میکند. مثال: حاشیهٔ سود فروش برای هر محصول در یک بازهٔ زمانی.
اشیاء (Objects): قطعههای ازپیشتعریفشدهٔ داده که برای ساختن کوئری انتخاب میکنید (بُعدها، سنجهها و مانند آن).
منبع داده (Data source): جایی که دادهها در آن ذخیره شدهاند. مثالها: universeها (.unx و .unv)، سندهای موجود Web Intelligence، فایلهای Excel یا متنی، Google Sheets، کوئریهای BEx، نماهای SAP HANA، فضاهای کاری Analysis View، وبسرویسهای OData، Free-Hand SQL.
تأمینکنندهٔ داده (Data provider): چیزی که برای بیرون کشیدن داده از یک منبع داده میسازید. گزارشها از دادههای موجود در تأمینکنندههای داده ساخته میشوند. میتوانید تأمینکنندههای داده را ادغام کنید و با زبان فرمول از آنها متغیر بسازید.
مثال کاربردی (به سبک eFashion): پرسش شما «Sales revenue و Margin بر اساس Year و State» است. این پرسش همان کوئری است. Year و State اشیاء هستند. پاسخ، جدولی را در یک گزارش پر میکند.
Gotchas
مدیر سیستم (در CMC) میتواند پنلها، پنجرهها، جعبهابزارها، منوها و گزینههای منو را پنهان کند. اگر چیزی از این راهنما را در محیط خود نمیبینید، از مدیر CMC خود بپرسید.
فیلدهای ورودی برای وارد کردن دادههای شخصی در نظر گرفته نشدهاند. راهنما همچنین میگوید برنامه برای صفحهنمایش 1920x1080 با مقیاس 100% بهینه شده است.
1.2
BI launch pad
مبتدی
BI launch pad درگاه وبی است که به آن وارد میشوید. از آنجا سندها را پیدا میکنید، Web Intelligence را اجرا میکنید و تنظیمات خود را انجام میدهید.
این درگاه پنج زبانه دارد: Home، Favorites، Recent Documents، Recently Run و Applications. زبانهٔ Home شش کاشی (tile) دارد: Folders، Categories، Documents، BI Inbox، Instances و Recycle Bin. شما بهعنوان کاربر Web Intelligence بیشتر از Documents، Folders و Instances استفاده میکنید. منوی actions در کنار هر سند به شما امکان میدهد آن را ببینید، سازماندهی کنید، زمانبندی کنید، ارسال کنید، ویرایش کنید و مدیریت کنید.
ورود به سیستم
نشانی (برای مثال http://[hostname]:8080/BOE/BI)، نام کاربری، گذرواژه و نوع احراز هویت را از مدیر سیستم خود بگیرید.
یک مرورگر وب باز کنید و به نشانی BI launch pad بروید.
اگر کادر System خالی است، نام سرور، یک دونقطه (:) و سپس شمارهٔ پورت را تایپ کنید. پورت پیشفرض 6400 است.
نام خود را در Username و گذرواژه را در Password تایپ کنید.
اگر فهرست Authentication وجود دارد، نوعی را که مدیر سیستم به شما داده است انتخاب کنید.
روی Sign In کلیک کنید. صفحهٔ اصلی BI launch pad نمایش داده میشود.
خروج از سیستم
روی آیکون گوشهٔ بالا سمت راست کلیک کنید و سپس روی Log Out کلیک کنید. فقط مرورگر را نبندید. خروج درست باعث میشود تنظیماتی که تغییر دادهاید ذخیره شوند.
اجرای Web Intelligence
یکی از این کارها را انجام دهید:
روی Applications›Web Intelligence کلیک کنید.
Web Intelligence را در میانبرهای برنامه انتخاب کنید.
باز کردن سند از مخزن (repository)
روی کاشی Documents (همهٔ سندها) کلیک کنید، یا روی کاشی Folders کلیک کنید و با نمای درختی به پوشهٔ موردنظر بروید.
منوی actions کنار سند را باز کنید و سپس View (باز شدن در حالت Reading) یا Modify (باز شدن در حالت Design) را برگزینید.
حذف یک سند
از طریق کاشی Documents یا Folders به سند بروید.
منوی actions را باز کنید (یا راستکلیک کنید) و سپس روی Delete کلیک کنید. برای تأیید روی OK کلیک کنید. برای حذف باید مجوز داشته باشید.
مثال کاربردی: وارد سیستم میشوید، روی کاشی Folders کلیک میکنید، سند «eFashion Sales by Region» را پیدا میکنید و View را برمیگزینید. سند در حالت Reading باز میشود و آمادهٔ خواندن است.
Gotchas
بهطور پیشفرض، نام سرور در صفحهٔ ورود نمایش داده نمیشود.
اگر گزینهٔ Refresh on open در ویژگیهای سند فعال باشد، سند هر بار که باز میشود تازهترین دادهها را نشان میدهد. این موضوع به تنظیمات CMC که در اختیار مدیر سیستم است نیز بستگی دارد (تنظیم امنیتی Automatic Refresh و حق «Document - disable automatic refresh on open»).
View حالت Reading را باز میکند. Modify حالت Design را باز میکند.
1.3
دو رابط کاربری: web client و Rich Client
مبتدی
رابطهای Java Applet و DHTML دیگر وجود ندارند. در 4.3 دو کلاینت وجود دارد که هر دو از یک رابط کاربری بازطراحیشده استفاده میکنند.
کلاینت
محل اجرا
Web Intelligence web client
در مرورگر شما، با اجرا از BI launch pad. بدون نیاز به نصب.
Web Intelligence Rich Client
یک برنامهٔ رومیزی که روی رایانهٔ شما نصب میشود.
طبق راهنما، Rich Client همان امکانات و قابلیتهای web client را دارد. تفاوتهایی که راهنما فهرست میکند:
استفادهٔ محلی و آفلاین: Rich Client.
ساختن کوئری روی فایلهای Excel یا متنی ذخیرهشده روی رایانهٔ خودتان: فقط Rich Client. فایلهای Excel و متنی ذخیرهشده در CMS در هر دو کار میکنند. فایلهای روی Google Drive در هر دو کار میکنند (در Rich Client فقط در حالت آنلاین).
ارسال سند برای کاربر دیگری در BI platform: فقط web client.
ذخیرهٔ سند در مخزن BI platform: در web client بهطور مستقیم. در Rich Client ابتدا بهصورت محلی ذخیره میکنید و سپس منتشر (publish) میکنید، آن هم فقط در حالت آنلاین.
انتخاب پوشههای محلی پیشفرض برای سندها و universeها: فقط Rich Client.
کوئریهای SAP HANA، BEx، Free-Hand SQL و Google Sheets در Rich Client: فقط در حالت آنلاین.
خروجی گرفتن به .csv، .pdf، .txt، .xlsx یا .html: هر دو.
Rich Client را وقتی انتخاب کنید که: نمیخواهید CMS یا سرور برنامه نصب کنید، به CMS دسترسی ندارید (در سفر هستید یا شبکه ندارید)، میخواهید در زمان مشکلات سرور به کار ادامه دهید، یا کارایی بهتری در محاسبات میخواهید.
web client و Rich Client نوار ابزار اصلی، پنلها و حالتهای یکسانی دارند (بخشهای 5 و 6 را ببینید).
مثال کاربردی: گزارش هفتگی eFashion خود را در web client میخوانید (بدون نصب). وقتی لازم است کوئریای روی یک فایل Excel ذخیرهشده در رایانهٔ خودتان اضافه کنید، باید از Rich Client استفاده کنید، چون web client نمیتواند روی فایلهای Excel ذخیرهشده بهصورت محلی کوئری بسازد.
Gotchas
Rich Client محدودیتهایی دارد: میتوانید یادداشتهایی (comments) را که در web client نوشته شدهاند ببینید، اما نمیتوانید آنها را بسازید یا ویرایش کنید؛ وارد کردن (import) universeها پشتیبانی نمیشود؛ راهنمای داخلی، منوی Change Password، حالت تمامصفحه و Send by Email وجود ندارد.
نمیتوانید Rich Client و یک سرور BI platform را روی یک دستگاه نصب کنید.
1.4
محل تنظیم ترجیحات و حالت باز شدن سند
مبتدی
در 4.3 انتخاب رابط برای View و Modify (HTML، Applet، Desktop، PDF) دیگر وجود ندارد، چون فقط یک رابط وب هست. ترجیحات اکنون زیر Settings در BI launch pad قرار دارند.
آنچه هنوز انتخاب میکنید:
اینکه کدام کلاینت سند را برای ویرایش باز کند. در Settings›Application Preferences›Web Intelligence، گزینهٔ Open in Edit Mode به شما اجازه میدهد Rich Client را انتخاب کنید (پس از اینکه آن را دانلود و نصب کردید).
دیگر ترجیحات Web Intelligence در همان صفحه: locale مورد استفاده برای قالببندی دادهها، جهت ترجیحی سند، واحد اندازهگیری، گزینههای drill و ترجیحات Excel.
تغییر تنظیمات
در BI launch pad، Settings را باز کنید.
زیر Application Preferences، زبانهٔ Web Intelligence را انتخاب کنید.
گزینهها را تغییر دهید و ذخیره کنید.
Gotcha: View از منوی actions همیشه حالت Reading را باز میکند. ساختن سند جدید یا انتخاب Modify حالت Design را باز میکند.
1.5
حالتهای Reading، Design، Structure و Data
مبتدی
حالت (mode) تعیین میکند چه کارهایی میتوانید انجام دهید. با فهرست کشویی مخصوص در سمت راست نوار ابزار بین حالتها جابهجا شوید. Reading یعنی «دیدن و کاوش کردن»، Design یعنی «ساختن و تغییر دادن»، Structure یعنی «ساختن بدون داده» و Data یعنی «آمادهسازی مجموعهدادهها».
حالت
کارهایی که میتوانید انجام دهید
Reading
مشاهدهٔ گزارشها. ردیابی تغییرات. تغییر مقادیر فیلتر با نوار فیلتر. Drill. جمع کردن و باز کردن دادهها. دسترسی به تنظیمات تازهسازی خودکار.
Design (که Edit mode هم نامیده میشود)
طیف گستردهای از کارهای تحلیلی. افزودن و حذف اجزای گزارش مانند جدولها و نمودارها. اعمال قالببندی شرطی. افزودن فرمولها و متغیرها. کار روی ساختار گزارش یا روی گزارش همراه با داده.
Structure
همانند Design، اما فقط با فراداده (metadata). اسکلت گزارش را میبینید.
Data
آمادهسازی مجموعهدادهها. با مکعبها (cubes) کار میکنید: دیدن مجموعهدادهها، تبدیل مقادیر، ساختن مکعبهای فرزند، ترکیب مکعبها، پنهان کردن مکعبها و اشیاء.
میانبرهای راهنما: Alt + 1 برای Reading، Alt + 2 برای Design، Alt + 3 برای Design/Structure، Alt + 4 برای Data (در Mac: Opt).
Instant Apply: در حالت Design میتوانید Instant Apply را روشن کنید تا هر تغییری در گزارش یا قالب، بیدرنگ و بدون کلیک روی Apply اعمال شود.
مثال کاربردی: یک مدیر سند eFashion را در حالت Reading باز میکند و از Year به Quarter drill میکند. یک تحلیلگر به حالت Structure میرود، یک ستون Margin اضافه میکند و سپس به Design برمیگردد تا آن را همراه با داده ببیند.
Gotchas
بدون حق «Reporting - enable formatting»، حالتهای Design و Data در دسترس نیستند.
راهنما توصیه میکند وقتی تغییرات زیادی میدهید با ساختار کار کنید و در پایان گزارش را با داده پر کنید.
حالت Data از سنجههای واگذارشده (delegated measures) پشتیبانی نمیکند.
1.6
چیدمان صفحه و پنل اصلی
مبتدی
اجزا:
Main toolbar: شش بخش دارد: File، Data، Insert، Analyze، Display و Navigate. با آن سندها را باز، ذخیره و چاپ میکنید، تغییرات داده را ردیابی میکنید، نوار فیلتر را نمایش میدهید، drill میکنید، قالببندی شرطی میسازید، تازهسازی میکنید، پنل کوئری را باز میکنید، دادهها را جمع و باز میکنید و مانند آن.
Filter bar: فیلترهایی را که بر دادههای شما اثر میگذارند نمایش میدهد و مدیریت میکند: کنترلهای ورودی (input controls) و گروههای آنها، promptها، فیلترها، فیلترهای drill و پیوندهای اجزا (element links).
Main panel: همیشه در حالتهای Reading و Design در دسترس است. چند پنجره (pane) را گرد هم میآورد (در ادامه).
Build panel: در حالتهای Design، Structure و Data. محتوای آن به چیزی که انتخاب کردهاید بستگی دارد. سه پنجره دارد: Data (تغذیه، فیلتر، مرتبسازی، رتبهبندی)، Format (همهٔ قالببندیها) و Properties (نام، نوع (qualification)، توضیح و نوع دادهٔ شیء انتخابشده).
Quick Access panel: میانبرهایی برای ساختن سند.
پنجرههای Main panel:
Objects: اشیای تأمینکنندههای داده. محل مدیریت متغیرها نیز همینجاست. میتوانید آنها را به ترتیب الفبایی، بر اساس پوشه یا بر اساس کوئری مرتب کنید.
Structure: اجزایی که در سند استفاده شدهاند (گزارشها، جدولها، نمودارها، سلولها).
Map: پیمایش میان بخشهای (sections) گزارشی که میبینید.
Comments: دیدن، افزودن و مدیریت یادداشتها.
Properties: ویژگیها و آمار سند، و برخی گزینهها.
Shared Elements: اجزای مشترکی که در سند استفاده شدهاند و نمونههای آنها.
برنامه تنظیماتی مانند بزرگنمایی، باز یا بسته بودن پنل، نوار فیلتر، نوار فرمول و Instant Apply را به خاطر میسپارد. این تنظیمات بر اساس اقدام هر کاربر ذخیره میشوند و هنگام ساختن سند جدید به کار میروند.
Gotcha: پنجرههای Document Summary، Navigation Map، Report Map، Input Controls، User Prompt Input، Available Objects و Web Service Publisher از نسخههای قدیمیتر در راهنمای 4.3 نیستند. از پنجرههای بالا استفاده کنید.
1.7
تنظیمات (Preferences)
مبتدی
در BI launch pad از این مسیرها استفاده کنید:
User Account›Account Information›Change Password: گذرواژهٔ قدیمی، سپس دو بار گذرواژهٔ جدید. (برنامه فقط وقتی از شما میخواهد گذرواژه را عوض کنید که خودش درخواست کند. پس از تغییر، از سیستم خارج میشوید.)
Settings›Account Preferences›Locale and Time Zone: Product Locale، Preferred Viewing Locale، Current Time Zone.
Settings›Application Preferences›Web Intelligence: locale مورد استفاده برای قالببندی دادهها، جهت ترجیحی سند، واحد اندازهگیری، گزینههای drill، ترجیحات Excel، و Open in Edit Mode (Rich Client).
دیگر تنظیمات نمایش:
Zoom: در حالت Design، روی ذرهبین در بخش Display نوار ابزار کلیک کنید و لغزنده را از 10% تا 200% تنظیم کنید. در حالت Reading، از نوار ابزار ناپدیدشونده (vanishing toolbar) در پایین گزارش استفاده کنید.
Measurement unit: Settings›Application Preferences›Web Intelligence. وقتی باید سرصفحهها یا پاصفحهها را در فضای مشخصی جا دهید، این تنظیم به کار میآید.
1سطح 1 · مبانی · ماژول 2 از 23
خواندن گزارش
هر آنچه خوانندهٔ گزارش لازم دارد: جستوجو، نمایش، ثابتکردن سرستون، جمعکردن، چاپ، ارسال و ذخیره.
2.1
نگاهی سریع به نوار ابزار حالت Reading
مبتدی
در حالت Reading، بسته به حقوق دسترسیتان، نوار ابزار به شما امکان میدهد: سندها را بسازید، باز کنید و ذخیره کنید؛ عمل را واگرد (undo) یا ازنوانجام (redo) کنید؛ خروجی بگیرید؛ سند را به علاقهمندیها اضافه کنید؛ چاپ کنید (Print)؛ ارسال کنید (Send to)؛ تازهسازی کنید؛ نوار فیلتر را نمایش دهید؛ drill کنید؛ تغییرات ردیابیشده را نشان دهید یا پنهان کنید؛ تغییرات را ردیابی کنید (Track Data Changes)؛ صفحه را بیشینه کنید (نوارهای ابزار اصلی را پنهان کنید) و نوار ابزار را سنجاق کنید؛ سرعنوانها را ثابت کنید؛ دادهها را جمع یا باز کنید؛ Presentation Mode را آغاز کنید؛ Help، Shortcuts و About را باز کنید.
نوار ابزار ناپدیدشونده در پایین گزارش این موارد را دارد: مرورگر صفحهها، بزرگنمایی، کلید جابهجایی بین quick display و print layout، Fit to width و Fit to page، و یک دکمهٔ سنجاق.
اگر دکمهای را نمیبینید، احتمالاً حقی است که مدیر سیستم به شما نداده است.
2.2
پیدا کردن متن
مبتدی
چه و چرا. دنبال یک کلمه روی صفحه بگردید، مثلاً نام یک فروشگاه.
مراحل
در Web Intelligence Rich Client، کلیدهای Ctrl+F را بزنید تا نوار جستوجو باز شود. این نوار در پنجرهٔ فعال، فهرستهای کشویی و کادرهای گفتوگو جستوجو میکند.
همهٔ موارد منطبق برجسته میشوند و تعدادشان در سمت راست نمایش داده میشود.
با فلشهای بالا و پایین بین موارد منطبق جابهجا شوید.
برای پاک کردن متن روی ضربدر آبی کلیک کنید. برای بستن نوار روی ضربدر سیاه در سمت راست کلیک کنید.
2.3
حالتهای نمایش: Quick Display و Print Layout
مبتدی
چه و چرا. سه حالت نمایش وجود دارد. Quick display پیشفرض است. صفحهبندی را بر اساس داده انجام میدهد، نه اندازهٔ کاغذ، و فقط جدولها، گزارشها و سلولهای مستقل را نشان میدهد. از آن برای تحلیل نتایج و افزودن محاسبه، break و مرتبسازی استفاده کنید. Print layout یک نسخهٔ چاپی یا PDF را با سرصفحه، پاصفحه و حاشیهها شبیهسازی میکند. از آن برای تنظیم دقیق ظاهر استفاده کنید. Presentation mode مناسب داشبوردهاست: سند را بهطور منظم refresh میکند و کنترلها را قفل میکند.
مراحل
در حالت Design، از کلید دوحالته (toggle) در نوار ابزار استفاده کنید. در حالت Reading، این کلید در نوار ابزار ناپدیدشونده در پایین بوم گزارش قرار دارد. خاموش یعنی quick display. روشن یعنی print layout.
پنل Format را وقتی هیچ چیز روی بوم انتخاب نشده باز کنید. Rows و Columns (رکوردهای quick display) یا Size، Orientation، Margins، Adjust to و Fit to (برای print layout) را تنظیم کنید.
برای presentation mode، در حالت Design به بخش Display نوار ابزار بروید و Presentation Mode را انتخاب کنید. در حالت Reading، روی دکمهٔ آن در بخش Display کلیک کنید. گزینهها: Auto-refresh every، Switch reports after، Display in fullscreen، Show reports tabs، Show refresh bar، All reports.
بزرگنمایی: در حالت Design، از ذرهبین در بخش Display استفاده کنید. بازهٔ آن 10% تا 200% است.
2.4
ثابت کردن سرعنوانها، سطرها و ستونها
متوسط
ثابت کردن (freeze) بخشی از جدول را هنگام پیمایش روی صفحه نگه میدارد. از آن در جدولهای طولانی استفاده کنید تا نام ستونها همیشه دیده شوند.
نوع جدول
بخشهایی که میتوانید ثابت کنید
جدول عمودی (Vertical table)
سطرهای سرعنوان و ستونها
جدول افقی (Horizontal table)
ستونهای سرعنوان و سطرها
Cross table
سطرهای سرعنوان و ستونهای سرعنوان
میتوانید تا 5 سطر یا ستون داده را ثابت کنید.
ثابت کردن سرعنوانها
در بخش Display نوار ابزار، روی آیکون Freeze headers کلیک کنید. بهطور پیشفرض، این کار سرعنوانهای همهٔ جدولهای گزارش را ثابت میکند.
برای کنترل بیشتر: در حالت Reading روی جدول راستکلیک کنید و از منوی quick actions استفاده کنید. در حالت Design جدول را انتخاب کنید، روی آن راستکلیک کنید و روی Freeze Headers کلیک کنید.
در کادر گفتوگو، برای جدول عمودی انتخاب کنید که سطرهای سرعنوان ثابت شوند یا نه و چند ستون ثابت شود. برای جدول افقی، ستونهای سرعنوان و تعداد سطرهای بالایی را انتخاب کنید. برای cross table، ستونهای سرعنوان، سطرهای سرعنوان یا هر دو را انتخاب کنید.
برداشتن حالت ثابت
روی همان آیکون Freeze headers کلیک کنید. وقتی چیزی ثابت شده باشد، این آیکون آبی است. کلیک روی آن همهچیز را از حالت ثابت خارج میکند.
برای کنترل دقیق، از همان کادر گفتوگو استفاده کنید و برای ستونها یا سطرهای بالایی عدد 0 را وارد کنید.
مثال کاربردی: یک جدول عمودی Store، Product line، Sales revenue و Margin را در صدها سطر فهرست میکند. روی آیکون Freeze headers کلیک کنید تا عنوان ستونها هنگام پیمایش در دید بمانند. در کادر گفتوگو برای ستونها عدد 1 را وارد کنید تا Store هم دیده شود.
Gotcha: این قابلیت هم در حالت Reading و هم در حالت Design کار میکند.
2.5
جمع کردن و باز کردن (Fold / Unfold)
متوسط
جمع کردن (fold) جزئیات را پنهان میکند تا خلاصه را ببینید. در 4.3 دکمهٔ Outline جای خود را به Fold / Unfold داده است.
بخش (section) جمعشده: جزئیات پنهان میشوند و فقط سلولهای مستقل نمایش داده میشوند.
جدول یا شکست (break) جمعشده: سطرها پنهان میشوند و فقط سرعنوانها و پانویسها نمایش داده میشوند. برای جمع کردن جدول، جدول باید سرعنوان و پانویس داشته باشد.
جدولهای عمودی، افقی و cross tableها را میتوان جمع کرد.
یک شکست جدول فقط وقتی قابل جمع کردن است که ویژگی Enable fold/unfold آن روشن باشد.
مراحل
در بخش Display نوار ابزار، در حالت Reading روی آیکون fold/unfold کلیک کنید. در حالت Design روی آیکون منو کلیک کنید و Fold / Unfold را انتخاب کنید.
روی آیکونهای جمع کردن و باز کردن جدولها، شکستها و بخشها کلیک کنید. یک آیکون جداگانه برای cross tableها وجود دارد: پس از کلیک روی آن، سطرها یا ستونها را انتخاب کنید.
برای نمایش دوبارهٔ محتوای پنهان: روی گزارش راستکلیک کنید و روی Hide›Show All Hidden Content کلیک کنید.
مثال کاربردی: گزارشی برای هر State یک بخش با جدولی از Cityها دارد. fold/unfold را روشن کنید و همهٔ بخشهای State را جمع کنید. فقط سلولهای مستقل هر State را میبینید (برای مثال مجموع Sales revenue آن). فقط California را باز کنید تا شهرهایش را ببینید.
Gotcha: جمع کردن و باز کردن روی دستگاههای همراه پشتیبانی نمیشود.
2.6
چاپ
مبتدی
با Print یک یا چند گزارش را به یک فایل PDF قابل چاپ میفرستید. برنامه ابتدا PDF را تولید میکند.
یک سند باز کنید.
در بخش File نوار ابزار، روی آیکون منو و سپس روی Print کلیک کنید (میانبر Ctrl+P).
گزینههای چاپ را تنظیم کنید و روی Print کلیک کنید تا PDF تولید شود.
PDF را باز و چاپ کنید.
Gotchas
هنگام چاپ، برنامه گزارش را به print layout میبرد و quick display را کنار میگذارد.
اگر گزارش از عرض کاغذی که در چیدمان تعیین شده پهنتر باشد، شکست صفحه (page break) درج میشود.
اندازه و جهت کاغذ چاپی ممکن است با آنچه در Rich Client میبینید متفاوت باشد.
Save As فقط در قالب .wid ذخیره میکند. برای گرفتن PDF، Excel، متن، CSV یا HTML از Export استفاده کنید (بخش 21).
2.7
ارسال سند
متوسط
از SAP BI 4.3 SP3 Patch 1، یک فرمان واحد سند را به BI Inbox، ایمیل، سرور FTP، سرور SFTP یا سیستم فایل میفرستد.
یک سند باز کنید.
در بخش File نوار ابزار، روی آیکون منو و سپس روی Send to کلیک کنید.
در کادر گفتوگوی Send to، مقصد را با زبانهها انتخاب کنید.
گزینههای آن مقصد را تنظیم کنید.
روی Send کلیک کنید.
Gotchas
مقصدها را مدیران سیستم در CMC تعریف میکنند. اگر پروفایل شما اجازهٔ یک مقصد را ندهد، آن مقصد یا دیده نمیشود یا خطا میدهد.
Rich Client از Send by Email پشتیبانی نمیکند و نمیتواند سند را برای کاربر دیگری در BI platform بفرستد.
حق Send to شامل Scheduler، صندوق ورودی BI platform (Inbox) و پیوندها در ایمیل نیز میشود.
2.8
ذخیره و خروجی گرفتن
مبتدی
Save As (در بخش File، آیکون منو > Save As) سند را فقط در قالب .wid ذخیره میکند. به پوشهٔ موردنظر بروید و نامی بدهید، سپس در صورت نیاز توضیح و کلیدواژه اضافه کنید، Refresh on open را تیک بزنید، Permanent regional formatting را تیک بزنید، Save document with comments را تیک بزنید و Categories را انتخاب کنید. روی Save کلیک کنید.
فقط میتوانید در یک پوشهٔ عمومی که حق ذخیره در آن را دارید، یا در پوشهٔ شخصی خود ذخیره کنید. اگر حق ویرایش ندارید، با Save As یک نسخه بسازید. نمیتوانید یک نمونهٔ زمانبندیشده (scheduled instance) را ویرایش و ذخیره کنید.
اگر بدون ذخیره ببندید، از شما خواسته میشود ذخیره کنید.
Export (آیکون منو > Export) فایلهای .pdf، .csv، .xlsx، .txt یا .html میسازد. در پنل کناری قالب را انتخاب کنید، گزارشها را تیک بزنید، زبانهٔ Options را برای Excel، PDF یا CSV تنظیم کنید و سپس روی Export کلیک کنید. فایل روی رایانهٔ شما ساخته میشود. برای Excel یا CSV میتوانید با انتخاب دکمهٔ رادیویی Data، از مجموعهدادهها خروجی بگیرید.
در حالت Reading نمیتوانید از گزارشهای پنهان خروجی بگیرید.
حقوق خروجی گرفتن: Export the report's data شامل Text، CSV، Excel، PDF و HTML میشود. Export the cube's data فقط CSV را پوشش میدهد. حقوق دسترسی همچنین Refresh the report's data، Edit query و Send to را کنترل میکنند.
در Rich Client، Save همیشه روی رایانهٔ شما ذخیره میکند. برای ساختن نسخه از Save Copy و برای قرار دادن سند در یک پوشهٔ CMS از Publish to BI Platform Repository (فقط در حالت آنلاین) استفاده کنید (بخش 23).
Gotchas
وقتی Refresh on open روشن باشد، دادههای سند هنگام ذخیره پاک (purge) میشوند و هر بار که سند باز میشود تازهسازی انجام میشود.
خروجی Excel به 16383 ستون محدود است. خروجی متنی بهطور پیشفرض به 5 MB محدود است (تنظیم CMC).
2.9
آیکونهای هشدار نمودار
متوسط
آیکونهای کوچکی مشکلات نمودار را نشان میدهند. این آیکونها در گوشهٔ بالا سمت چپ نمودار ظاهر میشوند:
X قرمز روی زمینهٔ سفید: نمودار قابل تولید نیست (ممکن است به حافظهٔ نهان مربوط باشد؛ پاک کردن اشیای موقت را امتحان کنید).
X سفید در دایرهٔ قرمز: تصویر پیدا نشد. از مدیر BI بخواهید متعادلسازی بار (load balancing) و پایش سرویسها را بررسی کند.
هشدار زرد: برای مثال مجموعهداده بیش از حد بزرگ است، نیاز به تازهسازی هست، یا دیگر خطاهای مکعب (cube).
هشدار آبی: رسیدن به حد نمایش بهینه.
آیکون زرد کوچک روی یک نقطهٔ داده: داده با نمودار سازگار نیست (برای مثال مقادیر منفی در نمودار دایرهای، مقیاس لگاریتمی، یا مقادیر ناسازگار در tree map)، به شرطی که گزینهٔ Show alert when incompatible data present روشن باشد.
برای روشن یا خاموش کردن هشدار دادهٔ ناسازگار: پنل Format > زبانهٔ Display Settings > بخش Errors and Warnings.
Gotchas
حداکثر 50,000 سطر برای نمودارها. فقط بخشی از دادهها همراه با یک هشدار و یک راهنمای ابزار (tooltip) رسم میشود. این مقدار در کد ثابت شده و قابل تغییر نیست.
ویژگی سند Hide warning icons in chart آیکونهای هشدار عمومی را خاموش میکند.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1یکی از همکاران میگوید: «از رابط Applet استفاده میکنم تا روی یک فایل Excel محلی مدل بسازم.» در 4.3 کدام گزینه درست است؟
در 4.3 فقط web client و Rich Client وجود دارند. ساختن کوئری روی فایلهای Excel یا متنی ذخیرهشده بهصورت محلی، قابلیتی مخصوص Rich Client است.
Q2باید پیش از آنکه به اعداد نیاز داشته باشید، ساختار یک جدول را بسیار ویرایش کنید. بهترین روش چیست؟
حالت Structure فقط با فراداده کار میکند. راهنما توصیه میکند برای تغییرات زیاد با ساختار کار کنید و در پایان دادهها را اضافه کنید.
Q3یکی از همتیمیها در هواپیما و بدون شبکه کار میکند. او پیشتر چه کاری باید انجام داده باشد تا حالت Offline با سندی که با امنیت CMS محافظت میشود کار کند؟
حالت Offline امنیت CMS را از یک فایل LSI محلی اعمال میکند که با یک نشست آنلاین قبلی ساخته میشود.
Q4هنگام ساختن یک گزارش جدید که هرگز ذخیرهاش نکرده بودید، مهلت نشست شما تمام شد. چه کاری میتوانید انجام دهید؟
بازیابی سند، سندهای جدید و موجودی را که مهلت نشستشان تمام شده پوشش میدهد. نسخههای بازیابیشده بهطور پیشفرض 24 ساعت نگه داشته میشوند.
1سطح 1 · مبانی · ماژول 3 از 23
اولین کوئری شما
از universe شیء انتخاب کنید، کوئری را اجرا و بهروزرسانی کنید.
3.1
کوئری چیست و داده از کجا میآید
مبتدی
کوئری (query) پرسشی است که از پایگاه داده میپرسید. آن را در Query Panel میسازید و اشیای مورد نیازتان را انتخاب میکنید. سپس آن را اجرا میکنید و پاسخ به یک گزارش برمیگردد. بعد میتوانید این پاسخ را بیشتر تحلیل کنید (فیلتر، رتبهبندی، نمودار). کوئری را «آوردن داده» و گزارش را «نمایش و شکلدادن به داده» در نظر بگیرید.
منابع دادهای که میتوانید از آنها شروع کنید: No data source (سند خالی)، Universe (.unx یا .unv)، سند Web Intelligence، Excel، Text، Google Sheets، SAP BW (BEx query، BW/4HANA، S/4HANA)، SAP HANA views، SAP Datasphere، Free-hand SQL، وبسرویس OData.
منابع دادهای که میتوانید استفاده کنید به کلاینت شما بستگی دارد: رابط وب (BI launch pad) یا Web Intelligence Rich Client (نسخهٔ دسکتاپ). تقریباً همهچیز در هر دو کار میکند. تفاوتها:
منبع داده
رابط وب
Rich Client
Universe، سند Web Intelligence، BW، HANA، Datasphere، Free-hand SQL، OData
بله
بله
Excel، Text
بله، اگر فایل در مخزن BI Platform، Google Drive یا Microsoft OneDrive (از جمله SharePoint Online) باشد
بله. اینجا فقط فایلهای محلی، و فقط در حالت online
Google Sheets
بله
بله (فقط در حالت online)
وقتی کوئری جدیدی میسازید یا منبعی را تغییر میدهید، کادر Select a Data Source یک فهرست Recents با 20 منبع اخیر شما دارد. میتوانید آن را بر اساس تاریخ، نام یا نوع مرتب کنید.
سند خالی (بدون منبع داده)
برای ساختن «قالب» (template) مفید است: صفحهٔ عنوان، متن کپیرایت، جدولها و نمودارهای خالیِ قالببندیشده. بعداً آن را به یک کوئری وصل میکنید.
Web Intelligence را باز کنید (در صفحهٔ اصلی BI launch pad تا Applications پایین بروید و روی Web Intelligence کلیک کنید).
در حالت Reading روی آیکون New در نوار ابزار کلیک کنید. در حالت Design، در زبانهٔ File روی آیکون New کلیک کنید. (Rich Client، تازه اجراشده: در کادر New Document روی No Data Source کلیک کنید.)
No data source را انتخاب و روی OK کلیک کنید.
Gotchas
مجوزهای شما (که مدیر BI تعیین میکند) مشخص میکنند از کدام منابع داده میتوانید استفاده کنید و آیا اجازهٔ ساخت سند دارید یا نه.
3.2
اشیایی که میتوانید در کوئری بگذارید
مبتدی
اشیا (objects) در پنل Data Outline در سمت چپ Query Panel نمایش داده میشوند. در گزارش، همین اشیا در پنل Objects دیده میشوند. میتوانید آنها را بر اساس ترتیب الفبایی، کوئری، منبع داده یا navigation path مرتب کنید.
شیء
معنی ساده
مثال
Class / subclass
پوشهای که اشیا را گروهبندی میکند
یک کلاس «Time» که Year و Quarter را در خود دارد
Dimension
دادهٔ توصیفی و غیرسلسلهمراتبی؛ هر کدام یک ستون تخت میسازد
Store name، Product line
Attribute (در universeهای .unv به آن «detail» میگویند)
توضیح اضافهای که به یک شیء والد وصل است. هر مقدار والد فقط یک مقدار attribute دارد
Age روی Customer
Measure
دادهٔ عددی که بر اساس dimensionهای موجود در کوئری محاسبه میشود
Sales revenue، Margin
Hierarchy
اعضایی که در سطوح یا به شکل والد-فرزند چیده شدهاند؛ یک ستون بازشدنی میسازد. در منابع BEx و OLAP استفاده میشود
Geography: Country > State > City
Level object
اعضایی که فاصلهٔ یکسانی از ریشه دارند. یک ستون تخت میسازد
سطح City
Member
یک آیتم در یک hierarchy
California
Named set
عبارتی نامگذاریشده که مجموعهای از اعضا را برمیگرداند
Top Cities by Revenue
Calculated member
عضوی که یک دستور MDX برمیگرداند و مدیر OLAP آن را تعریف کرده است
Analysis dimension
مجموعهای از hierarchyهای مرتبط. انتخاب آن، hierarchy پیشفرضش را وارد کوئری میکند
ایدهٔ کلیدی: یک measure همیشه به اشیای دیگر کوئری وابسته است. Sales revenue همراه با Store name درآمد هر فروشگاه را میدهد. Sales revenue همراه با Year درآمد هر سال را میدهد.
Gotchas
اگر یک attribute برای یک مقدار والد بیش از یک مقدار برگرداند (طراحی نادرست universe)، سلول #MULTIVALUE را نشان میدهد.
در اتصالهای OLAP، Web Intelligence فقط از dimensionها و hierarchyهای مبتنی بر نوع دادهٔ STRING پشتیبانی میکند. دادهٔ DATE یا INTEGER به STRING تبدیل میشود.
Smart measureها را پایگاه داده محاسبه میکند و از قبل تجمیعشده برمیگرداند. در برخی موارد این موضوع نحوهٔ نمایش محاسبات را تغییر میدهد.
شیء پنهان (که طراح universe پنهانش کرده) در گزارشهای جدید قابل استفاده نیست. گزارشهای قدیمی که از آن استفاده میکنند همچنان کار میکنند. اگر آن را از کوئری حذف کنید، برای همیشه از دست میرود، چون دیگر در ساختار universe دیده نمیشود.
برخی ویژگیهای اشیا را میتوانید پس از ساخت کوئری، در پنل Properties در پنل کناری تغییر دهید (Name، Description، Aggregation، Formula؛ و Qualification و Data Type برای Text، Excel، Free-hand SQL و Google Sheets). همهٔ ویژگیها در همهٔ منابع قابل ویرایش نیستند.
3.3
کوئری غیرسلسلهمراتبی در برابر سلسلهمراتبی
مبتدی
کوئریهای غیرسلسلهمراتبی (non-hierarchical) از dimensionها، attributeها و measureها استفاده میکنند. هر شیء یک ستون تخت میسازد. این کوئریها hierarchy، level، member یا named set ندارند.
کوئریهای سلسلهمراتبی (hierarchical) دستکم یک شیء hierarchy دارند. هر hierarchy در گزارش یک ستون سلسلهمراتبی میسازد که با بازکردنش اعضای فرزند را میبینید. measureها بسته به عضوی که کنارشان قرار دارد تجمیع میشوند.
سلسلهمراتبی بودن یا نبودن کوئری روی universe به پایگاه دادهای بستگی دارد که universe از آن میخواند.
مثال کاربردی
غیرسلسلهمراتبی: State + Sales revenue برای هر state یک ردیف میدهد.
سلسلهمراتبی: یک hierarchy به نام Geography + Sales revenue درآمد را در همهٔ سطوح میدهد. USA را باز کنید تا stateها را ببینید، سپس یک state را باز کنید تا شهرها را ببینید.
Gotchas
با دو hierarchy در یک کوئری، همهٔ ترکیبهای اعضای هر دو را میگیرید.
نکتهٔ راهنما: وقتی یک BEx query دارای شیء سلسلهمراتبی را اجرا یا refresh میکنید، آن شیء را اول در Query Panel بگذارید. این کار زمان اجرا را کم میکند.
در برخی universeهای OLAP از نوع .unv و .unx، انتخاب یک measure الزامی است.
3.4
ساخت یک کوئری ساده روی universe
مبتدی
universe دادهٔ پایگاه داده را به شکل اشیایی با نامهای تجاری نشان میدهد. شما اشیا را انتخاب میکنید و هیچوقت SQL نمینویسید. یک universe یا دادهٔ رابطهای (dimension، detail، measure) دارد یا دادهٔ سلسلهمراتبی.
مراحل
در صفحهٔ اصلی BI launch pad تا Applications پایین بروید و روی Web Intelligence کلیک کنید.
در کادر Select a Data Source روی Enterprise Repository کلیک کنید (یا در Rich Client روی Local)، در سمت راست Universe را انتخاب کنید، روی OK کلیک کنید و universe را برگزینید. Query Panel باز میشود.
dimensionها و measureها را به پنل Result Objects بکشید.
با دوبار کلیک روی پوشهٔ یک class، همهٔ اشیای داخل آن اضافه میشوند.
نشانگر ماوس را روی یک شیء نگه دارید تا جزئیاتش را ببینید. برای کپی جزئیات، راستکلیک کنید و Object Description را انتخاب کنید.
این کار را تکرار کنید تا همهٔ اشیا اضافه شوند.
برای فیلترکردن، اشیا را به پنل Query Filters بکشید. برای فیلتر سریع، یک شیء را در Result Objects انتخاب کنید و روی آیکون Add a quick filter در نوار ابزار Result Objects کلیک کنید.
در صورت نیاز، scope of analysis و دیگر ویژگیهای کوئری را تنظیم کنید.
برای حذف یک شیء، روی آیکون Remove در گوشهٔ پنل کلیک کنید. Remove All کل پنل را خالی میکند.
روی Run Query کلیک کنید. اگر چند کوئری دارید، روی فلش کنار دکمهٔ Run کلیک کنید و کوئری مورد نظر را انتخاب کنید.
Query Panel چهار پنل دارد که میتوانید با دکمههای toggle نمایش دهید یا پنهان کنید: Data Outline، Query Filters، ناحیهٔ Result Objects همراه با Data Preview، و Scope of Analysis. یک نقطهٔ کوچک روی دکمهٔ Query Filters نشان میدهد که کوئری فیلتر دارد.
مثال کاربردی
Result Objects: Year، Store name، Sales revenue، Margin.
بدون فیلتر.
Run Query. درآمد و حاشیهٔ سود هر فروشگاه در هر سال را میگیرید.
Gotchas
اگر یک سند دو کوئری روی یک universe داشته باشد و منبع یکی را تغییر دهید، دیگری تغییر نمیکند، مگر اینکه تیک Apply changes in all queries sharing the same data source را بزنید.
فقط برخی ویژگیهای نمایشی universe از Format Editor منتقل میشوند. راهنما زبانهٔ Data را برای .unx و زبانهٔ Number را برای .unv ذکر میکند، اما عبارتش روشن نیست؛ پس روی universeهای خودتان بررسی کنید.
Stored procedureها: هر دو نوع universe رابطهای .unv و .unx از آنها پشتیبانی میکنند (از 4.2 SP6 به بعد). روی اشیای مبتنی بر stored procedure نمیتوانید فیلتر کوئری یا مرتبسازی اضافه کنید، یا اسکریپت را ببینید یا ویرایش کنید.
ابزارهای کمکی مفید در Query Panel
پیشنمایش: در حالت Design، Query Panel را با دکمهٔ بخش Query در نوار ابزار باز کنید، سپس روی toggle Data Preview در نوار ابزار Query Panel کلیک کنید. ابتدا باید اشیای نتیجه و فیلتر را تعریف کرده باشید.
مشاهدهٔ اسکریپت: روی آیکون Query Script Viewer در نوار ابزار Query Panel کلیک کنید. SQL پس از کلیک روی Use custom query script قابل ویرایش است (سپس Validate). MDX فقط قابل مشاهده است، نه ویرایش. برای کوئریهایی که stored procedure صدا میزنند نمیتوانید اسکریپت را ببینید. اگر کوئری prompt اختیاری (optional prompt) داشته باشد، نمیتوانید اسکریپت را ویرایش کنید: در این حالت پاسخهای prompt مستقیماً در SQL ظاهر میشوند. در Rich Client میتوانید اسکریپت را Copy یا Print هم کنید.
3.5
Refresh و لغو
مبتدی / متوسط
برای گرفتن دادهٔ بهروز، کوئری را refresh کنید. refresh کوئری را دوباره اجرا و داده را جایگزین میکند. promptها دوباره نمایش داده میشوند (اگر Keep last values selected فعال باشد، با آخرین مقادیر شما).
Refresh فقط یک کوئری
در ویژگیهای هر کوئریای که میتواند refresh شود، تیک Refreshable را بزنید. اگر هیچ کوئریای refreshable نباشد، آیکون refresh غیرفعال است.
در بخش Query نوار ابزار، فهرست کشویی کنار آیکون refresh را باز کنید و روی Advanced Refresh کلیک کنید. این کادر هر کوئری را با منبع، تاریخ آخرین refresh، مدت اجرا، تعداد ردیفها و وضعیتش فهرست میکند. کوئریها را انتخاب کنید و روی Refresh کلیک کنید. کوئریهای خاکستری گزینهٔ Refreshable را خاموش دارند.
Refresh خودکار
در بخش Display نوار ابزار، Presentation Mode را انتخاب کنید. در Automatic Refresh فاصلهٔ زمانی را تعیین کنید، گزارشهایی را که باید بهنوبت نمایش داده شوند انتخاب کنید و سپس OK بزنید. در این حالت نمیتوانید سند را ویرایش کنید.
Purge: در حالت Design روی Purge Data کلیک کنید تا دادهٔ ذخیرهشدهٔ کوئریهای انتخابی خالی شود.
لغو
هنگامی که کوئری در حال refresh است، روی Cancel کلیک کنید.
یکی را انتخاب کنید:
Restore previous results
Purge data (ساختار و قالببندی حفظ میشوند)
Return partial results
روی OK کلیک کنید.
Gotchas
لغو فقط وقتی کار میکند که پایگاه داده از آن پشتیبانی کند. اگر نکند، کنترل به شما برمیگردد اما کوئری در پسزمینه ادامه مییابد. سقف کوئریهای رهاشده بهطور پیشفرض 10 است. پس از آن باید منتظر بمانید.
پایگاههای دادهٔ BW پس از شروع refresh نمیتوانند آن را لغو کنند. refresh در پسزمینه تمام میشود.
با «Return the partial results»، سند ترکیبی از مقادیر جدید و قدیم است، پس با تعریف کوئری همخوانی ندارد.
Refresh موازی [Advanced]
Web Intelligence میتواند چند data provider را همزمان refresh کند. این قابلیت بهطور پیشفرض روشن است و تا 64 data provider در هر سند را پوشش میدهد. پیشفرض برای هر اتصال 4 است (برای فایلهای text: 1). data providerهای اضافه در صف منتظر میمانند. data providerهای Excel پشتیبانی نمیشوند (یکی پس از دیگری refresh میشوند). مدیران محدودیتها را در CMC تنظیم میکنند: Servers›Web Intelligence Services > راستکلیک روی Web Intelligence Processing Server›Properties›Maximum Parallel Queries (از 0 تا 64؛ 0 یعنی غیرفعال). گزینهٔ Enable Parallel Queries for Scheduling را هم میتوان همانجا غیرفعال کرد. برای اتصال OLAP: OLAP Connections > راستکلیک > Organize›Edit›Maximum Parallel Queries (از 1 تا 64؛ 1 = ترتیبی).
1سطح 1 · مبانی · ماژول 4 از 23
اولین گزارش شما
جدولها، سلولهای مستقل، قالب اعداد و مرتبسازی.
4.1
زبانههای گزارش
مبتدی
چه و چرا. یک سند Web Intelligence میتواند چند گزارش داشته باشد. هر گزارش یک زبانه (tab) در پایین پنل گزارش است. با زبانهها سند را به صفحههایی با هدف روشن تقسیم کنید؛ مثلاً یک زبانه برای فروش به تفکیک منطقه و یک زبانه برای موجودی.
مراحل (در حالت Design)
روی آیکون منو کنار نام گزارش کلیک کنید. میتوانید از زبانهٔ Structure در پنل کناری Main هم استفاده کنید.
در منوی زمینهای (contextual menu)، یکی از کارها را انتخاب کنید: افزودن، تکثیر، حذف، پنهان کردن، نمایش، تغییر نام، جابهجایی یا کپی پیوند گزارش.
برای پنهان کردن گزارش، Hide را انتخاب کنید. سپس پنل ثانویه را باز کنید و Hide always را تیک بزنید، یا Hide when formula is true را تیک بزنید و یک فرمول وارد کنید.
مثال کاربردی. یک گزارش دوم اضافه کنید، نامش را «Stock by State» بگذارید و آن را بعد از گزارش فروش قرار دهید. یک گزارش کاری را با Hide always پنهان کنید تا خوانندگان آن را نبینند.
4.2
حالت Design: ساختار در برابر داده
مبتدی
چه و چرا. برنامه سه حالت (mode) دارد. Reading برای دیدن گزارشها، ردیابی تغییرات، تغییر مقدار فیلترها در نوار فیلتر، drill و جمع کردن (fold) است. Design (که حالت Edit هم نامیده میشود) جای ساختن است: افزودن و حذف جدول و نمودار، اعمال قالببندی شرطی، افزودن فرمول و متغیر، و کار با ساختار گزارش یا با داده. Structure همان Design است ولی فقط با فراداده (metadata)، پس اسکلت گزارش را میبینید. حالت Data یک حالت جداگانه برای آمادهسازی مجموعهدادهها (cubeها) پیش از طراحی است.
مراحل
با منوی کشویی حالت در سمت راست نوار ابزار، بین Reading، Design و Structure جابهجا شوید.
میانبرها: Alt + 1 حالت Reading، Alt + 2 حالت Design، Alt + 3 حالت Design/Structure و Alt + 4 حالت Data را باز میکند (در Mac بهجای Alt کلید Opt).
در حالت Design، اگر میخواهید گزارش پس از هر تغییر قالب یا داده بهروز شود، از Instant Apply استفاده کنید. در غیر این صورت از دکمهٔ Apply در پنل استفاده کنید.
مثال کاربردی. قصد دارید گزارشی از Year، Quarter، State، Sales revenue و Margin بسازید. به حالت Structure بروید، جدولها را بچینید و وقتی چیدمان درست شد به حالت Design برگردید.
4.3
جدولها: عمودی، افقی، cross tab، form
مبتدی
چه و چرا. جدول (یک «block») روش نمایش داده است.
جدول عمودی (Vertical table): سرستونها در بالا و داده در ستونها. این همان چیزی است که پس از اولین اجرای کوئری میگیرید.
جدول افقی (Horizontal table): سرعنوانها در کنار و داده در سطرها.
جدول متقاطع (Cross table): یک dimension در بالا، یک dimension دیگر در کنار، و یک measure در بدنه در محل تلاقی هر دو.
Form: اطلاعات جزئی برای هر مشتری، محصول یا شریک، مثل برچسب آدرس.
مراحل: ساخت
در حالت Design، اشیا را از پنل Objects به بوم بکشید. آنها ستونهای یک جدول عمودی میشوند.
اشیای بیشتری را روی جدول موجود بکشید. برای افزودن ستون، روی مرز یک ستون رها کنید. برای جایگزین کردن ستون، روی وسط آن رها کنید.
میتوانید اشیا را در بخش Data Assignment از پنل Data هم بکشید (Build›Data›Feeding).
یا روی دکمهٔ Insert table در بخش Insert نوار ابزار کلیک کنید. از منوی کشویی آن نوع دیگری از جدول را انتخاب کنید، روی بوم کلیک کنید تا یک جدول خالی (ghost table) قرار بگیرد، سپس اشیا را روی آن رها کنید.
تغییر نوع: جدول را انتخاب کنید، سپس در Build›Data›Feeding بخش Turn Into را باز کنید، یک نوع جدول یا نمودار انتخاب کنید و روی Apply کلیک کنید.
افزودن سطر/ستون: روی یک سلول راستکلیک کنید > Insert، سپس سطر بالا یا پایین، یا ستون چپ یا راست را انتخاب کنید. یک شیء را از پنل Objects به سطر یا ستون خالی جدید بکشید.
حذف سطر/ستون: راستکلیک > Delete، Row یا Column را انتخاب کنید، روی OK کلیک کنید. جابهجایی: یک ستون یا سطر را به قبل یا بعد از دیگری بکشید (یا ترتیب را در بخش Data Assignment عوض کنید). جابهجایی متقابل: آن را روی ستون یا سطری که میخواهید جایش را با آن عوض کنید بکشید. پاک کردن محتوا: روی سلول راستکلیک کنید > Content›Clear Content. حذف جدول: روی لبهٔ بالای آن راستکلیک کنید > Delete.
مثال کاربردی. Year، Quarter و Sales revenue را به گزارش بکشید تا یک جدول عمودی ساخته شود. در Turn Into، یک cross table انتخاب کنید. Quarter را در بالا، State را در کنار و Sales revenue را در بدنه بگذارید. هر سلول بدنه درآمد یک ایالت در یک فصل است.
4.4
سلولهای مستقل
مبتدی
چه و چرا. یک سلول تکی بیرون از هر جدول (free-standing cell). از آن برای عنوان گزارش، تاریخ آخرین refresh، شمارهٔ صفحه یا یک KPI تکعددی استفاده کنید. سلول خالی هر متن یا فرمولی را میپذیرد. سلولهای ازپیشتعریفشده اطلاعات مشخصی را نشان میدهند.
سلولهای ازپیشتعریفشده: Blank Cell، Comment (یک توضیح کلی دربارهٔ کل گزارش)، Drill Filters، Last Refresh Date، Document Name، Query Summary، Prompt Summary، Report Filter Summary، Page Number، Page Number/Total Pages، Total Number of Pages.
مراحل
در حالت Design، در بخش Insert نوار ابزار، روی دکمهٔ درج سلول کلیک کنید، یا یک سلول ازپیشتعریفشده را از منوی کشویی آن انتخاب کنید.
روی بوم گزارش کلیک کنید تا سلول قرار بگیرد.
برای سلول خالی، متن یا فرمول را در نوار فرمول (formula bar) بنویسید. اگر نوار را نمیبینید، روی دکمهٔ آن در بخش Analyze نوار ابزار کلیک کنید.
برای درج یک آیکون، در همان منوی کشویی Icon را انتخاب کنید، در کادر گفتوگوی Insert an icon فهرست را جستوجو یا فیلتر کنید، یکی را انتخاب کنید، روی Insert کلیک کنید و سپس روی بوم کلیک کنید.
پنهان کردن: روی سلول راستکلیک کنید > Format Cell›Hide، سپس در پنل Format یکی از Hide always، Hide when empty یا Hide when formula is true را انتخاب کنید و فرمول را بنویسید.
کپی: راستکلیک > Copy، سپس در جای موردنظر راستکلیک کنید > Paste. میتوانید آن را در Word یا Excel هم جایگذاری کنید.
مثال کاربردی. یک سلول خالی بالای جدول بگذارید و متن عنوان را در آن بنویسید. سپس Last Refresh Date و Page Number/Total Pages را در پاصفحه اضافه کنید.
4.5
قالببندی اعداد و تاریخها
مبتدی
چه و چرا. نحوهٔ نمایش مقادیر را بدون تغییر داده عوض کنید؛ مثلاً 1500000 را به شکل مبلغ پولی یا 0.07 را به شکل درصد نشان دهید.
قالبی که نمایش داده میشود از این اولویت پیروی میکند: اول قاعدهٔ قالببندی (formatting rule)، سپس سلول یا نمودار، سپس شیء سند، و در آخر universe.
مراحل: اختصاص یک قالب ازپیشتعریفشده
به یک شیء: در حالت Design، آن را در زبانهٔ Main›Objects انتخاب کنید، سپس Build›Properties›Edit Format.
به یک سلول یا نمودار: روی آن راستکلیک کنید > Format Display....
در کادر گفتوگوی Format Display، یک دستهٔ قالب ازپیشتعریفشده و سپس یک قالب از فهرست انتخاب کنید. روی OK کلیک کنید.
به یک قاعدهٔ قالببندی: Analyze›Formatting Rules...، قاعده را انتخاب کنید، روی آیکون ویرایش کلیک کنید، روی Format... کلیک کنید و زیر Display روی Edit Format کلیک کنید.
مراحل: لغو اختصاص. در همان کادر گفتوگوی Format Display، گزینهٔ «No format is explicitly assigned. Use the format defined in the source object, if any» را انتخاب کنید.
مراحل: قالب سفارشی [Intermediate]
کادر گفتوگوی Format Display را باز کنید و دستهٔ Custom را انتخاب کنید.
برای استفادهٔ دوباره از یک قالب، آن را انتخاب کنید و روی OK کلیک کنید.
برای ساختن قالب جدید، روی Add Custom Format کلیک کنید. نوع داده را انتخاب کنید: Number، Date/Time یا Boolean.
قالب خود را در کادرهای Positive، Negative و Equal to zero بنویسید (برای Boolean: True و False). میتوانید از یک قالب ازپیشتعریفشده یا سفارشی بهعنوان الگو شروع کنید.
روی OK و سپس دوباره روی OK کلیک کنید تا قالب اختصاص یابد.
مثال کاربردی. قالب عددی سفارشی #,##0 عدد 1234567 را به شکل 1,234,567 نشان میدهد. قالبی که از [%]% استفاده میکند، 0.50 را به شکل 50% نشان میدهد.
4.6
مرتبسازی
مبتدی
چه و چرا. مقادیر را به ترتیب دلخواه بچینید؛ مثلاً فروشگاهها از بیشترین تا کمترین درآمد.
مراحل
در حالت Design، ستون جدول را انتخاب کنید و روی آن راستکلیک کنید.
روی Data›Add Sort کلیک کنید. یک مرتبسازی صعودی اعمال میشود. آیکون مرتبسازی در پنل Data یک زیرنویس (عدد کوچک) میگیرد.
برای تغییر ترتیب، زبانهٔ مرتبسازی را در پنل Data باز کنید و روی آیکون کلیک کنید تا نزولی شود.
حذف: در زبانهٔ مرتبسازی، ماوس را روی شیء نگه دارید و روی آیکون حذف کلیک کنید.
اولویت: در زبانهٔ مرتبسازی، ماوس را روی یک dimension نگه دارید، روی منو کلیک کنید و Move Up یا Move Down را انتخاب کنید.
ترتیب سفارشی: ماوس را روی یک dimension نگه دارید، روی منو کلیک کنید و Create Custom Order را انتخاب کنید. از فلشها، Add Value و Reset Order استفاده کنید. روی OK کلیک کنید.
ترتیبهای مرتبسازی: Default (اعداد صعودی، تاریخها به ترتیب زمانی، متن به ترتیب الفبایی)، Ascending، Descending، Custom Order.
مثال کاربردی. State را صعودی مرتب کنید، سپس مرتبسازی نزولی Sales revenue را اضافه کنید و آن را به جایگاه دوم ببرید. ایالتها به ترتیب الفبا میآیند و درون هر ایالت، درآمد از بیشترین به کمترین است.
2سطح 2 · مهارتهای اصلی · ماژول 5 از 23
فیلتر و پرامپت در کوئری
فقط ردیفهای لازم را بیاورید و بگذارید خواننده هنگام بهروزرسانی انتخاب کند.
5.1
فیلترهای کوئری: مبانی
مبتدی
فیلتر کوئری (query filter) دادهای را که از پایگاه داده برمیگردد محدود میکند. دلایل: پاسخ به یک پرسش مشخص، پنهانکردن داده از برخی کاربران، و کوچک نگهداشتن داده تا سریعتر باشد.
هر فیلتر سه بخش دارد: شیء فیلترشده، عملگر (operator) و عملوند (operand).
مثال: [Country] In list (US;France). Country شیء است. In list عملگر است. US;France عملوند است.
شیء فیلترشده: میتواند dimension، attribute، measure، hierarchy یا level باشد. بهجز در BEx queryها، لازم نیست در Result Objects باشد.
انواع عملوند
Constant: مقدار را تایپ میکنید.
Value(s) from List (List of Values): از فهرست مقادیر شیء انتخاب میکنید.
Prompt: هنگام refresh پرسیده میشود.
Object from this query (شیء universe): با یک شیء دیگر مقایسه میکنید.
Result from another query: با نتایج یک کوئری دیگر مقایسه میکنید.
Gotchas
عملوند Constant روی hierarchy مجاز نیست، مگر با Matches pattern یا Different from pattern.
در برخی منابع OLAP، یا وقتی شیء فیلترشده hierarchy است، نمیتوانید یک شیء universe را بهعنوان عملوند انتخاب کنید.
انواع فیلتر کوئری
فیلترهای ازپیشتعریفشده (Predefined filters): مدیر BI آنها را میسازد و در universe ذخیره میکند. کنار اشیای دیگر فهرست میشوند. نمیتوانید اجزای آنها را ببینید یا ویرایش کنید. روی یکی دوبار کلیک کنید یا آن را به پنل Query Filters بکشید. Setها نوعی فیلتر ازپیشتعریفشدهاند که در information design tool ساخته میشوند.
فیلترهای سریع (Quick filters): فیلتری سادهشده که بدون بازکردن ویرایشگر فیلتر تنظیم میشود. یک مقدار، Equal to میسازد. چند مقدار، In list میسازد. در BEx queryها در دسترس نیست.
فیلترهای سفارشی (Custom filters): خودتان آنها را میسازید.
Promptها: هر بار که refresh میکنید پرسیده میشوند (بخش 8).
افزودن فیلتر سریع
در حالت Design، Query Panel را باز کنید (دکمهٔ بخش Query در نوار ابزار).
شیء را در Result Objects انتخاب کنید.
روی آیکون Add a quick filter در گوشهٔ بالای پنل Result Objects کلیک کنید.
مقادیر مورد نظر را انتخاب کنید و روی OK کلیک کنید. فیلتر جدید در پنل Query Filters ظاهر میشود.
برای حذف، آن را در پنل Query Filters انتخاب کنید و روی آیکون حذف کلیک کنید.
روی Run Query کلیک کنید و سپس ذخیره کنید.
افزودن فیلتر سفارشی
شیء را به پنل Query Filters بکشید. عملگر پیشفرض In list است.
روی فهرست کشویی عملگر کلیک کنید و عملگر دیگری انتخاب کنید.
نشانگر را روی فیلتر ببرید، روی آیکون کلیک کنید و Constant، Value(s) from List، Prompt، Object from this query یا Result from another query (Any/All) را انتخاب کنید.
مقدار را تایپ یا انتخاب کنید.
با Delete، یا Remove / Remove All در گوشهٔ پنل حذف کنید.
انتخاب از فهرست مقادیر
اگر فهرست نمایش داده نشد، آن را refresh کنید یا جستوجو کنید. برخی فهرستها به یک جستوجوی اولیه نیاز دارند.
فهرستها را میتوان از سرستون بهصورت صعودی، نزولی یا به ترتیب سرور (پیشفرض) مرتب کرد.
فهرستهای بزرگ ممکن است به چند بازه تقسیم شوند. از کنترل بالای فهرست استفاده کنید.
فهرستهای وابسته (مثلاً City که به Country و Region وابسته است) ابتدا مقادیر والد را در کادر Prompts میپرسند.
در کوئریهای OLAP یا BEx، گزینهٔ Show/hide key values کلیدهای یکتا را نشان میدهد.
گزینههای جستوجو (از فهرست کشویی آیکون Search): Match case، Search in keys، Search on database. نویسههای جانشین (wildcard) عبارتاند از * (هر رشته) و ? (یک نویسه). برای جستوجوی خودِ این نویسهها، قبل از آنها \ بگذارید.
Search on database وقتی مفید است که فهرست به دلیل Max rows retrieved بریده شده باشد.
میتوانید مقادیر را با نقطهویرگول جدا کرده تایپ کنید، یا آنها را از یک ستون Excel جایگذاری کنید.
مثال کاربردی (بر اساس الگوی راهنما)
«کدام فروشگاههای Texas در Q4 سال 2002 دستکم 130,000 حاشیهٔ سود داشتند؟» فیلترها، همه با And به هم وصل شدهاند:
Year Equal to 2002
Quarter Equal to Q4
State Equal to Texas
Margin Greater than or equal to 130000
Result Objects فقط: Store name، Sales revenue، Margin. Year، Quarter و State از Result Objects حذف شدهاند تا بهصورت ستون نمایش داده نشوند.
5.2
عملگرهای فیلتر کوئری
متوسط
عملگر
چه چیزی را نگه میدارد
مثال راهنما
Equal to
برابر با یک مقدار
Country Equal to US
Not Equal to
نابرابر
Country Not Equal to US
Greater than
بیشتر از یک مقدار
Customer Age Greater than 60
Greater than or Equal to
برابر یا بیشتر
Revenue Greater than or equal to 1500000
Less than
کمتر
Exam Grade Less than 40
Less than or Equal to
برابر یا کمتر
Age Less than or equal to 30
Between
بین دو مقدار، با احتساب هر دو سر. مقدار اول باید کوچکتر باشد
Week Between 25 and 36
Not between
بیرون از بازه
Week Not between 25 and 36
In list
هر مقداری از یک فهرست
Country In list: US;UK;Japan
Not In List
هیچکدام از مقادیر یک فهرست
Country Not in list: US;UK;Japan
Matches Pattern
شامل یک رشته یا بخشی از آن
DOB Matches pattern "1972"
Different From Pattern
شامل آن رشته نیست
DOB Different from pattern '72'
Both
ردیفهایی که همزمان به دو مقدار مرتبطاند
Account Type Both 'Fixed' And 'Mobile'
Except
یک مقدار را دارد و مقدار دیگر را کنار میگذارد
Account Type 'Fixed' Except 'Mobile'
نکتههایی از راهنما
نویسهٔ جانشین در Matches pattern برای همهٔ منابع % است، بهجز BEx که * است.
با فهرست سلسلهمراتبی، In list اجازه میدهد اعضایی از سطوح مختلف انتخاب کنید (مثلاً Paris در سطح City و Canada در سطح Country). در فیلتر گزارش، In list یک فهرست تخت میدهد.
Except سختگیرتر از Different from یا Not in list است. مثال: Lines Different From 'Accessories' ردیفهای فروش لوازم جانبی را حذف میکند، اما مشتریای که هر دو را خریده همچنان دیده میشود، فقط با خریدهای غیر از لوازم جانبی. Lines Except 'Accessories' فقط مشتریانی را نگه میدارد که اصلاً لوازم جانبی نخریدهاند.
Gotchas (محدودیتها)
Not Equal to، Greater than، Greater than or equal to: روی hierarchyهای والد-فرزند OLAP .unx یا BEx queryها قابل استفاده نیستند.
Less than، Less than or equal to: روی universeهای OLAP .unx، hierarchyها در فیلترها، یا hierarchyهای BEx قابل استفاده نیستند.
Between، Not between: روی hierarchyهای OLAP .unx یا BEx در فیلترها قابل استفاده نیستند.
Not In List: فقط برای برخی hierarchyها، مثلاً hierarchyهای مبتنی بر level.
Matches pattern: برای hierarchyهای BEx نیست. Different from pattern: برای BEx یا hierarchyهای parent-based در OLAP .unx نیست.
Both: برای اشیای hierarchy یا universeهای مبتنی بر OLAP نیست. Except: برای universeهای مبتنی بر OLAP نیست.
عملگرهای مجاز بر اساس نوع hierarchy: مبتنی بر level = Equal to، Not equal to، In list، Not in list، Matches pattern، Different from pattern. والد-فرزند = Equal to، In list، Matches pattern. hierarchy در BEx = Equal to، In list.
مثال کاربردی
Quarter In list (Q1;Q2) و Sales revenue Greater than 1000000: ردیفهایی از Q1 یا Q2 را برمیگرداند که درآمدشان از یک میلیون بیشتر است.
Product line Not In List (Accessories) این خط محصول را از داده حذف میکند.
5.3
ترکیب و تودرتو کردن فیلترها
متوسط
پرسشهای تجاری اغلب به چند شرط نیاز دارند. فیلترهای پنل Query Filters بهطور پیشفرض با And به هم وصل میشوند.
ترکیب
فیلترها را در پنل Query Filters بسازید.
روی عملگر And دوبار کلیک کنید تا بین And و Or جابهجا شود.
تودرتو کردن (کنترل ترتیب ارزیابی)
یک شیء را روی یک فیلتر کوئری موجود بکشید. فیلتر جدیدی بهصورت تودرتو و در رابطهٔ And با فیلتر موجود ظاهر میشود.
فیلتر جدید را تعریف کنید. در صورت نیاز And/Or را تغییر دهید.
مثال کاربردی (از راهنما)
«همهٔ فروشها در Japan، یا در Q4 یا با درآمد بیش از 1,000,000»:
And
Country Equal To Japan
Or
Quarter Equal To Q4
Revenue Greater Than 1000000
ابتدا جفت Or ارزیابی میشود و سپس نتیجه به Japan محدود میشود.
Gotchas
Or در برخی منابع OLAP پشتیبانی نمیشود: BEx queryها، و universeهای OLAP .unx روی Microsoft Analysis Services (MSAS) و Oracle Essbase.
یک کوئری میتواند انواع مختلف فیلتر را با هم داشته باشد: ازپیشتعریفشده، سریع، سفارشی، prompt.
5.4
Promptهای کوئری
متوسط
prompt فیلتری است که هر بار که سند باز یا refresh میشود، یک پرسش مطرح میکند. به این ترتیب افراد مختلف میتوانند برشهای متفاوتی از همان گزارش را ببینند. این کار زمان بازیابی داده را هم کم میکند. هر prompt یک شیء فیلترشده، یک عملگر و یک پیام دارد. مثال: Year Equal To ("Which year?").
ساخت prompt
در حالت Design، Query Panel را باز کنید.
شیء را به پنل Query Filters بکشید.
عملگر را انتخاب کنید (فهرست عملگرها به نوع شیء بستگی دارد).
نشانگر را روی فیلتر ببرید، روی آیکون کلیک کنید و Prompt را انتخاب کنید.
تنظیمات prompt را باز کنید. Prompt text را تایپ کنید (مثلاً «Enter a City»). در صورت تمایل یک Prompt hint اضافه کنید تا توضیح دهد چطور باید پاسخ داد. متن hint هنگام اجرا ترجمه نمیشود.
هر کدام از این گزینهها را که میخواهید تیک بزنید:
Prompt with List of Values: کاربران از فهرست مقادیر شیء انتخاب میکنند.
Select only from list: کاربران فقط میتوانند مقادیر موجود را انتخاب کنند.
Keep last values selected: prompt پاسخ قبلی را از پیش انتخاب میکند.
Set default value(s): یک مقدار تایپ کنید یا مقادیر پیشفرض را از فهرست انتخاب کنید.
Optional prompt: اگر خالی بماند، prompt نادیده گرفته میشود.
کارهای دیگر با prompt
استفاده از یک prompt موجود: شیء را در پنل Query Filters رها کنید، Prompt را انتخاب کنید، روی Parameter from universe کلیک کنید، یکی را برگزینید و سپس OK بزنید. فقط promptهای سازگار نمایش داده میشوند (مثلاً با نوع دادهٔ یکسان).
حذف: نشانگر را روی prompt در پنل Query Filters ببرید و روی آیکون حذف کلیک کنید.
تغییر ترتیب promptها: روی آیکون Query Properties در نوار ابزار Query Panel کلیک کنید و از فلشهای بخش Prompt Order استفاده کنید. در یک سند هم میتوانید پنل اصلی را باز کنید، Show prompts را انتخاب کنید و ترتیب promptها را همانجا تغییر دهید (فقط در حالت Design؛ Reset All به ترتیب پیشفرض برمیگرداند).
گروهبندی promptها: در پنل Show prompts از promptهای اختیاری یک گروه prompt بسازید. گروه میتواند اختیاری باشد، یا انحصاری (exclusive؛ فقط به یکی از promptهای گروه پاسخ داده میشود). هر prompt اختیاری فقط در یک گروه میتواند باشد.
ترکیب promptها با یکدیگر یا با فیلترهای ثابت. مثال راهنما: فیلترهای Year Equal to This Year و Job title Not equal to Senior Executive، بهعلاوهٔ یک prompt با پیام «Which employee?». کاربران کارمند را انتخاب میکنند، اما سالهای دیگر یا مدیران ارشد را نمیبینند.
مثال کاربردی
prompt روی Quarter با Equal to، پیام «Which quarter?»، همراه با فهرست مقادیر و Keep last values selected. هر کس refresh میکند و فصل خودش را انتخاب میکند.
Gotchas
برای تاریخها: اگر میخواهید کاربران تقویم را ببینند، تیک Prompt with List of Values (و Select only from list) را بردارید.
promptهای ادغامشده (merged prompts): وقتی چند data provider دارید، promptهایی که نوع داده، نوع عملگر و متن prompt یکسان دارند در یک پیام ادغام میشوند. فهرستی که نمایش داده میشود، فهرستِ شیئی است که بیشترین محدودیت نمایشی را دارد. هنگام ساخت چنین promptی هشدار میگیرید.
در BEx queryها و universeهای OLAP .unx، promptها فقط با And به هم وصل میشوند.
اسکریپت کوئریای را که prompt اختیاری دارد نمیتوانید ویرایش کنید.
promptهای پیچیده (چند مقدار پاسخ برای یک prompt) روی متغیرهای Selection Option در BEx و متغیرهای Range در HANA کار میکنند.
universeهای HANA: ممکن است promptهای مربوط به متغیرها و input parameterهای HANA از قبل وجود داشته باشند. پیش از افزودن prompt خودتان، کوئری را اجرا کنید تا تکراری نسازید.
زبانهٔ Prompts همهٔ promptها را نشان میدهد، از جمله متغیرهای HANA و BEx و promptهای ادغامشده.
hierarchyها، levelها و dimensionهایی که فهرست مقادیر سلسلهمراتبی دارند، در prompt به شکل درخت نمایش داده میشوند.
در اسکریپت، prompt به شکل نحو @prompt(...) یا به شکل مقدار واردشده نمایش داده میشود، مثلاً Resort_country.country In ('UK').
5.5
ویژگیهای کوئری: محدودکردن دادهای که برمیگردد
متوسط
باز کردن: در حالت Design، Query Panel را باز کنید و سپس روی آیکون Query Properties در نوار ابزار Query Panel کلیک کنید. برای بازگشت روی OK کلیک کنید.
گزینه
چه میکند
در دسترس در
Max rows retrieved
بیشینهٔ تعداد ردیفهای برگشتی
همهٔ منابع بهجز Excel، Text، Google Sheets، Free-hand SQL
Max retrieval time
توقف کوئری پس از n ثانیه
مانند بالا، و نه منابع چندبعدی (BEx)
Sample result set
برگرداندن یک نمونه. Fixed در هر refresh همان ردیفها را میدهد
فقط رابطهای .unx و .unv
Refreshable
اجازهٔ refresh این کوئری (بخش 18)
همهٔ منابع
Retrieve duplicate rows
برگرداندن ردیفهای تکراری، یا فقط ردیفهای یکتا
رابطهای و OLAP .unx. نه BEx
Retrieve empty rows
گنجاندن ردیفهای خالی
OLAP .unx، BEx، HANA OLAP direct access، native viewهای Datasphere
Reset contexts on refresh
پرسیدن دوبارهٔ context در هر refresh (بخش 13)
رابطهای .unv و .unx
Delete trailing blanks
حذف فاصلههای انتهای مقادیر
همهٔ منابع
Enable query stripping
اجازه میدهد Web Intelligence اشیای کوئری را که در گزارش استفاده نشدهاند کنار بگذارد
بیشتر منابع؛ نه Excel، Text، Google Sheets، اسناد Web Intelligence، HANA OLAP (MDX)
Allow other users to edit all queries
دیگرانی که مجوز ویرایش کوئری دارند میتوانند کوئریهای شما را ویرایش کنند
universeها، BW، HANA، Datasphere، Excel، Text، Google Sheets، اسناد Web Intelligence
نکتههایی برای به خاطر سپردن
Max rows retrieved در صورت پشتیبانی در سطح پایگاه داده اعمال میشود. در غیر این صورت، ردیفها پس از بازیابی دور ریخته میشوند.
Max rows retrieved سطوح دادهٔ سلسلهمراتبی را از هم تشخیص نمیدهد. با محدودیت 3، جدول US > CA > OR > Albany پس از ردیف سوم بریده میشود.
Sample result set در سطح پایگاه داده و در اسکریپت تولیدشده کار میکند. از Max rows retrieved کاراتر است.
اگر Fixed نباشد، نمونه تصادفی است: در هر refresh نمونهٔ متفاوتی میگیرید.
اگر Max rows retrieved برابر 2000 و Sample result set برابر 1000 باشد، حداکثر 1000 ردیف میگیرید.
پروفایل امنیتی مدیر BI میتواند تنظیم شما را لغو کند: شما 400 تنظیم میکنید، پروفایل 200 اجازه میدهد، شما 200 میگیرید.
بهطور پیشفرض، کوئریها فقط توسط سازندهٔ خود قابل ویرایشاند.
با query stripping با احتیاط کار کنید: در این حالت کوئری فقط چیزی را میآورد که گزارش لازم دارد. این گزینه برای Free-hand SQL در دسترس نیست.
مثال کاربردی
در حال آزمایش کوئریای روی همهٔ تراکنشهای فروشگاهها هستید. Sample result set را روی 1000 بگذارید و تیک Fixed را بزنید. هر refresh همان 1000 ردیف را برمیگرداند، پس گزارش آزمایشی شما پایدار و سریع است.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1یک فیلتر روی Year در پنل Query Filters هست و Year در Result Objects نیست. چه اتفاقی میافتد؟
بهجز در BEx queryها، لازم نیست شیء فیلترشده جزو اشیای نتیجه باشد.
Q2به مشتریانی نیاز دارید که اصلاً Accessories نخریدهاند. کدام فیلتر مناسب است؟
Different From و Not In List همچنان مشتریانی را که خطوط دیگر را خریدهاند نگه میدارند؛ Except هر مشتریای را که فروش Accessories داشته باشد حذف میکند.
Q3Max rows retrieved برابر 2000 و Sample result set برابر 1000 است. چند ردیف میتواند برگردد؟
هر دو محدودیت اعمال میشوند و کوچکتر برنده است، پس حداکثر 1000 ردیف.
Q4Query 1 مقادیر US، UK، France و Query 2 مقادیر US، Spain را برمیگرداند. فقط UK و France را میخواهید. کدام کوئری ترکیبی؟
MINUS دادههایی را برمیگرداند که در کوئری اول هست و در دومی نیست، پس US حذف میشود و UK و France باقی میمانند.
2سطح 2 · مهارتهای اصلی · ماژول 6 از 23
سازماندهی گزارش
Break، Section، رتبهبندی، پنهانکردن و جمعکردن، و چیدمان صفحه.
6.1
Breakها
متوسط
چه و چرا. یک break جدول را به جدولهای کوچک تقسیم میکند؛ برای هر مقدار یکتای یک ستون یک جدول کوچک، و هر کدام با پاصفحهٔ خودش. از آن برای جمعهای جزء استفاده کنید؛ مثلاً درآمد هر State درون یک جدول.
مراحل
در حالت Design، روی یک سلول در ستون راستکلیک کنید (نه در form).
روی Data›Add Break کلیک کنید.
حذف: روی ستون راستکلیک کنید > Data›Remove Break.
مدیریت: زبانهٔ break را در پنل Data باز کنید. ماوس را روی یک break نگه دارید و از منوی آن استفاده کنید: Move Break Up یا Move Break Down. برای ویژگیها روی آیکون تنظیمات کلیک کنید. روی Apply کلیک کنید.
break بر اساس مقدار (value based break): در تنظیمات break، Value based break را تیک بزنید، روی Values کلیک کنید، مقادیر را انتخاب کنید، OK.
break همسطح (same level break): روی منوی کشویی Add a Break در پنل Data کلیک کنید، دو یا چند شیء انتخاب کنید، OK، Apply.
ویژگیهای break: Break header، Break footer، Apply Sort، Enable fold/unfold، Value base break، Duplicate values (Display all، Display first، Merge، Repeat first on new page)، Start on a new page، Avoid page breaks in block، Repeat header on every page، Repeat footer on every page.
مثال کاربردی. در جدولی با State، City و Sales revenue روی State یک break بگذارید. هر ایالت جدول کوچک خودش را میگیرد. یک محاسبهٔ استاندارد Sum درج کنید تا جمع جزء در پاصفحهٔ هر break ظاهر شود.
6.2
Sectionها
متوسط
چه و چرا. یک section گزارش را به بخشهای کوچکتر تقسیم میکند؛ برای هر مقدار یک dimension یک بخش، و هر کدام با جدول خودش. از آن برای «یک صفحه برای هر State» یا «یک block برای هر Quarter» استفاده کنید.
مراحل
از یک ستون: روی ستون راستکلیک کنید > Set as Section.
از dimensionی که در جدول نیست: در بخش Insert نوار ابزار روی دکمهٔ section کلیک کنید، روی بوم کلیک کنید، dimension را در کادر گفتوگوی Define a New Section انتخاب کنید، OK.
حذف: روی سلول section یا خود section راستکلیک کنید > Delete.
چیدمان: روی section راستکلیک کنید > Format Section›Layout Settings. گزینهها: Start on a new page، Start instances on a new page، Avoid page breaks in section، Repeat section cell on every page. روی Apply کلیک کنید.
رنگها و تصاویر: روی section راستکلیک کنید > Format Section›Appearance Settings.
پنهان کردن: روی section راستکلیک کنید > Hide، سپس Hide، Hide When Empty یا Hide When با یک فرمول (در پنل Format گزینهٔ Hide when the following formula is true را تیک بزنید، سپس Apply).
مثال کاربردی. جدولی با City، Quarter و Sales revenue دارید. Quarter را section کنید. sectionهای Q1، Q2، Q3 و Q4 به دست میآیند که هر کدام شهرها را با درآمدشان فهرست میکند.
6.3
رتبهبندی
متوسط
چه و چرا. فقط رکوردهای بالا یا پایین را نگه دارید؛ مثلاً 3 ایالت برتر از نظر درآمد. رتبهبندی (ranking) در پشت صحنه مرتبسازی و فیلتر انجام میدهد.
مراحل
در حالت Design، روی عنصر (مثلاً block) راستکلیک کنید.
روی Data›Add Rank و سپس Add a rank کلیک کنید.
Top یا Bottom را تیک بزنید و عدد را با علامتهای - و + تعیین کنید.
measure را در فهرست Based on انتخاب کنید.
اختیاری: یک dimension در فهرست Ranked by انتخاب کنید.
یک Calculation mode انتخاب کنید: Count، Percentage، Cumulative Sum یا Cumulative Percentage.
روی OK کلیک کنید.
مثال کاربردی. blockی با State و Sales revenue دارید. Ranking با Top 3، Based on روی Sales revenue و حالت Count، سه ایالت با بیشترین درآمد را نگه میدارد و از بیشترین به کمترین مرتب میکند. حالت Percentage با Top 10، ده درصد بالای رکوردها را نگه میدارد.
6.4
گروهبندی مقادیر dimension
متوسط
چه و چرا. مقادیر یک dimension را در یک گروه نامدار جمع کنید؛ مثلاً New York، Washington و Boston را در «Eastern branch offices». مقادیر گروهبندیشده در جدول تجمیع میشوند.
مراحل
در حالت Design، یک dimension را در پنل Objects انتخاب کنید، روی منوی آن کلیک کنید و Manage Groups را انتخاب کنید.
مقادیری را که میخواهید گروه شوند تیک بزنید و روی Group کلیک کنید. در کادر گفتوگوی New Group نام گروه را بنویسید و روی OK کلیک کنید.
اختیاری: از Ungrouped Values›Automatically Grouped استفاده کنید تا همهٔ مقادیر باقیمانده در یک گروه نامدار قرار بگیرند.
برای حذف مقادیر، آنها را با منوی کشویی All Groups نمایش دهید، انتخابشان کنید و روی Ungroup کلیک کنید. برای بستن روی OK کلیک کنید.
اگر بهجای گروه، ترتیب سفارشی مقادیر را میخواهید، از منوی dimension گزینهٔ Custom Order را انتخاب کنید.
مثال کاربردی. شهرهای City را در «East» و «West» گروهبندی کنید. سرستون City به «City+» تبدیل میشود و یک متغیر گروه زیر Variables در پنل Objects ظاهر میشود.
6.5
نمایش، پنهانسازی و جمع کردن
متوسط
چه و چرا. جدولها، ستونها یا سطرهای خالی را پنهان کنید تا گزارش مرتب بماند، یا sectionها و جدولها را جمع (fold) کنید تا فقط جمعها را ببینید.
مراحل: پنهان کردن
جدول: روی لبهٔ بالای آن راستکلیک کنید > Hide، سپس Hide، Hide When Empty یا Hide When... (با فرمول). روی Apply کلیک کنید. میتوانید جدول را از پنل Report Structure هم پنهان کنید، ولی بدون این گزینهها.
ستون یا سطر: روی آن راستکلیک کنید > Hide، با همان سه گزینه. در جدول عمودی ستونها را پنهان میکنید. در جدول افقی سطرها را. برای پنهان کردن فقط یک dimension: روی آن راستکلیک کنید > Hide›Hide Column یا Hide Row.
سطرهای خالی یا صفر: روی قاب جدول راستکلیک کنید > Format Table›Display Settings. در پنل Format، بخش Columns and Rows، از گزینههایی مثل Show rows with empty measure values و Shows rows for which all measure values = 0 استفاده کنید. روی Apply کلیک کنید.
نمایش دوباره: ماوس را روی جدول پنهان در پنل Report Structure نگه دارید > Show. dimensionها و measureها: روی قاب جدول راستکلیک کنید > Hide›Show All Hidden Objects. همه چیز: روی گزارش راستکلیک کنید > Hide›Show All Hidden Content.
مراحل: جمع کردن
در بخش Display نوار ابزار: در حالت Reading روی دکمهٔ fold کلیک کنید. در حالت Design منوی آن را باز کنید و Fold / Unfold را انتخاب کنید.
از آیکونهای جمع و باز کردن روی جدولها، breakها و sectionها استفاده کنید. برای cross table، در منو سطرها یا ستونها را انتخاب کنید.
6.6
چیدمان جدول و گزارش، سرعنوانها، شکست صفحه
متوسط
مراحل
پنل Format را در حالت Design باز کنید. زبانههای آن Display Settings، Layout Settings، Appearance Settings، Text Settings و Style Settings هستند.
گزارش: وقتی گزارش انتخاب شده است، از Layout Settings برای تعداد رکورد در هر صفحه، اندازهٔ صفحه، جهت، مقیاس و حاشیهها استفاده کنید. از Appearance Settings برای حاشیه (border) و پسزمینه استفاده کنید. از Display Settings برای تغییر نام گزارش یا تیک زدن Report header و Report footer استفاده کنید.
سرصفحه یا پاصفحه: آن را انتخاب کنید، سپس از Layout Settings برای اندازه و از Appearance Settings برای حاشیه و پسزمینه استفاده کنید.
پسزمینه: گزارش، سرصفحه، پاصفحه، section، جدول یا سلولها را انتخاب کنید > Appearance Settings›Background. یک رنگ انتخاب کنید. زیر Pattern، یکی از Skin، یک تصویر (URL یا فایل) یا Linear Gradient را انتخاب کنید. برای حذف آن None را انتخاب کنید.
رنگهای یکدرمیان: جدول را انتخاب کنید > Appearance Settings›Alternate Color. مقدار Frequency و رنگ را تعیین کنید.
سرعنوانها و پاصفحهها: روی قاب جدول راستکلیک کنید > Format Table›Display Settings > بخش Layout. Header و Footer را تیک بزنید یا تیکشان را بردارید. cross tableها سرعنوان بالا و کناری و پاصفحهٔ پایین و کناری هم دارند.
برچسبهای cross table: در همان جا، Show object names را تیک بزنید.
صفحهبندی: روی قاب جدول راستکلیک کنید > Format Table›Layout Settings. در Page Break، از Avoid page breaks و گزینهٔ تکرار در هر صفحه (برای زیربخشهای عمودی و افقی) استفاده کنید. در Layout، از Repeat vertical header on every page، Repeat horizontal header on every page و گزینههای متناظر پاصفحه استفاده کنید.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1یک کوئری با State، City و Sales revenue دارید و کوئری دیگری با City و Quantity sold. جدولی با State، City و Quantity sold در همهٔ سطرها همان جمع کل مقدار را نشان میدهد. چه چیزی مشکل را حل میکند؟
کوئریها همگام نیستند، پس جمع کل کوئری دوم تکرار میشود. ادغام City آنها را به هم پیوند میدهد.
Q23 ایالت برتر را بر اساس Sales revenue رتبهبندی میکنید و دو ایالت در جایگاه اول برابرند. چند سطر ممکن است برگردد؟
مقادیر برابر رتبهٔ مشترک میگیرند و رتبههای بعدی عقب میروند، پس Top 3 ممکن است بیش از 3 رکورد برگرداند.
Q3برای هر Quarter یک جدول Sales revenue جداگانه میخواهید که هر کدام در صفحهٔ خودش شروع شود. کدام درست است؟
section گزارش را به blockهای جداگانه، یکی برای هر مقدار، تقسیم میکند و Format Section چیدمان صفحهٔ آن را کنترل میکند. break درون یک block تقسیم میکند.
Q4یک قاعدهٔ قالببندی شرطی میسازید تا Margin پایین قرمز شود، اما رنگ در بعضی سطرهای جدولی که روی State break دارد هرگز ظاهر نمیشود. کدام گزارهٔ راهنما علت محتمل را توضیح میدهد؟
راهنما میگوید برای سطر یا ستونی که break دارد، قاعده فقط وقتی فعال میشود که مقدار منطبق در سطر اول break ظاهر شود.
2سطح 2 · مهارتهای اصلی · ماژول 7 از 23
نمودارها
نمودار مناسب را انتخاب کنید، داده بدهید و قالببندی کنید.
7.1
انتخاب نوع نمودار
مبتدی
چه و چرا. نمودار دادههای شما را به شکل تصویر نشان میدهد. نوع نمودار را بر اساس پرسشی که دارید انتخاب میکنید. راهنمای 4.3 نمودارها را بر اساس «نوع تحلیل» (analysis type) دستهبندی میکند. برای انتخاب از جدول زیر کمک بگیرید. برخی نمودارها فقط «عنصر گزارش کلاسیک» (classic report element) هستند و برخی فقط «ویجت» (widget). هر جا این موضوع مهم باشد، جدول آن را گفته است.
میخواهید...
نوع تحلیل
نمودارهایی که راهنما فهرست میکند
چند دسته را با هم مقایسه کنید
Comparison
Column، Bar، Combined Column Line، Waterfall. فقط عنصر گزارش کلاسیک: Dual Y-Axis Column، Dual Y-Axis Line، Dual Y-Axis Combined Column Line، 3D column.
تغییر در طول زمان را نشان دهید
Trend
Line، Area.
اجزای یک کل را نشان دهید
Proportion
Pie، Donut، Stacked Column، 100% Stacked Column، Stacked Bar، 100% Stacked Bar. فقط کلاسیک: Pie with Variable Slice Depth، Funnel، Pyramid.
نحوهٔ پخش شدن مقادیر را نشان دهید
Distribution
Tree Map، Heat Map، Radar. فقط کلاسیک: Box Plot، Tag Cloud.
رابطهٔ میان مقادیر را ببینید
Correlation
Scatter Plot/Scatter، Bubble. فقط کلاسیک: Polar Bubble، Polar Scatter Plot.
مکان را نشان دهید
Geographic
فقط کلاسیک: Geo Choropleth، Geo Bubble، Geo Pie (بخش 4.5 را ببینید).
یک KPI را نشان دهید
Indicator
فقط کلاسیک: Speedometer، Linear Gauge، Angular Gauge، Tile، Deviation Tile. فقط ویجت: Bullet، Harvey Ball، Radial.
چند نمودار کوچک کنار هم (small multiples) نشان دهید
Bar: مستطیلهای افقی. برای مقایسهٔ گروههای مشابه مناسب است، مثلاً درآمد یک دوره در برابر دورهٔ دیگر. انواع: Bar، Stacked Bar، 100% Stacked Bar.
Column: میلههای عمودی که بر اساس دسته گروهبندی میشوند. برای تغییر در یک دوره یا مقایسهٔ اقلام مناسب است. انواع: Column، Column with Dual Value Axes، Combined Column and Line، Combined Column and Line with Dual Value Axes، Stacked Column، 100% Stacked Column، 3D Column.
Line: مقادیر را با خط به هم وصل میکند. برای روندها در طول زمان مناسب است. انواع: Line، Line with Dual Axes، Area.
Pie: بخشهای یک کل. در Pie ساده فقط یک measure میتوانید داشته باشید و در Pie با عمق (depth) دو measure. چند measure دارید؟ نوع نمودار دیگری انتخاب کنید. Donut همان Pie است با مرکز خالی. برچسبهای داده میتوانند به خط بعد بروند: در پنل Data Values از زبانهٔ Format Chart، گزینهٔ Text Policy را روی Wrap بگذارید.
Point: Scatter plot (نقاط XY بدون خط اتصال)، Bubble (متغیر اضافی به شکل اندازهٔ نقطه نمایش داده میشود)، Polar scatter، Polar bubble.
Radar (عنکبوتی): چند محور از یک مبدأ با مقیاس مشترک.
Waterfall (پلی): میلههای شناور که هر کدام از جایی شروع میشود که قبلی تمام شده است. برای نشان دادن افزایشها و کاهشها مناسب است.
نمودارهای نقشهای (Map charts): Tree Map (مستطیلهای تودرتوی رنگی) و Heat Map (رنگها از یک measure میآیند).
Gauge: Angular Gauge، Linear Gauge، Speedometer. هر Gauge یک measure اصلی دارد که با یک بیشینه و در صورت تمایل با یک هدف و یک کمینه مقایسه میشود.
Tag cloud: کلماتی که اندازهشان بر اساس وزن نسبی است.
Geomap: داده روی نقشهٔ جغرافیایی (بخش 4.5).
مثال کاربردی. پرسش: «کدام Product line بیشترین درآمد را دارد؟» این یک مقایسه است، پس از نمودار Column یا Bar با Product line و Sales revenue استفاده کنید. پرسش: «درآمد در این چهار سال چگونه تغییر کرد؟» این یک روند است، پس از نمودار Line با Year و Sales revenue استفاده کنید. پرسش: «سهم هر Product line از درآمد امسال چقدر است؟» این یک نسبت (proportion) است، پس از نمودار Pie استفاده کنید (فقط یک measure).
7.2
افزودن نمودار و تخصیص داده
مبتدی
چه و چرا. نمودار جدید خالی شروع میشود (یک «نمودار شبح» (ghost chart) خاکستری روشن). سپس با رها کردن objectها روی آن، به آن داده «میدهید» (feed). هر نوع object به یک «درایور» (driver) متفاوت از نمودار میرود.
مراحل: افزودن نمودار
سند را در حالت Design باز کنید.
در بخش Insert نوار ابزار، روی دکمهٔ Insert chart کلیک کنید، یا فهرست کشویی آن را باز کنید و یک دستهٔ نمودار و یک نمودار انتخاب کنید. از آن پس، دکمه آخرین نوع نموداری را که انتخاب کردهاید به خاطر میسپارد.
داخل بوم (canvas) گزارش کلیک کنید تا یک نمودار شبح قرار بگیرد.
اختیاری: برای تغییر نوع نمودار، پنل Data را باز کنید، Turn Into را باز کنید، روی یک دستهٔ نمودار کلیک کنید و یک نمودار انتخاب کنید. اگر پنل Data خودش باز نشد، پنل کناری (side panel) را از نوار ابزار باز کنید.
هر نوع object به کجا داده میدهد
هدف
به کجا داده میدهد
نوع object
اتصال به محورها
محورهای مقدار (Value axes)
Measures
اتصال به محورها
محورهای دسته (Category axes)
Dimensions، Details یا Measure Names
تعریف سریها (اختیاری)
Region Color؛ Region Shape (نمودارهای Radar و Point)
Dimensions، Details یا Measure Names
تعریف اندازهٔ سری
اندازه یا ارتفاع برش Pie؛ وزن مستطیل TreeMap؛ ارتفاع و پهنای Bubble
Measures
رنگآمیزی شرطی (اختیاری)
مستطیلهای Map؛ ناحیههای متنی TagCloud
Measures
مراحل: تخصیص داده. یکی از کارهای زیر را انجام دهید:
از پنل Objects، dimensionها و measureها را روی نمودار بکشید.
آنها را به بخش Data Assignment در پنل Data بکشید.
روی نمودار شبح راستکلیک کنید، روی Assign Data کلیک کنید، سپس objectها را روی نمودار یا داخل Data Assignment بکشید.
مثال کاربردی. یک نمودار Column اضافه کنید. Product line را به محور دسته و Sales revenue را به محور مقدار بکشید. Year را روی Region Color بکشید تا هر سال یک سری رنگی شود.
7.3
Turn Into، حذف، موقعیت
مبتدی
چه و چرا. برای دیدن همان داده به شکلی دیگر، بهندرت لازم است نمودار را از نو بسازید. Turn Into نوع نمودار را در همان جا عوض میکند.
مراحل: تغییر نوع نمودار
در حالت Design، نمودار را انتخاب کنید و پنل Data را باز کنید.
در زبانهٔ Feeding، زیر Turn Into، روی فهرست کشویی کنار یک دستهٔ نمودار کلیک کنید و یک نمودار انتخاب کنید. در صورت نیاز مقادیر نمودار را ویرایش کنید.
روی Apply کلیک کنید. الگوی انتخابشده روی بلوک اعمال میشود.
مراحل: حذف نمودار. روی قاب نمودار راستکلیک کنید و Delete را بزنید. یا در پنل کناری، زبانهٔ Document Structure and Filters را انتخاب کنید، روی نام نمودار راستکلیک کنید و Delete را انتخاب کنید. یا نمودار را انتخاب کنید و روی آیکون Delete در نوار ابزار پنل کناری کلیک کنید.
مراحل: تنظیم موقعیت. در حالت Design، نمودار را انتخاب کنید و پنل Format را باز کنید. در زبانهٔ Layout Settings، با بخش Relative Position حاشیهها را تنظیم کنید.
مراحل: تغییر اندازه. یک بار روی نمودار کلیک کنید و یکی از دستگیرههای لبهاش را بکشید. یا از بخش Size در Layout Settings استفاده کنید (Width و Height).
موقعیت نسبی (Relative positioning). اگر بیش از یک بلوک دارید، میتوانید نمودار را نسبت به بلوک دیگری قرار دهید. اگر دادهٔ جدید اندازهٔ بلوکها را تغییر دهد، باز هم روی هم نمیافتند. اگر بلوک مرجع جابهجا شود، نمودار هم همراه آن جابهجا میشود. مراحل: نمودار را انتخاب کنید، پنل Format، زبانهٔ Layout Settings، بخش Relative Position. حاشیههای چپ، راست، بالا و پایین را تنظیم کنید و برای هر حاشیه مشخص کنید که نسبت به لبهٔ گزارش است یا نسبت به یک عنصر دیگر گزارش.
مثال کاربردی. یک نمودار Column از درآمد بر اساس Product line ساختهاید. همکارتان سهم از کل را میخواهد. نمودار را انتخاب کنید، Turn Into را باز کنید و Pie را انتخاب کنید. حالا همان داده به شکل Pie نمایش داده میشود (فقط یک measure).
7.4
قالببندی نمودارها
متوسط
چه و چرا. قالببندی نمودار را خوانا میکند: عنوانها، راهنما (legend)، رنگها، بازهٔ محورها، برچسبها. تقریباً همهچیز در پنل Format است.
مراحل: باز کردن پنل Format
در حالت Design، نمودار را انتخاب کنید و پنل Format را از پنل کناری باز کنید.
از زبانههای بالای پنل استفاده کنید: Display Settings، Appearance Settings، Style Settings و Layout Settings.
برای قالببندی یک بخش (عنوان، راهنما، ناحیهٔ رسم، محورها)، از فهرست کشویی کنار نام نمودار در بالای پنل استفاده کنید.
برای ذخیرهٔ تغییرات روی Apply کلیک کنید.
کارهای رایج (مسیرها همانطور که راهنمای 4.3 نوشته)
کار
کجا
عنوان نمودار
زبانهٔ Display Settings > بخش Display > تیک Title را بزنید، روی پیکان راست کلیک کنید > Custom، عنوان را تایپ کنید
ظاهر سهبعدی
زبانهٔ Style Settings > بخش 3D›3D Look
پالت رنگ
زبانهٔ Style Settings > بخش Palettes > فهرست کشویی. با Customize›New پالت خودتان را بسازید
رنگآمیزی یک مقدار dimension
object مربوط به dimension یا قلم راهنما را انتخاب کنید > کلید Custom Format›Series Color (یا More Colors)
قالببندی یک سری یا یک نقطه
برش، نقطه یا قلم راهنما را انتخاب کنید > کلید Custom Format > رنگ سری، رنگ حاشیه، ضخامت خط، Show data values، Position
راهنما (Legend)
راهنما را انتخاب کنید > تیک Legend Title را بزنید. از زبانهها برای اندازهٔ نماد، موقعیت، چیدمان، متن، حاشیه و پسزمینه استفاده کنید
معکوس کردن ترتیب راهنما
راهنما را انتخاب کنید > Legend Title > پیکان راست > تنظیمات سبک > Reverse legend order
جلوگیری از شکستن صفحه
زبانهٔ Layout Settings > بخش Layout›Avoid page break (افقی و عمودی)
انباشتن (Stacking)
Display Settings›Value Axis (پیکان راست) > تنظیمات سبک > بخش Style›Stacking
بازهٔ ثابت محور
Display Settings›Value Axis (پیکان راست) > تنظیمات سبک > Scaling›Minimum Value و Maximum Value را روی Fixed Value بگذارید
محور لگاریتمی
همانجا > Scaling›Axis Scaling›Logarithmic
باز کردن قفل محور دوم
Display Settings > تیک Value Axis 2 (پیکان راست) > تنظیمات سبک > Scaling›Unlock the Axis
پنهان کردن نمودار خالی
زبانهٔ Display Settings > بخش Display: Hide always، Hide when empty یا Hide when formula is true
نمایش برچسبهای داده
فهرست کشویی کنار نام نمودار > Plot Area > تنظیمات نمایش > تیک Data Label
تغییر اندازه
زبانهٔ Layout Settings > بخش Size > Width و Height
گزینههای انباشتن (Value Axis > Stacking)
Unstacked: بدون انباشتن.
Stacked Chart: یک dimension را بر اساس dimension دیگر برش میزند، مثلاً درآمد به تفکیک ایالت و سال. measureها روی هم انباشته نمیشوند.
Globally Stacked: dimensionها و measureها در یک ستون انباشته برای هر bar یا column.
100% Stacked: هر میله 100% دسته است. با سه سری یا بیشتر خوب کار میکند. برای اینکه میلههای صفر صاف بخوابند، در فهرست کشویی نام نمودار Plot Area را انتخاب کنید، تنظیمات سبک را باز کنید و تیک Flatten zero values را بزنید.
فرمول در اجزای نمودار. ویرایشگر فرمول (formula editor) در این جاها کار میکند: عنوان نمودار، عنوان راهنما، عنوان محورها، و مقادیر کمینه و بیشینهٔ محور.
مقادیر صفر. زبانهٔ Display Settings > بخش Dimensions and Measures. برای نمودارها: گزینههای Show measure values when values = 0 و Show measure values for which the sum of values = 0 اقلامی را که صفر هستند حذف میکنند. مقادیر خالی صفر حساب میشوند.
مثال کاربردی. نمودار: Year روی محور دسته، Sales revenue بهعنوان مقدار، Product line بهعنوان رنگ. در پنل Format، مسیر Display Settings›Value Axis > تنظیمات سبک > Stacking، گزینهٔ Stacked Chart را انتخاب کنید تا هر سال بر اساس Product line برش بخورد. سپس 100% Stacked را بزنید تا ترکیب Product lineها را در سالهای مختلف مقایسه کنید. برچسبهای داده را زیر Plot Area اضافه کنید. عنوان را با یک فرمول در ویرایشگر فرمول تنظیم کنید.
2سطح 2 · مهارتهای اصلی · ماژول 8 از 23
ذخیره، خروجی و زمانبندی
خروجی Excel، PDF و CSV، بازیابی سند، یادداشتگذاری روی داده و زمانبندی سند.
8.1
ذخیره و خروجی گرفتن
مبتدی تا متوسط
چه و چرا. ذخیره (Save) سند شما را نگه میدارد. خروجی گرفتن (Export) یک گزارش یا دادههای آن را به کسی میدهد که از Web Intelligence استفاده نمیکند.
ذخیره (رابط وب). در بخش File نوار ابزار، روی فهرست کشویی کلیک کنید و Save As را انتخاب کنید. به یک پوشه بروید، نام فایل را بدهید، سپس روی Options کلیک کنید تا توضیح و کلیدواژه اضافه کنید. اختیاری: Refresh on open، Permanent regional formatting، Save document with comments. روی Categories کلیک کنید، یک یا چند دسته انتخاب کنید و سپس روی Save کلیک کنید. فقط میتوانید در یک پوشهٔ عمومی که روی آن حق دسترسی دارید، یا در پوشهٔ شخصیتان ذخیره کنید. اگر حق ویرایش ندارید، با Save As یک کپی بسازید. نمونهٔ زمانبندیشده (scheduled instance) را نمیتوانید ذخیره کنید.
ذخیره (Rich Client). راهنما میگوید سند همیشه بهصورت محلی روی رایانهٔ شما ذخیره میشود. نمیتوانید مستقیماً روی CMS ذخیره کنید.
خروجی گرفتن از گزارشها
در بخش File نوار ابزار، روی فهرست کشویی کلیک کنید و Export را انتخاب کنید.
در پنل کناری، قالب را انتخاب کنید. برای Excel یا CSV، مطمئن شوید دکمهٔ رادیویی Reports انتخاب شده است.
تیک گزارشهایی را که میخواهید خروجی بگیرید بزنید.
برای Excel، PDF یا CSV، زبانهٔ Options را باز کنید تا گزینهها را تغییر دهید. Set as default values آنها را ذخیره میکند.
روی Export کلیک کنید. فایل بهصورت محلی ساخته میشود.
خروجی گرفتن از مجموعهدادهها (datasets).File›Export، Excel یا CSV را انتخاب کنید، دکمهٔ رادیویی Data را انتخاب کنید، تیک کوئریها یا cubeها را بزنید، در صورت نیاز گزینههای CSV را تنظیم کنید و روی Export کلیک کنید.
قالب
نکتهها
Excel (.xlsx)
هر گزارش یک worksheet میشود. نمودارها به تصویر تبدیل میشوند (DPI را تنظیم کنید). گزینههای قالببندی: حفظ قالببندی اصلی؛ حفظ قالببندی ولی همتراز کردن سلولهای مجاور برای کم کردن ستونها؛ یا حذف همهٔ قالببندی برای پردازش آسانتر داده. مجموعهدادهها: برای هر کوئری یا cube یک worksheet.
PDF
گزارشها را انتخاب کنید. برای یک گزارش: همهٔ صفحهها، صفحهٔ فعلی، یا بازهای از صفحهها. DPI تصاویر را تنظیم کنید. گزینهای برای نمایش زبانهٔ بوکمارکها هنگام باز شدن.
HTML
گزارشها را انتخاب کنید. چند گزارش در یک ZIP قرار میگیرند، هر کدام در یک پوشه. سرصفحه و پاصفحهٔ گزارش خروجی گرفته نمیشوند.
Text
جداشده با tab. نمودارها، تصاویر و قالببندی متن خروجی گرفته نمیشوند. حد پیشفرض اندازه 5 MB (در CMC). چند گزارش پشت سر هم در یک فایل اضافه میشوند.
CSV
گزارشها: یک آرشیو با یک CSV برای هر گزارش. مجموعهدادهها: یک CSV از همهٔ موارد انتخابشده، یا یک ZIP با یک CSV برای هر مجموعهداده. text qualifier، column delimiter (میتوانید هر نویسهای تایپ کنید، مثلاً pipe) و charset را تنظیم کنید.
ذخیرهٔ خودکار و بازیابی (Autosave and recovery). اگر نشست (session) منقضی شود، سند بازیابی میشود. آن را از زبانهٔ Document Recovery در کادر محاورهٔ Open a Web Intelligence Document، یا از پوشهٔ ~WebIntelligence در BI launch pad باز کنید. نسخههای بازیابیشده بهطور پیشفرض 24 ساعت نگه داشته میشوند. برای حذف یکی از آنها، از آیکون حذف در همان کادر محاوره استفاده کنید. مدیران سیستم اندازه، تأخیر ذخیرهٔ خودکار و تأخیر پاکسازی را تنظیم میکنند.
مثال کاربردی. واحد مالی جدول درآمد فصلی را در Excel میخواهد تا با آن pivot بسازد. File›Export، Excel را انتخاب کنید، Reports را انتخاب کنید، تیک گزارش را بزنید و گزینهٔ حذف همهٔ قالببندی را انتخاب کنید. نمودار آن گزارش به شکل تصویر میرسد. برای یک خوراک دادهٔ ساده، Data را انتخاب کنید، تیک یک کوئری را بزنید و به CSV خروجی بگیرید.
8.2
بازیابی سندها (ذخیرهٔ خودکار)
متوسط
قابلیت جدید در 4.3: پس از پایان مهلت نشست (session timeout)، میتوانید سندهای جدید و موجود خود را بازیابی کنید.
باز کردن و ذخیرهٔ سند بازیابیشده
در بخش File نوار ابزار روی Open کلیک کنید. یک نقطه روی دکمه (برای مثال نارنجی) نشان میدهد که سندهای بازیابیشده وجود دارند. راهنمای ابزار (tooltip) میگوید «Access your recovered documents here».
در کادر گفتوگوی Open a Web Intelligence Document، زبانهٔ Document Recovery را انتخاب کنید.
نسخهٔ بازیابیشده را انتخاب کنید و روی Open کلیک کنید.
اگر درست است، در بخش File روی Save کلیک کنید. محتوای بازیابیشده در سند اصلی قرار میگیرد.
حذف یک نسخهٔ بازیابیشده
زبانهٔ Document Recovery را باز کنید، نسخه را انتخاب کنید و روی آیکون حذف سند بازیابیشده کلیک کنید.
مثال کاربردی: هنگام ویرایش «eFashion Sales by Region» مهلت نشست شما تمام میشود. دفعهٔ بعد، دکمهٔ Open یک نقطه نشان میدهد. در Document Recovery آخرین نسخه را انتخاب میکنید، آن را باز میکنید و ذخیره میکنید.
Gotchas
نسخههای بازیابیشده بهطور پیشفرض 24 ساعت نگه داشته میشوند.
سندهای موجود با نام خودشان و جدیدترین در بالا نمایش داده میشوند. سندهای جدید با عنوان «Unnamed new document» نمایش داده میشوند. لازم نیست سند جدید را قبلاً ذخیره کرده باشید.
نقطه فقط پس از باز کردن سندی که نسخههای بازیابیشده دارد نمایش داده میشود.
میتوانید آنها را در پوشهٔ ~WebIntelligence در BI launch pad هم پیدا کنید.
حدود را مدیران سیستم تعیین میکنند. حداکثر دادهٔ ذخیرهٔ خودکار: پیشفرض 30 MB. فاصلهٔ ذخیرهٔ خودکار: پیشفرض 600 ثانیه (10 دقیقه)، بازهٔ 60 ثانیه تا 24 ساعت. تأخیر پاکسازی: پیشفرض 24 ساعت، حداکثر 30 روز.
فاصلهٔ ذخیرهٔ خودکار، بیشترین مقدار کاری است که ممکن است از دست بدهید. این مقدار به Idle Document Timeout سرور هم بستگی دارد.
8.3
یادداشتها (Comments)
متوسط
چه و چرا. یادداشتها به افراد امکان میدهند دربارهٔ ارقام درون گزارش گفتوگو کنند. آنها در پنل Comments در پنل کناری قرار دارند. میتوانید روی یک گزارش (سلول آزاد)، یک بخش (section)، یک سلول جدول، یک سلول گزارش، یا یک نمایش بصری (نمودار یا جدول) یادداشت بگذارید.
مراحل
یادداشت کلی: در حالت Design، در بخش Insert نوار ابزار، روی دکمهٔ سلول کلیک کنید و از فهرست کشویی Comment را انتخاب کنید. روی صفحهٔ گزارش کلیک کنید تا سلول قرار بگیرد. پنل Comments را باز کنید، یادداشت را تایپ کنید و روی Save کلیک کنید.
یادداشت بخش: همان مراحل، ولی سلول را داخل یک بخش قرار دهید. فقط در همان بخش نمایش داده میشود.
یادداشت سلول: روی سلول راستکلیک کنید (برای سلول جدول در حالت Reading، دو بار) و از منوی زمینه روی Comments کلیک کنید. در حالت Reading، برای سلول گزارش بهجای آن از ویجت کنشهای سریع (quick actions widget) استفاده میشود. یادداشت را بنویسید. یک نوار زرد در گوشهٔ بالا-راست ظاهر میشود.
یادداشت نمایش بصری: روی نمودار یا جدول راستکلیک کنید. در حالت Reading از ویجت کنشهای سریع استفاده کنید. در حالت Design روی Comments کلیک کنید. یک نوار زرد ظاهر میشود.
کپی یک رشتهٔ یادداشتها: عنصر را انتخاب کنید، پنل Comments را باز کنید، روی Copy All کلیک کنید، متن را در Copy Comments انتخاب کنید و Ctrl+C یا Cmd+C را بزنید.
حذف: روی نوار زرد کلیک کنید، سپس روی آیکون حذف کنار یادداشت در پنل Comments.
ذخیره همراه با یادداشتها: Save As›Options›Save document with comments (بهطور پیشفرض خاموش است و بدون حق دسترسی، خاکستری است).
نمایش یک یادداشت مشخص. تابع Comment() پارامترهایی میگیرد تا وقتی یک سلول چند یادداشت دارد، فقط یکی را نشان دهد. فقط با سلولهای خالی کار میکند. پایگاه دادهٔ یادداشتها OptionKey1 تا OptionKey4 را دارد. مثال از راهنما: Comment("OptionKey1";"Validated") فقط یادداشتی را نشان میدهد که با Validated علامت خورده است. اگر چند یادداشت منطبق باشند، اولی یا آخری نشان داده میشود، بسته به تنظیمی که در ویژگیهای سند (document properties) انجام شده است.
مثال کاربردی. Sales revenue ایالت Texas در Q3 عجیب به نظر میرسد. روی آن سلول راستکلیک کنید، Comments، «Check promotion timing» را تایپ کنید و ذخیره کنید. یک همکار از پنل Comments پاسخ میدهد.
8.4
مفاهیم کلیدی پیش از زمانبندی
مبتدی
چه و چرا. زمانبندی (scheduling) یعنی BI Platform در زمانی مشخص، سند را بهجای شما اجرا میکند و نتیجه را ذخیره میکند. دیگر لازم نیست گزارش را باز کنید و روی Refresh کلیک کنید. هر اجرای موفق یک instance میسازد: نسخهای از سند که دادههای همان اجرا را در خود دارد. زمانبندی میکنید تا افراد گزارشی را باز کنند که از قبل بهروز است.
واژههای اصلی:
Instance: یک نسخهٔ واحد از سند یا انتشار. پلتفرم تاریخچهای از instanceها را روی سرور پیشفرض Enterprise نگه میدارد. فهرست را از کاشی Instances در صفحهٔ اصلی BI Launch Pad، یا از منوی actions کنار سند > History باز کنید. ستونها: Instance time، Title، Status، Created by، Type، Parameters.
Recurrence: تعداد دفعات اجرای سند.
Prompts: پرسشهایی که دادهها را فیلتر میکنند. هنگام زمانبندی، پاسخها را از پیش تعیین میکنید.
Formats: نوع فایل instance ذخیرهشده.
Destinations: جایی که instance به آن فرستاده میشود. اکنون میتوانید در یک زمانبندی چند مقصد انتخاب کنید.
Events: رویدادی که باید پیش از شروع اجرا رخ دهد.
Delivery rules: شرطهایی که جلوی ارسال اسناد خالی یا ناقص را میگیرند.
Publication: مجموعهای از اسناد که برای افراد زیادی فرستاده میشود و هر فرد نمای فیلترشدهٔ خودش را دریافت میکند.
8.5
زمانبندی یک سند
مبتدی
چه و چرا. از این روش استفاده کنید تا گزارشی طبق برنامه بهروز و تحویل شود؛ برای مثال گزارش فروش هفتگی که هر دوشنبه در BI Inbox شما قرار میگیرد.
پیش از شروع: سند Web Intelligence باید یک context تعیینشده داشته باشد. اگر چند context دارد، پیش از زمانبندی آن را با context درست refresh کنید.
مراحل (BI Launch Pad):
سند را در Recent Documents، یا در کاشی Documents یا Folders پیدا کنید.
منوی actions کنار سند را باز کنید و روی Schedule کلیک کنید.
در زبانهٔ Instance Title، برای instance نام بگذارید. بهطور پیشفرض نام سند را میگیرد.
در بخش Select delivery destinations، روی Add کلیک کنید. پیشفرض Default Enterprise Location است. از فهرست کشویی Destination یک مقصد انتخاب کنید.
بخشهای Recurrence، Events و Scheduling Server Group را تنظیم کنید.
روی زبانهٔ Report Features کلیک کنید. بخشهای Output Format، Prompts و Delivery Rules را تنظیم کنید.
روی Schedule کلیک کنید.
منطقهٔ زمانی: پیشفرض، منطقهٔ زمانی محلی وبسروری است که BI Platform را اجرا میکند، نه CMSای که به آن وصل میشوید. ابتدا منطقهٔ زمانی خود را در تنظیمات (preferences) BI Launch Pad بررسی کنید. برای زمانبندی به هر مقصد (File System، FTP، SFTP، SMTP، BI Inbox، Google Drive) هم به مجوز امنیتی مربوط نیاز دارید. اگر نمیتوانید تنظیمات را ببینید یا تغییر دهید، از مدیر سیستم بپرسید.
مثال کاربردی. سند: "Sales by Store" (Year، Quarter، State، City، Store، Product line، Sales revenue، Quantity sold، Margin). منوی actions آن را باز کنید > Schedule. Instance Title: "Sales by Store - Monday". مقصد: BI Inbox. Recurrence: Weekly، Monday. در Report Features، Output Format: Microsoft Excel - Reports. روی Schedule کلیک کنید.
8.6
گزینههای تکرار (Recurrence)
مبتدی
چه و چرا. تکرار (recurrence) الگویی است که تعیین میکند سند چه زمانی اجرا شود. الگویی را انتخاب کنید که با نیاز کسبوکار به اعداد همخوان باشد.
گزینه
کاری که طبق راهنما انجام میدهد
Now
یک بار، بلافاصله اجرا میشود.
Once
یک بار در زمانی که تعیین میکنید اجرا میشود. همراه با event، فقط در صورتی یک بار اجرا میشود که event بین زمان شروع و پایان رخ دهد.
Hourly
هر N ساعت و X دقیقه یک instance، بین تاریخهایی که تعیین میکنید.
Daily
هر N روز یک بار، بین تاریخهایی که تعیین میکنید. اولین اجرا در زمان شروع است.
Weekly
هر هفته در روزهایی که انتخاب میکنید، بین تاریخهایی که تعیین میکنید.
Business Hours
هر N ساعت بین یک زمان شروع و پایان، در همهٔ روزها یا روزهای انتخابی، بین تاریخهایی که تعیین میکنید.
Monthly
هر N ماه یک بار، بین تاریخهایی که تعیین میکنید.
Specific Day of a Month
با تنظیم Day of the month: هر ماه در همان روز و در زمان شروع یک instance. با تنظیم Week-day of the month: یک روز هفتهٔ انتخابی از یک هفتهٔ انتخابی، مثلاً اولین سهشنبه.
Calendar
در هر تاریخ تقویمی که مشخص میکنید، در زمان شروع.
برای انتشارها (publications)، ویژگی Recurrence دو گزینهٔ دیگر هم دارد: Number of retries allowed و Retry interval in seconds. این دو باعث میشوند پلتفرم در صورت شکست، اجرا را دوباره امتحان کند (auto-retry).
مثال کاربردی. گزارش حاشیهٔ سود پایان ماه: Specific Day of a Month، Day of the month، زمان شروع 06:00، با تاریخ شروع و پایانی که کل سال را پوشش دهد.
8.7
مدیریت instanceها
مبتدی
چه و چرا. هر اجرا یک instance بر جا میگذارد. لازم است آخرین instance را پیدا کنید، یک instance قدیمی را باز کنید، یک job را متوقف کنید یا Inbox خود را مرتب کنید.
مشاهدهٔ instanceها:
در صفحهٔ اصلی BI Launch Pad، روی کاشی Instances کلیک کنید. یا سند را در Recent Documents، Documents یا Folders پیدا کنید.
منوی actions را باز کنید > History.
برای باز کردن یکی از آنها، از منوی actions کنار instance > View استفاده کنید. برای جدیدترین instance، از منوی actions سند > View Latest Instance استفاده کنید.
یک instance از Web Intelligence را میتوان ویرایش کرد، ولی نمیتوان روی آن ذخیره کرد. بهجای آن از Save As استفاده کنید.
توقف یا ادامه (فقط برای instanceهایی با وضعیت Pending یا Recurring):
History را مانند بالا باز کنید.
تیک instanceها را بزنید.
منوی actions کنار آنها را باز کنید و روی Pause یا Resume کلیک کنید.
حذف instanceهای BI Inbox:
در BI Launch Pad، روی BI Inbox کلیک کنید.
روی Organize›Delete All Messages کلیک کنید.
برای تأیید روی OK کلیک کنید.
مثال کاربردی. job server روز یکشنبه برای نگهداری خاموش است. گزارش دوشنبه را در History متوقف (Pause) کنید و پس از آن با Resume ادامه دهید.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1میخواهید سهم هر Product line از کل درآمد امسال را نشان دهید و فقط measure مربوط به Sales revenue را دارید. کدام نمودار بهتر است؟
نمودارهای Pie اجزای یک کل را نشان میدهند و Pie ساده یک measure میگیرد.
Q2یک نمودار دومحوری صاف به نظر میرسد، چون یک سری کاملاً مثبت است و سری دیگر هم مقادیر منفی و هم مثبت دارد. چه باید بکنید؟
محورهای قفلشده یک مبدأ مشترک دارند. باز کردن قفل به محور دوم شبکه و مبدأ خودش را میدهد. مقیاس لگاریتمی نمیتواند مقادیر منفی را نشان دهد.
Q3از گزارشی که یک نمودار و یک جدول دارد به Excel .xlsx خروجی میگیرید. چه چیزی به دست میآورید؟
راهنما میگوید نمودارها در Excel بهطور خودکار به تصویر تبدیل میشوند. اگر میخواهید جدول برای پردازش داده آماده باشد، گزینهٔ حذف قالببندی را انتخاب کنید.
Q4چهار نمونه از یک سند بزرگ Sales by Region را از قبل زمانبندی کردهاید و میخواهید هر کلیک نمونهٔ منطبق را باز کند. کدام تنظیم؟
فقط این گزینه نمونه را بر اساس مقادیر prompt تطبیق میدهد، و دستکم به یک مقدار ارسالی نیاز دارد وگرنه پیوند خطا میدهد. گزینههای دیگر هیچ مقدار پارامتری ارسال نمیکنند.
3سطح 3 · تحلیل · ماژول 9 از 23
فیلترهای گزارش
آنچه گزارش نشان میدهد را بدون اجرای دوبارهٔ کوئری فیلتر کنید.
9.1
فیلتر گزارش در برابر فیلتر کوئری
مبتدی
«فیلتر کوئری» (query filter) دادهای را که از پایگاه داده خوانده میشود محدود میکند. «فیلتر گزارش» (report filter) فقط مقادیر را در گزارش پنهان میکند. دادههای پنهانشده در سند باقی میمانند. میتوانید فیلتر گزارش را تغییر دهید یا حذف کنید و مقادیر پنهان را بدون دستزدن به کوئری دوباره ببینید. از فیلتر گزارش برای برشزدن گزارشی که از قبل دارید استفاده کنید. از فیلتر کوئری برای کوچک نگهداشتن مجموعهٔ داده استفاده کنید.
فیلتر گزارش چهار جزء دارد:
شیء فیلترشده
عملگر
مقادیر فیلتر
عنصر گزارشی که فیلتر میشود (کل گزارش، یک بخش یا یک بلوک)
میتوانید روی بخشهای مختلف یک گزارش، فیلترهای متفاوتی بگذارید. برای مثال، کل گزارش را به یک خط محصول محدود کنید و سپس یک جدول را بیشتر، به یک منطقه، فیلتر کنید.
برای دیدن اینکه کدام عناصر فیلتر شدهاند، در پنل Structure از پنل اصلی، دنبال آیکون فیلتر کنار آنها بگردید. نوار فیلتر (filter bar) فیلترهایی را که روی دادههای شما اثر دارند نشان میدهد: کنترلهای ورودی، promptها، فیلترها، فیلترهای دریل و element linkها.
مثال. کوئری همهٔ ایالتهای آمریکا را برمیگرداند. فیلتر گزارش "State Equal to California" فقط California را نشان میدهد. فیلتر را حذف کنید تا ایالتهای دیگر برگردند. هیچ کوئری تازهای اجرا نمیشود.
9.2
فیلترهای ساده گزارش (Filter Bar و پنل Data)
مبتدی
در 4.2، فیلترهای ساده گزارش در نوار ابزار جداگانهای به نام Report Filter قرار داشتند. در 4.3 SP5 همین کار را نوار فیلتر (filter bar) و پنل Data انجام میدهند. نوار فیلتر فیلترهایی را که روی دادههای شما اثر دارند نمایش میدهد و مدیریت میکند. پنل Data راهی سریع برای افزودن یا ویرایش فیلترهای ساده با کشیدن و رهاکردن (drag and drop) در اختیارتان میگذارد. میتوانید روی dimensionها، measureها یا detail objectها فیلتر بگذارید. برای universeهای OLAP یا کوئریهای BEx میتوانید روی hierarchyها، characteristicها یا attributeها فیلتر کنید، اما نه در سطح hierarchy و نه روی measureها.
مراحل
به حالت Design بروید. فیلتر را فقط در حالت Design میتوانید اضافه کنید.
پنل کناری (side panel) را از نوار ابزار باز کنید و سپس پنل Data را باز کنید.
وقتی چیزی انتخاب نشده است، پنل Filters روی کل گزارش اعمال میشود. اگر اول یک جدول یا نمودار را انتخاب کنید، روی همان نمایه (visualization) اعمال میشود.
یک شیء را از پنل Objects به جاینگهدار (placeholder) در بخش Filters بکشید.
در کادر محاورهای Select Values، مقادیر را انتخاب کنید.
برای نمایش نوار فیلتر، روی آیکون نوار فیلتر در بخش Analyze نوار ابزار کلیک کنید. این نوار فیلترهای دریل، promptها و کنترلهای ورودی را هم نشان میدهد.
مثال. State را به جاینگهدار فیلتر کل گزارش بکشید و "California" را انتخاب کنید. کل گزارش فقط California را نشان میدهد. Year را هم بکشید و 2006 را برگزینید تا نتیجه محدودتر شود.
9.3
عملگرهای فیلتر گزارش
مبتدی
عملگرها شیء فیلترشده را با مقادیر شما مقایسه میکنند. راهنما این عملگرها را فهرست کرده است.
عملگر
چه میکند
مثال راهنما
Equal to
دادهای که برابر یک مقدار است
[Country] Equal to US
Not Equal to
دادهای که برابر یک مقدار نیست
Country Not Equal to US
Greater than
دادهای بالاتر از یک مقدار
[Customer Age] Greater than 60
Greater than or Equal to
خود مقدار و بالاتر
[Revenue] Greater than or equal to 1500000
Less than
دادهای پایینتر از یک مقدار
[Exam Grade] Less than 40
Less than or Equal to
خود مقدار و پایینتر
[Age] Less than or equal to 30
Between
بین دو کران، با احتساب هر دو. مقدار اول باید از دومی کوچکتر باشد
[Week] Between 25 and 36
Not between
بیرون از بازه
[Week] Not between 25 and 36
In list
با هر یک از مقادیر فهرست مطابقت دارد
[Country] In list، بهصورت US;UK;Japan تایپشده
Not in list
با هیچیک از مقادیر فهرست مطابقت ندارد
[Country] Not in list، US;UK;Japan
IsNull
در پایگاه داده مقداری ندارد
[Children] IsNull
Is not Null
مقدار دارد
[Children] Is not Null
جزئیات In list. در فیلتر کوئری با فهرست مقادیر سلسلهمراتبی، In list به شما اجازه میدهد اعضا را از هر سطحی انتخاب کنید (برای مثال Paris در سطح City و Canada در سطح Country). در فیلتر گزارش، In list یک فهرست تخت میدهد. مقادیر تایپشده را با ; از هم جدا کنید.
مثال (eFashion). [Sales revenue] Greater than or equal to 1500000 ردیفهایی را نگه میدارد که دستکم 1.5 میلیون هستند. [Quarter] In list Q3;Q4 دو فصل را نشان میدهد.
9.4
فیلترهای استاندارد گزارش: ساخت، ویرایش، حذف
مبتدی تا متوسط
فیلترهای گزارش میتوانند از هر عملگری استفاده کنند و روی چند مقدار فیلتر بگذارند. این فیلترها روی کل گزارش یا روی یک نمایه (جدول، نمودار یا بخش) اعمال میشوند.
ساخت
در حالت Design، روی آیکون پنل کناری در نوار ابزار کلیک کنید و سپس پنل Data را باز کنید.
برای فیلترکردن یک نمایه، آن را انتخاب کنید و پنل Filters را باز کنید. برای فیلترکردن کل گزارش، انتخاب را پاک کنید و پنل Filters را باز کنید.
یک شیء را از پنل Objects به جاینگهدار بخش Filters بکشید.
در کادر محاورهای Select Values، روی آیکون عملگر کلیک کنید تا عملگر را انتخاب کنید و گزینههای جستوجوی پیشرفته را ببینید. پیشفرض In List است.
مقادیر را انتخاب کنید. بسته به عملگر، میتوانید برخی مقادیر را تایپ کنید.
برای افزودن فیلترهای بیشتر، همین کار را تکرار کنید.
ویرایش یا حذف. راهنما مراحل جداگانهای برای این کار نمیدهد. برای کار با فیلترهای یک عنصر، Manage Filters را از منوی کنار بخش Filters در پنل Data باز کنید.
مثال. جدول Sales را انتخاب کنید. Lines را به بخش Filters بکشید. عملگر In list. مقادیر Accessories و Outerwear را انتخاب کنید. جدول فقط همین دو خط محصول را نشان میدهد.
انتخاب مقادیر از فهرست مقادیر [Intermediate]
گزینههای جستوجو در کادر محاورهای Select Values: Match case، Search in keys (فقط برای فهرستهایی که از کلید پشتیبانی میکنند) و Show keys (فقط برای کوئریهای OLAP و BEx). وقتی Search in keys روشن است، Match case در دسترس نیست.
اگر فهرست به چند بازه تقسیم شده باشد، جستوجو همهٔ بازهها را پوشش میدهد.
نویسههای جایگزین (wildcard): * یعنی هر رشتهای و ? یعنی هر نویسهٔ تکی. "March" با "M*" یا "Mar?h" مطابقت دارد. برای مطابقت با خود * یا ?، پیش از آنها \ بگذارید.
فهرستهای مقادیر وابسته در promptها ظاهر میشوند، جایی که اول به prompt والد پاسخ میدهید.
9.5
فیلترهای تودرتو
متوسط
فیلتر تودرتوی گزارش (nested filter) چند فیلتر را در خود دارد که با AND و OR ترکیب شدهاند. از آن برای شرطهایی مانند «State برابر California باشد OR Quarter برابر Q3 باشد» استفاده کنید.
مراحل
در حالت Design، یک فیلتر بسازید و آن را به فهرست موجود در پنل Data اضافه کنید.
در پنل Data، روی آیکون منو کنار بخش Filters کلیک کنید.
روی Manage Filters کلیک کنید.
روی عملگر دوبار کلیک کنید تا از AND به OR (یا برعکس) تغییر کند.
روی Apply و سپس OK کلیک کنید.
مثال. فیلتر 1: State Equal to California. فیلتر 2: Lines In list Accessories;Outerwear. اتصال هر دو با AND فقط ردیفهای California را برای این دو خط محصول نشان میدهد. روی AND دوبار کلیک کنید تا به OR تبدیل شود. نتیجه گستردهتر میشود: ردیفهای California بهعلاوهٔ این دو خط محصول در هر ایالتی.
Gotcha. فیلترهای چندگانه بهطور پیشفرض با AND ترکیب میشوند. راه تغییر آن، دوبار کلیک روی عملگر است.
3سطح 3 · تحلیل · ماژول 10 از 23
Drill کردن
در سلسلهمراتبها پایین، بالا و افقی حرکت کنید تا داستان پشت هر عدد را پیدا کنید.
10.1
دریلکردن چیست
مبتدی
دریلکردن (drilling) به شما اجازه میدهد عمیقتر در دادهها نگاه کنید و جزئیات پشت یک نتیجهٔ خوب یا بد را در جدول، نمودار یا بخش پیدا کنید. میتوانید روی dimensionها و measureها، و روی دادههای سلسلهمراتبی و غیرسلسلهمراتبی دریل کنید. مثال راهنما: فروش accessories، outerwear و overcoats در Q3 خیلی بیشتر بود. دریل به پایین نشان داد که فروش jewelry در July خیلی بیشتر بوده است.
برای فعالکردن دریل، روی آیکون Drill در بخش Analyze نوار ابزار کلیک کنید و Drill را تیک بزنید. برای دادههای سلسلهمراتبی به این کار نیازی ندارید، چون مسیر دریل از تعریف hierarchy میآید.
محدودیتها
کوئریهای BEx: نمیتوانید از Navigation path (که قبلاً "drillpath" نام داشت) استفاده کنید. بهجای آن، روند collapse/expand روی hierarchy واقعی به کار میرود.
universeهای .unv و .unx: فقط وقتی میتوانید دریل کنید که مسیرهای دریل در universe تعریف شده باشند.
دامنهٔ تحلیل [Intermediate]
دامنهٔ تحلیل (scope of analysis) تعیین میکند که بدون کوئری تازه چند سطح میتوانید دریل کنید. اشیاء داخل دامنه بخشی از کوئری هستند، پس دریل به آنها سراغ پایگاه داده نمیرود. اگر پروفایل امنیتیتان اجازه دهد، آن را در query panel تنظیم میکنید (سطحها: None، One، Two، Three، Custom).
مسیرهای دریل و سلسلهمراتبها [Beginner]
مسیر دریل (drill path) راهی است که هنگام دریلکردن دنبال میکنید. مسیرها از hierarchyهای dimension میآیند که طراح universe تعریف کرده است: اشیاء خلاصه در بالا و جزئیات در پایین. زمان معمولاً به این ترتیب است: Year > Quarter > Month > Week. hierarchyهای سفارشی هم ممکن است. هنگام دریل، measureهایی مانند Revenue و Margin برای سطح جدید دوباره محاسبه میشوند.
مثال. در جدول Year/Revenue روی 2006 دریل کنید. Q1 تا Q4 سال 2006 را با درآمد دوبارهمحاسبهشده میبینید.
برای دیدن hierarchyهای دریل. در query panel، روی آیکون کنار نام universe کلیک کنید و Display by Navigation Paths را انتخاب کنید.
10.2
حالت دریل و گزینههای دریل
مبتدی
روشنکردن دریل. روی آیکون Drill در بخش Analyze نوار ابزار کلیک کنید و Drill را تیک بزنید. در حالت Reading، وقتی دریل روشن شد، روی یک سلول یا نقطهٔ داده کلیک کنید تا به پایین دریل کنید.
گزینههای دریل. گزینهٔ Synchronize drill on report blocks در تنظیمات BI launch pad قرار دارد (Application Preferences›Web Intelligence، زیر گزینههای دریل). این گزینه تعیین میکند تحلیل خود را چگونه پیش ببرید:
گزینه
اثر
Synchronize drill on report blocks
دریل همزمان روی همهٔ بلوکها اثر میکند. اگر خاموش باشد، روی یک عنصر تمرکز میکنید.
چه چیزی نسبت به 4.2 تغییر کرده است. راهنمای 4.3 SP5 نوار ابزار قدیمی Drill، گزینهٔ "Hide Drill toolbar on startup"، گزینههای "Start drill session" (گزارش موجود یا گزارش تکراری) و snapshotهای دریل را توصیف نمیکند. فیلترهای دریل اکنون در نوار فیلتر قرار دارند (بخش 10).
Gotcha. راهنما حالت دریل را برای رابط وب و Rich Client به یک شکل توصیف میکند و تفاوتی میان آنها ذکر نمیکند.
10.3
دریل به پایین، به بالا و Drill by
مبتدی تا متوسط
دریل به پایین یا به بالا.
اگر با دادههای غیرسلسلهمراتبی کار میکنید، دریل را فعال کنید (Analyze›Drill).
یک سلول جدول یا نقطهٔ دادهٔ نمودار را انتخاب کنید. برای سلول جدول دو بار کلیک کنید: کلیک اول جدول را انتخاب میکند و کلیک دوم سلول را.
در منوی زمینهای (contextual menu)، روی Drill و سپس Drill Up یا Drill Down کلیک کنید.
یک فیلتر دریل جدید در نوار فیلتر و در بخش فیلترهای پنل Data ظاهر میشود.
در حالت Reading، پس از فعالکردن دریل، روی یک سلول یا نقطهٔ داده کلیک کنید تا به پایین دریل کنید. با دریل به بالا ببینید جزئیات چگونه در یک نتیجهٔ سطح بالاتر جمع میشوند. با دریل به پایین، جزئیات پشت یک خلاصه را ببینید.
Drill by. شما را به hierarchy دیگری میبرد. فقط برای دادههای غیرسلسلهمراتبی در دسترس است. روی مقدار یک dimension در سلول جدول یا بخش راستکلیک کنید، روی Drill By کلیک کنید و سپس dimension را انتخاب کنید.
دریل روی measureها. دریل روی مقدار یک measure برای هر dimension مرتبط در بلوک، یک سطح پایین میرود.
مثال کاربردی (eFashion).
یک crosstab نشان میدهد درآمد Accessories در 2006 کاهش یافته است.
روی 2006 به پایین دریل کنید. یک فیلتر دریل برای 2006 در نوار فیلتر ظاهر میشود. نمودار نشان میدهد کاهش از Q4 شروع شده است.
روی Accessories به پایین دریل کنید. crosstab نشان میدهد کدام دستهها باعث افت Q4 شدهاند.
مثال Drill by. جدولی درآمد فصلی را بر حسب ایالت نشان میدهد. دریل به پایین روی California به City میرود. بهجای آن، روی California راستکلیک کنید، Drill By را انتخاب کنید و از مسیر hierarchy محصولات (Products) به Lines بروید. درآمد را بر حسب خط محصول برای California میبینید.
انتخاب مسیر دریل [Intermediate]
وقتی یک dimension در چند hierarchy باشد، باید به یک prompt پاسخ دهید تا مسیر دریل را انتخاب کنید.
10.4
دریل روی نمودارها
متوسط
میتوانید روی dimensionها (محورهای نمودار یا legend) و روی measureها (میلهها یا نشانگرها) دریل کنید.
کار
روش
دریل روی مقدار محور، measure یا مقدار legend
حالت Design: در حالی که پنل Format باز است، روی یک نقطهٔ داده کلیک چپ یا راست کنید و از ابزارک استفاده کنید: Drill Down To X یا Drill Up To X (X شیئی است که به آن دریل میکنید)
همین کار در حالت Reading
برای دریل به پایین روی نقطهٔ داده کلیک چپ کنید. برای بازکردن ابزارک دریل و دریل به بالا یا پایین، راستکلیک کنید
اول دریل را فعال کنید: Analyze›Drill.
مثال. یک نمودار میلهای سهبعدی State را روی محور X و Lines را روی محور Z دارد. روی میلهٔ Accessories در California به پایین دریل کنید. State به City و Lines به Category تبدیل میشود. درآمد هر شهر را برای هر دسته از accessories میبینید.
10.5
فیلترهای دریل و نوار فیلتر
متوسط
وقتی روی یک مقدار دریل میکنید، نتیجه بر اساس همان مقدار فیلتر میشود و این فیلتر روی همهچیز در گزارش دریلشده اعمال میشود. فیلترهای دریل در بخش Drill Filters نوار فیلتر نمایش داده میشوند. هر فیلتر یک یا چند مقدار دارد. برای دیدن موارد دیگر در همان سطح، مقدار را تغییر دهید (روی California دریل کنید، سپس Colorado را انتخاب کنید).
در ابزارک دریل، بخش Free Elements روی dimensionهای دیگر سند فیلتر دریل اضافه میکند. بخش Merged Dimensions از dimensionهای ادغامشده (merged dimensions) فیلتر دریل اضافه میکند.
افزودن یا حذف فیلتر دریل
روی آیکون Drill در بخش Analyze نوار ابزار کلیک کنید و Drill را تیک بزنید.
برای نمایش نوار فیلتر، روی آیکون نوار فیلتر در بخش Analyze کلیک کنید.
در نوار فیلتر روی بخش Drill Filters و سپس روی آیکون افزودن کلیک کنید.
در ابزارک یک شیء انتخاب کنید. این شیء بهصورت فیلتر دریلی با مقدار All Values ظاهر میشود.
روی فیلتر کلیک کنید، یک مقدار انتخاب کنید و روی OK کلیک کنید.
برای بازنشانی فیلتر دریل، آن را روی All Values بگذارید. برای حذف آن، اشارهگر را در نوار فیلتر روی آن نگه دارید و روی آیکون حذف کلیک کنید.
Refresh با promptها. اگر گزارش دریلشده به 2003 فیلتر شده باشد و شما refresh کنید و به prompt پاسخ 2002 بدهید، گزارش 2002 را نشان میدهد.
3سطح 3 · تحلیل · ماژول 11 از 23
Input control ها
به خوانندگان اسلایدر، فهرست و چکباکس بدهید تا گزارش را فیلتر کنند.
11.1
کنترلهای ورودی چیستند
متوسط
کنترلهای ورودی (input controls) ابزارکهایی (فهرستها، فیلدهای ورود، اسلایدرها) هستند که به خوانندگان اجازه میدهند دادههای گزارش را فیلتر کنند. در 4.3 این کنترلها در نوار فیلتر (filter bar) قرار دارند که برای روندهای کاری خواندن طراحی شده است. هر کدام را به جدولها، بخشها یا نمودارها، یا به کل سند، پیوند میدهید. انتخاب مقادیر، عناصر پیوندشده را فیلتر میکند. با آنها میتوانید سناریوها را هم آزمایش کنید: یک اسلایدر را به متغیری با مقدار ثابت که در یک فرمول به کار رفته وصل کنید و تغییر نتیجهٔ فرمول را ببینید.
کنترلهای ورودی موجود
نوع
برای
توضیح
Entry field
هر شیء
مقداری تایپ کنید و روی OK کلیک کنید. برای پاککردن، متن را حذف کنید و روی OK کلیک کنید.
List
Dimension
تکی: یک مورد را انتخاب کنید که با علامت تیک نشان داده میشود. چندتایی: کادرها را تیک بزنید و سپس OK.
Calendar
Dimension تاریخ
کادر متن یا تقویم بازشو.
Spinner
Measure
فهرست مقادیری که با فلشها جابهجا میشود.
Simple slider
Measure
باید کرانها و یک مقدار پیشفرض تعیین کنید.
Tree list
Dimension
مقادیر hierarchy. تکی: درخت نمایش داده میشود و میتوانید به مقادیر انتخابشده جابهجا شوید. چندتایی: ابزارک درختی در یک کادر محاورهای.
Double slider
Measure
دو مقدار از یک بازه. باید کرانها و مقادیر پیشفرض را تعیین کنید.
جدول انواع در راهنمای 4.3، List را بهجای Combo box، Radio buttons، List box و Check box نسخهٔ 4.2 آورده است. متن ویژگیها در راهنما هنوز برای مقادیر null از Combo box، Radio buttons، List box و Check boxes نام میبرد، پس راهنما کاملاً یکدست نیست.
دادههای سلسلهمراتبی [Advanced]
در کنترلهای ورودی سلسلهمراتبی، اگر Show Keys روشن باشد، میتوانید بر اساس کلید جستوجو کنید. Enable complex selection را روشن کنید تا بتوانید اعضا را بهطور ضمنی با توابع Children و Descendants در نوار فیلتر انتخاب کنید.
11.2
افزودن، ویرایش و مدیریت کنترلهای ورودی
متوسط
افزودن (به حق کافی برای تغییر سند نیاز دارد)
در حالت Design، روی آیکون کنترل ورودی در نوار فیلتر کلیک کنید. اگر نوار فیلتر را نمیبینید، روی آیکون نوار فیلتر در بخش Analyze نوار ابزار کلیک کنید.
روی New Input Control کلیک کنید.
یک شیء انتخاب کنید. برای آن نام و در صورت تمایل توضیح بنویسید.
Document یا Current Report را تیک بزنید. برای اینکه کنترل گزارش فقط به یک نمایه وابسته باشد، تیک نام گزارش را در سمت چپ بردارید و آن نمایه را تیک بزنید.
در فهرست کشویی Type، نوع کنترل را انتخاب کنید. این فهرست به نوع دادهٔ شیء بستگی دارد.
ویژگیها را تنظیم کنید (پایینتر آمده است). در Default values یک مقدار پیشفرض بدهید، وگرنه کنترل با All Values شروع میشود.
روی OK کلیک کنید. کنترل اکنون در نوار فیلتر نمایش داده میشود.
اگر مقدار پیشفرض ندادهاید، روی نام کنترل در نوار فیلتر کلیک کنید، مقادیر را انتخاب کنید و روی OK کلیک کنید.
ویژگیها
نام و توضیح (Name و Description).
List of values: همهٔ مقادیر شیء (پیشفرض) یا یک فهرست سفارشی. میتوانید مقادیر را از یک ستون Excel بچسبانید.
Use restricted List of Values: با فهرست سفارشی، مقادیر بیرون از آن حتی وقتی چیزی انتخاب نشده باشد کنار گذاشته میشوند. مثال: اگر به US و France محدود شده باشد، جدول فیلترشده بدون هیچ انتخابی فقط US و France را نشان میدهد. اگر این گزینه برداشته شود، وقتی چیزی انتخاب نشده همهٔ کشورها نمایش داده میشوند.
Sort List of Values: None، Ascending یا Descending که هنگام refresh اعمال میشود. برای فهرستهای محدود در دسترس نیست.
Allow selection of all values: گزینهٔ All Values را نشان میدهد یا پنهان میکند. وقتی تجمیع معنا ندارد آن را پنهان کنید.
Operator: عملگر.
Default value(s): میتواند یک متغیر باشد (پیشفرض پویا، برای مثال تاریخ دیروز). برای tree listها، spinnerها، sliderها و double sliderها در دسترس نیست.
Enable complex selection: Children و Descendants برای hierarchyها.
Reset on refresh: با هر refresh مقدار پیشفرض را بازنشانی میکند.
Allow selection of null values: [NULL_VALUE] را در دسترس قرار میدهد.
Min Value، Max Value، Increment: برای کنترلهای عددی.
استفاده. روی نام کنترل در نوار فیلتر کلیک کنید، مقادیر را انتخاب کنید و در صورت نیاز جستوجو کنید. عناصر پیوندشده فیلتر میشوند. مثال: Country = US با عملگر Equal To، جدول را به [Country]="US" فیلتر میکند. برای بازگشت به مقدار پیشفرض روی Reset کلیک کنید. در حالت Reading، یک آیکون بازنشانی همه (reset-all) همهٔ کنترلها را بازنشانی میکند. در حالت Design از منو > Reset All استفاده کنید.
ویرایش
نوار فیلتر را نمایش دهید و روی نام کنترل کلیک کنید. مقادیر را انتخاب کنید و روی OK کلیک کنید.
برای ویرایش ویژگیها، در حالت Design منو > Manage Filter Bar را باز کنید، یا از خود کنترل گزینهٔ Advanced Settings را به کار ببرید. در Manage Filter Bar، روی فلش راست کنار کنترل کلیک کنید، ویرایش کنید و سپس OK.
سازماندهی. در Manage Filter Bar، برای تغییر ترتیب از فلشهای بالا و پایین استفاده کنید. برای حذف یک کنترل، از منو > Delete و سپس OK استفاده کنید.
مثال. یک کنترل ورودی از نوع list روی Year با عملگر Equal to برای گزارش فعلی بسازید. 2006 را انتخاب کنید تا همهٔ جدولها و نمودارهای آن گزارش 2006 را نشان دهند. [NULL_VALUE] را انتخاب کنید (اگر مجاز باشد) تا ردیفهای بدون مقدار را ببینید.
Gotcha. نمای قدیمی Map برای وابستگیها و زبانهٔ Dependencies در راهنمای 4.3 SP5 نیستند. کنترلها را هنگام ساخت به عناصر پیوند دهید، یا آنها را در Manage Filter Bar ویرایش کنید.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1فیلتر گزارش "State Equal to California" را روی یک جدول اعمال میکنید. چه بر سر دادههای ایالتهای دیگر میآید؟
فیلترهای گزارش فقط مقادیر را پنهان میکنند و دادههای بازیابیشده را تغییر نمیدهند. با حذف فیلتر، این مقادیر بدون اجرای کوئری تازه دوباره نمایش داده میشوند.
Q2در گزارشی بر حسب State و Quarter، روی ردیف California با Drill by به Lines میروید. چرا بهجای Drill down از Drill by استفاده میکنید؟
Drill down یک سطح در hierarchy پایین میرود. Drill by به شما اجازه میدهد داده را بر اساس dimensionای در hierarchy دیگر، مانند Products > Lines، برش بزنید.
Q3دریل کوئری را روشن میکنید و روی Month = January به پایین دریل میکنید. چه اتفاقی میافتد؟
دریل کوئری کوئری زیربنایی را تغییر میدهد. دریل به بالا از Week به Month هر سه تغییر را برمیگرداند.
Q4در گروهی با Country، City و Product میخواهید درآمد مایو (swimming suit) را در Kingston پیدا کنید. ترتیب درست چیست و چرا؟
مسیر فیلتر دادهها را گامبهگام محدود میکند. راهنما میگوید کنترل اول باید کلیترین مقادیر را برگرداند و پس از آن کنترلهایی با مقادیر جزئیتر بیایند.
3سطح 3 · تحلیل · ماژول 12 از 23
فرمولها و متغیرها
محاسبات استاندارد، Formula Editor، متغیرها، Where و پرکاربردترین تابعها.
12.1
محاسبات استاندارد
مبتدی
چه و چرا. محاسبات استاندارد (standard calculations) جمعها و آمارههایی هستند که با یک کلیک روی ستون جدول اضافه میشوند: Sum، Count، Average، Min، Max و Percentage. وقتی فقط یک جمع یا میانگین سریع لازم دارید و نمیخواهید فرمول بنویسید، از آنها استفاده کنید. هر محاسبه یک پانویس (footer) زیر ستون اضافه میکند.
محاسبه
چه میکند (طبق راهنما)
Sum
جمع دادههای انتخابشده.
Count
برای سنجه، همهٔ سطرها را میشمارد؛ برای بُعد یا جزئیات (detail)، سطرهای متمایز را.
Average
میانگین دادهها.
Min / Max
کوچکترین / بزرگترین مقدار دادههای انتخابشده.
Percentage
دادههای انتخابشده بهصورت درصدی از کل. در یک ستون یا سطر اضافه نمایش داده میشود.
مراحل (درج).
در حالت Design، روی سلولی از جدول راستکلیک کنید که دادهای را که میخواهید محاسبه کنید در خود دارد.
روی Footer Calculation کلیک کنید و یک محاسبه را انتخاب کنید.
برای افزودن محاسبات بیشتر به همان ستون، مرحلهٔ 2 را تکرار کنید. بهازای هر محاسبه یک پانویس اضافه میشود.
مراحل (حذف).
سند را در حالت Design باز کنید.
روی سلولی که محاسبه را دارد راستکلیک کنید و Delete را انتخاب کنید.
نکته از راهنما. روی یک سلول دوبار کلیک کنید تا نوار ابزار Formula Editor باز شود و بتوانید فرمول را ویرایش کنید.
مثال کاربردی. جدول: Year، Sales revenue. روی یکی از سلولهای Sales revenue راستکلیک کنید، سپس Footer Calculation›Sum. یک پانویس با جمع کل درآمد ظاهر میشود. Average را هم اضافه کنید: پانویس دومی ظاهر میشود.
12.2
فرمولها و محاسبات سفارشی
مبتدی
چه و چرا. اگر محاسبهٔ استاندارد کافی نیست، فرمول بنویسید. یک فرمول میتواند شامل اشیای گزارش، متغیرها، توابع، عملگرها و زمینههای محاسبه (calculation contexts) باشد. مثال: درآمد بهازای هر قلم فروختهشده میشود [Sales revenue]/[Quantity sold].
قواعد کلیدی
متن داخل سلول گزارش همیشه با = شروع میشود.
متن ثابت (literal) داخل گیومه قرار میگیرد؛ فرمولها نه. =Average([Sales revenue]) یک فرمول است. ="Average Revenue?" متن است.
متن و فرمول را با + ترکیب کنید: ="Average Revenue: " + Average([Sales revenue]). در انتهای متن یک فاصله بگذارید تا به عدد نچسبد.
پارامترها با ; از هم جدا میشوند و داخل () قرار میگیرند.
نحو (syntax) هر تابع وقتی آن را در Formula Editor انتخاب کنید نمایش داده میشود. مثال از راهنما: num Abs(number) یعنی یک عدد ورودی و یک عدد خروجی.
مراحل: تایپ فرمول.
در حالت Design، روی دکمهٔ نوار فرمول (formula bar) در بخش Analyze نوار ابزار کلیک کنید تا نوار فرمول نمایش داده شود.
در بخش Insert نوار ابزار، منو را باز کنید و Blank Cell را انتخاب کنید، سپس سلول خالی را روی بوم گزارش بکشید. (یا یک سلول موجود را انتخاب کنید.)
فرمول را در فیلد مخصوص آن در نوار فرمول تایپ کنید.
اگر فرمول با یک توضیح (comment) شروع میشود، بعد از توضیح یک سطر جدید (carriage return) اضافه کنید تا سلول درست نمایش داده شود.
مراحل: استفاده از Formula Editor.
در حالت Design، سلولی از جدول را که فرمول باید در آن باشد انتخاب کنید.
روی دکمهٔ نوار فرمول در بخش Analyze نوار ابزار کلیک کنید تا نوار فرمول نمایش داده شود.
روی دکمهٔ Formula Editor در نوار فرمول کلیک کنید.
یک شیء را از پنل Objects، یک تابع را از پنل Functions یا یک عملگر را از پنل Operators با دوبار کلیک (یا کشیدن و رها کردن) اضافه کنید.
برای تأیید و اعمال، روی OK کلیک کنید.
Formula Editor یک ویرایشگر کد دارد با تطبیق پرانتزها، تحلیل نحو، رنگبندی کد، تکمیل خودکار، میانبرهای صفحهکلید و شمارهگذاری سطرها. نشانگر ماوس را روی یک شیء، تابع یا عملگر نگه دارید تا راهنمای کوتاه (tooltip) ببینید. روی یک تابع یا عملگر کلیک کنید تا پیوندی به صفحهٔ راهنمای آن بگیرید.
برای انتخاب مقادیر از یک فهرست درون فرمول: یک شیء را در فهرست Operators انتخاب کنید، برای باز کردن ویرایشگر اعلان و تعریف اعلان (prompt) روی Prompts دوبار کلیک کنید، یا برای باز کردن کادر گفتوگوی List of Values روی Values دوبار کلیک کنید. یک یا چند مقدار را تیک بزنید و سپس روی OK کلیک کنید.
مثال کاربردی. ستونی با نام "Revenue per item" اضافه کنید: =[Sales revenue]/[Quantity sold].
12.3
متغیرها
مبتدی تا متوسط
چه و چرا. متغیر (variable) یک فرمول را با یک نام ذخیره میکند. از متغیرها استفاده کنید تا یک فرمول طولانی را به بخشهای کوچک بشکنید؛ این کار خواندن را آسانتر و احتمال خطا را کمتر میکند. متغیرها در قاب Objects، زیر بخش Variables قرار دارند. از فیلد Description استفاده کنید تا بگویید متغیر برای چیست؛ وقتی نشانگر ماوس را در Query Panel روی متغیر نگه دارید نمایش داده میشود. هنگام ساختن، ویرایش یا تغییر نام متغیر میتوانید آن را ویرایش کنید.
مراحل: ساختن متغیر.
در حالت Design، یکی از این کارها را انجام دهید: روی دکمهٔ ساختن متغیر در قاب Objects کلیک کنید، یا یک سلول جدول را انتخاب کنید و روی دکمهٔ ساختن متغیر در نوار فرمول کلیک کنید. اگر از نوار فرمول شروع کنید، متغیر جدید به سلول انتخابشده اختصاص داده میشود.
یک نام بگذارید.
یک نوع (qualification) انتخاب کنید (بُعد، جزئیات یا سنجه).
اختیاری: یک توضیح اضافه کنید. از کلید Show/Hide description panel استفاده کنید؛ فیلد توضیح بهطور پیشفرض پنهان است.
فرمول را در فیلد متنی مخصوص آن بسازید. اگر بخواهید، از پنلهای Objects، Functions و Operators بکشید و رها کنید.
برای یافتن خطا روی دکمهٔ بررسی (check) کلیک کنید. اگر خطایی باشد، پیامی به شما در رفع آن کمک میکند و مکاننما خطا را در فرمول مشخص میکند.
روی OK کلیک کنید. متغیر در بخش Variables قاب Objects ظاهر میشود.
مراحل: ویرایش، تغییر نام، تکثیر یا حذف متغیر.
در حالت Design، در قاب Objects، متغیر را انتخاب کنید و منوی آن را باز کنید.
Edit، Rename، Duplicate یا Delete را انتخاب کنید.
تغییر را اعمال کنید و روی OK کلیک کنید. نسخهٔ تکثیرشده زیر نسخهٔ اصلی با یک عدد داخل پرانتز ظاهر میشود، مثلاً (1).
مثال کاربردی (مثال واریانس راهنما، با اصطلاحات فروش). بهجای یک فرمول بسیار بزرگ، چهار متغیر بسازید: Average Sold = Average([Quantity sold] In ([Quarter])) In Report؛ Number of Observations = Count([Quantity sold] In ([Quarter])) In Report؛ Difference Squared = Power(([Quantity sold] - [Average sold]);2)؛ Variance = Sum([Difference squared] In ([Quarter]))/([Number of Observations] - 1). هر بخش را میتوانید جداگانه بخوانید. (تابع داخلی Var همین کار را در یک گام انجام میدهد.)
12.4
عملگرها
مبتدی
چه و چرا. عملگرها (operators) اجزای یک فرمول را به هم وصل میکنند.
ریاضی: + - * /. روی متن، + رشتهها را به هم میچسباند: "John" + " Smith" نتیجه میدهد "John Smith".
عملگرهای ویژهٔ توابع: کلیدواژههایی که برخی توابع میپذیرند، مثلاً Self با Previous، Row/Col، Top/Bottom، Distinct/All، IncludeEmpty.
Where: دادههایی را که برای یک سنجه استفاده میشوند محدود میکند (بخش 8).
مثالهایی از راهنما:
If [Resort] = "Bahamas Beach" And [Revenue]>100000 Then "High Bahamas Revenue"
If [Resort] = "Bahamas Beach" Or [Resort]="Hawaiian Club" Then "US" Else "France"
If Not([Country] = "US") Then "Not US"
If [Sales revenue] Between(800000;900000) Then "Medium revenue"
If [Resort] InList("Bahamas Beach";"Hawaiian Club") Then "US Resort"
12.5
عملگر Where
متوسط
چه و چرا. Where مشخص میکند کدام سطرها یک سنجه را تغذیه کنند، مثلاً «درآمد فقط برای یک ایالت».
مثالهایی از راهنما:
Average([Sales Revenue]) Where ([Country] = "US")
Average([Sales Revenue]) Where ([Country] = "US" Or [Country] = "France")
[Revenue] Where (Not ([Country] Inlist ("US"; "France")))
مثال کاربردی. حاشیهٔ سود برای یک ایالت: Sum([Margin]) Where ([State] = "California"). متغیری با نام "High Revenue" = [Revenue] Where [Revenue > 500000] یا درآمد را نشان میدهد یا هیچ؛ سپس Average([High Revenue]) فقط سطرهای پردرآمد را میانگین میگیرد.
12.6
پرکاربردترین توابع
مبتدی تا پیشرفته
نحو توابع دقیقاً همان است که در راهنما آمده است. پارامترها با ; از هم جدا میشوند.
9.1 توابع تجمیعی
سطح
تابع و نحو
مثال
Beginner
Sum(measure[;member_set])
مقادیر 2000، 3000، 4000، 1000: Sum([Sales Revenue]) عدد 10000 را برمیگرداند
Rank([Revenue];([Country])): US با 2,451,104 رتبهٔ 1 و France با 835,420 رتبهٔ 2 است
Advanced
RunningSum(measure[;Row|Col][;(reset_dims)])
RunningSum([Revenue];([Country])) جمع تجمعی را در هر کشور از نو شروع میکند
نکتهها:
Count برای ابعاد بهطور پیشفرض Distinct و برای سنجهها All است. Average سطرهای خالی را کنار میگذارد، مگر اینکه IncludeEmpty را اضافه کنید.
Rank: پیشفرض Top است. بازنشانی (reset) بهطور پیشفرض روی بخش یا شکست بلوک انجام میشود. مثال با بازنشانی: Rank([Revenue];([Country];[Year]);([Country])).
RunningSum بعد از شکست بلوک یا بخش جدید خودبهخود بازنشانی نمیشود. برای بازنشانی در هر بخش، راهنما شکل RunningSum(measure;section) را توصیه میکند، مثلاً RunningSum([Sales revenue];([Quarter])) در بخشی بر اساس Quarter. اگر سنجه را مرتب کنید، جمع تجمعی بعد از مرتبسازی محاسبه میشود.
توابع همخانواده: RunningAverage، RunningCount، RunningMax، RunningMin، RunningProduct، Median، StdDev، Var.
9.2 توابع کاراکتری
تابع و نحو
مثال
Concatenation(first_string;second_string) یا +
Concatenation("First ";"Second") مقدار "First Second" را برمیگرداند
Left(string;num_chars)
Left([Country];2) برای France مقدار "Fr" را برمیگرداند
Right(string;num_chars)
Right([Country];2) برای France مقدار "ce" را برمیگرداند
SubStr(string;start;length)
SubStr("Great Britain";7;7) مقدار "Britain" را برمیگرداند
Upper(string) / Lower(string)
Upper("New York") مقدار "NEW YORK" را برمیگرداند
Replace(replace_in;replaced_string;replace_with)
Replace("New YORK";"ORK";"ork") مقدار "New York" را برمیگرداند
Pos(test_string;pattern[;start][;end])
Pos("New York";"York") عدد 5 را برمیگرداند (در صورت تکرار، اولین تطابق). Pos("Hello World World";"World";8) عدد 13 را برمیگرداند
Length(string)
Length([Last Name]) برای "Smith" عدد 5 را برمیگرداند
Trim(trimmed_string[;char])
Trim(" Great Britain ") مقدار "Great Britain" را برمیگرداند؛ با آرگومان دوم، بهجای فاصلهها همان کاراکتر را حذف میکند
FormatNumber(number;format_string)
FormatNumber([Revenue];"#,##.00") مقدار 835,420.00 را برمیگرداند
Gotchas:
اگر هر یک از ورودیهای Concatenation رشته باشد، همهٔ ورودیها رشته میشوند. اگر هر دو عدد باشند، با هم جمع میشوند: با A عددی برابر 1، Concatenation([A];[A]) مقدار "2" و با A متنی برابر 1، مقدار "11" را برمیگرداند.
Count([Store]+[Quarter]+[Product line]) راه شمردن ترکیبهای ابعاد است.
رشتههای رنگ مانند [Red] را نمیتوان در FormatDate یا FormatNumber به کار برد.
9.3 توابع تاریخ و زمان
تابع و نحو
مثال
CurrentDate()
تاریخ امروز را برمیگرداند، با قالببندی تنظیمات منطقهای
RelativeDate(start_date;num;period)
RelativeDate([Reservation Date];1;MonthPeriod) برای 12 January 2007 مقدار 12 February 2007 را برمیگرداند
DaysBetween(first_date;last_date)
برای 15 Dec 2001 و 17 Dec 2001 عدد 2 را برمیگرداند
MonthsBetween(first_date;last_date)
برای 2 Dec 2005 و 2 Jan 2006 عدد 1 را برمیگرداند
FormatDate(date;format_string)
FormatDate(CurrentDate();"dd/MM/yyyy") مقدار "15/12/2005" را برمیگرداند
Year(date)
برای 15 December 2005 عدد 2005 را برمیگرداند
Month(date)
برای 15 December 2005 مقدار "December" را برمیگرداند (یک نام، نه عدد)
Quarter(date)
برای 15 December 2005 عدد 4 را برمیگرداند
ToDate(date_string;format[;cutoff_year])
ToDate("12/15/2002";"MM/dd/yyyy")
Gotchas:
RelativeDate: دورهٔ پیشفرض روز است (DayPeriod). مقادیر دیگر: MillisecondPeriod، SecondPeriod، MinutePeriod، HourPeriod، WeekPeriod، MonthPeriod، QuarterPeriod، SemesterPeriod، YearPeriod. مقدار num باید عدد صحیح باشد؛ عدد منفی به عقب برمیگردد. اگر آن روز در ماه جدید وجود نداشته باشد، آخرین روز همان ماه استفاده میشود.
تاریخهایی که به DaysBetween (و همهٔ محاسبات تاریخ) داده میشوند باید در یک منطقهٔ زمانی باشند.
ToDate: پارامتر اختیاری cutoff_year (پیشفرض 2029) قرن سالهای دورقمی را تعیین میکند؛ مقدار کمتر از 100 خطا میدهد. هر جا ممکن است از سال چهاررقمی استفاده کنید. اگر رشته با قالبی که دادهاید خوانا نباشد، ToDate مقدار #ERROR برمیگرداند. از "INPUT_DATE_TIME" استفاده کنید تا از Preferred viewing locale کاربر پیروی شود؛ در این حالت هم تاریخ و هم زمان باید در رشته باشند.
نکته: متن ثابت را در الگوی FormatDate بین آپاستروف بنویسید، مثلاً HH'h'mm.
9.4 توابع منطقی، ارائهدهندهٔ داده و متفرقه
تابع و نحو
مثال
If bool_value Then true_value [ElseIf ...] [Else false_value] (همچنین If(bool;true;false))
If [Sales Revenue] > 1000000 Then "High Revenue" ElseIf [Sales Revenue] > 800000 Then "Medium Revenue" Else "Low Revenue"
Previous([Revenue]) درآمد سطر بالایی را نشان میدهد
RelativeValue(measure|detail;slicing_dims;offset)
RelativeValue([Revenue];([Year]);-1) = درآمد سال قبل برای همان فصل و همان فروشنده
NoFilter(obj[;All|Drill])
NoFilter(Sum([Sales Revenue])) در پانویس بلوک، جمع کل را با احتساب سطرهای فیلترشده میدهد
RowIndex()
در اولین سطر جدول 0 برمیگرداند
UserResponse([dp;]prompt_string[;Index])
"Quarterly Revenues for " + UserResponse([Query 1];"Enter values for State:") ایالت انتخابشده را در عنوان نشان میدهد
RefValue(obj)
RefValue([Revenue]) وقتی ردیابی داده (data tracking) روشن است، مقدار مرجع را برمیگرداند
LastExecutionDate(dp)
LastExecutionDate([Sales Query]) تاریخ آخرین بازخوانی (refresh) آن کوئری را برمیگرداند
Gotchas:
If: مقادیر true و false میتوانند نوع دادهٔ متفاوت داشته باشند. بدون Else، سطرهایی که شرط را ندارند چیزی نشان نمیدهند.
IsNull: اگر مستقیماً در ستون قرار گیرد، عدد صحیح برمیگرداند (1 برای درست، 0 برای نادرست)؛ آن را با قالب عددی Boolean قالببندی کنید، یا داخل If به کار ببرید.
NoFilter: بدون کلیدواژه، فیلترهای گزارش و بلوک را نادیده میگیرد؛ All همهٔ فیلترها را نادیده میگیرد؛ Drill فیلترهای گزارش و drill را نادیده میگیرد. روی سنجهها اعمال میشود، نه ابعاد. NoFilter(obj;Drill) در حالت query drill کار نمیکند.
RowIndex در سرستون یا پانویس جدول #MULTIVALUE برمیگرداند.
UserResponse اگر چند مقدار انتخاب شده باشد، آنها را با نقطهویرگول جدا کرده برمیگرداند.
RefValue در متغیری از نوع بُعد یا جزئیات، مقادیر جاری را برمیگرداند، نه مقادیر مرجع را. برای گرفتن مقادیر مرجع، متغیر را از نوع سنجه تعریف کنید. فرمولهایی که مستقیماً در جدول، بخش، فرم یا نمودار تایپ میشوند از قبل سنجه هستند.
LastExecutionDate: اگر گزارش فقط یک ارائهدهندهٔ داده (data provider) داشته باشد، میتوانید آن را ننویسید. در حالت SAP HANA Online پشتیبانی نمیشود (RefValue، RowIndex، NoFilter و UserResponse هم همینطور).
چند تابع کمکی عددی: Round(number;round_level): Round(9.45;1) عدد 9.5 و Round(123.76;-1) عدد 120 را برمیگرداند؛ Mod(10;4) عدد 2 را برمیگرداند.
12.7
توابع جدید در 4.3
متوسط
توابعی که در 4.3 (SP1 تا SP3) اضافه شدهاند، با نحوی که در راهنما آمده است:
تابع و نحو
چه میکند
Reverse(string)
Reverse("abc123") مقدار "321cba" را برمیگرداند.
RPos(test_string;pattern[;start][;end])
مانند Pos، ولی از انتها به عقب جستوجو میکند. RPos("Hello World World";"World") عدد 13 را برمیگرداند.
فیلترهایی را که پیوندهای عناصر (element links) و کنترلهای ورودی (input controls) اعمال کردهاند نشان میدهند.
همچنین در 4.3: Trim، LeftTrim و RightTrim یک کاراکتر برای حذف میپذیرند، Pos موقعیت شروع و پایان میپذیرد، ToDate سال برش (cutoff year) میپذیرد، و فرمولها میتوانند توضیح (comment) داشته باشند.
12.8
رفع اشکال پیامهای خطا
متوسط
پیام
معنا
رویکرد پیشنهادی (همه در راهنما نیامده است)
#DIV/0
تقسیم بر صفر. مثال: درآمد بهازای هر قلم در فصلی که هیچ قلمی فروخته نشده.
مقسومعلیه را آزمایش کنید: If [Quantity sold] = 0 Then 0 Else [Sales revenue]/[Quantity sold]
#MULTIVALUE
فرمول در سلولی که فقط یک مقدار جا دارد، بیش از یک مقدار برمیگرداند. مثال: [Revenue] ForEach ([Country]) بیرون از جدول یا بخش.
سلول را در بخشی بر اساس آن بُعد بگذارید، یا تجمیع کنید (Sum، Average)
#CONTEXT
سنجه زمینهٔ محاسبهٔ ناموجود دارد. مثال: Reservation Year همراه با Revenue، در حالی که رزروها درآمد ندارند.
شیئی را که ارتباطی با سنجه ندارد حذف کنید
#INCOMPATIBLE
بلوک ابعاد ناسازگار دارد.
یکی از ابعاد را حذف یا جایگزین کنید
#DATASYNC
ابعادی از ارائهدهندگان دادهٔ همگامنشده در یک بلوک هستند (سنجهها #CONTEXT نشان میدهند).
یک بُعد مشترک را ادغام (merge) کنید
#SYNTAX
فرمول به شیئی اشاره میکند که دیگر در گزارش نیست (مثلاً متغیر حذفشده).
شیء را بازگردانید یا فرمول را اصلاح کنید
#ERROR
پیام پیشفرض برای خطاهایی که جای دیگری پوشش داده نشدهاند (مثلاً ToDate نمیتواند رشته را بخواند).
فرمول و ورودیها را بررسی کنید
#COMPUTATION
یکی از ابعاد برش RelativeValue از بلوک خارج شده، یا عملگرهای زمینه نادرست به کار رفتهاند.
بُعد را به بلوک برگردانید
#MIX
سنجهٔ تجمیعشده واحدهای متفاوت دارد (مثلاً ارزهای مختلف).
به تفکیک واحد جدا کنید
#RANK
رتبهبندی روی ستونی که از Previous یا تجمیع تجمعی (running aggregate) استفاده میکند (وابستگی چرخشی).
شیء دیگری را رتبهبندی کنید
#RECURSIVE
وابستگی چرخشی، مثلاً NumberOfPages در سلولی با Autofit.
Autofit Height/Width را خاموش کنید
#TOREFRESH
مقدار سنجهٔ هوشمند هنوز در کوئری نیست.
دادهها را بازخوانی کنید
#UNAVAILABLE
مقدار سنجهٔ هوشمند قابل محاسبه نیست.
بخش 11 را ببینید
#PARTIALRESULT
همهٔ سطرها بازیابی نشدهاند.
MaxRowsRetrieved را افزایش دهید یا از مدیر BI بخواهید
#REFRESH
اشیا از کوئری حذف شدهاند (query stripping) و سپس دوباره اضافه شدهاند.
دادهها را بازخوانی کنید
#SECURITY
برای آن تابع دسترسی ندارید (مثلاً DataProviderSQL).
از مدیر سیستم بخواهید
#EXTERNAL
یک تابع سفارشی (خارجی) وجود ندارد یا با شکست مواجه شده است.
از مدیر سیستم بخواهید کتابخانه را مستقر کند
#OVERFLOW
نتیجه بیش از حد بزرگ است (حدود 1.7E308).
محاسبه را بررسی کنید
#N/A
مقدار از پایگاهدادهٔ زیربنایی در دسترس نیست.
منبع را بررسی کنید
نکته: میتوانید سلولهایی را که پیام خطا برمیگردانند با قالببندی شرطی (conditional formatting) قالببندی کنید.
3سطح 3 · تحلیل · ماژول 13 از 23
برجستهکردن تغییرات
قواعد قالببندی شرطی و ردیابی تغییرات داده.
13.1
قالببندی شرطی (قاعدهها)
متوسط
چه و چرا. سلولها را بر اساس مقدارشان رنگ یا سبک دیگری بدهید؛ مثلاً قرمز برای حاشیهٔ سود پایین. قالببندی شرطی (conditional formatting) پویاست: پس از هر refresh، قاعدهها دوباره ارزیابی میشوند.
روی اینها کار میکند: ستونها در جدولهای عمودی، سطرها در جدولهای افقی، سلولها در formها و cross tableها، سلولهای section، سلولهای مستقل. یک قاعده میتواند رنگ، اندازه و سبک متن، حاشیهٔ سلول، پسزمینه (رنگ، تصویر یا hyperlink) را تغییر دهد، یا مقدار را با متن، فرمول، تصویر یا hyperlink جایگزین کند.
مراحل: ساخت قاعده
در حالت Design، در بخش Analyze نوار ابزار، منو را باز کنید و روی Formatting Rules کلیک کنید.
روی آیکون افزودن کلیک کنید.
نام و توضیح را وارد کنید.
روی ... کنار فیلد Filter کلیک کنید. انتخاب کنید که محتوای سلول فیلتر شود، یا یک شیء یا متغیر.
یک عملگر و یک عملوند انتخاب کنید (آن را تایپ کنید یا از منو استفاده کنید).
برای افزودن آزمون دیگر، روی آیکون افزودن کنار شرط کلیک کنید. همهٔ آزمونهای یک شرط باید درست باشند.
برای شرط فرمولی، روی Condition›Formula Editor کلیک کنید. فرمول باید True یا False برگرداند.
برای شرطهای بیشتر روی Add کلیک کنید.
زیر هر شرط روی Format کلیک کنید و متن، پسزمینه یا حاشیه را تنظیم کنید. در زبانهٔ Display میتوانید Read content as را روی HTML، Image URL یا Hyperlink بگذارید.
OK و سپس OK.
مراحل: اعمال عنصر را انتخاب کنید > Analyze›Formatting Rules > قاعده را انتخاب کنید. یا روی یک ستون یا سطر راستکلیک کنید > Formatting Rules و قاعدهها را تیک بزنید. ذخیره کنید.
مراحل: مدیریت در کادر گفتوگوی Formatting Rules، با آیکونهای پایین آن قاعدهها را اضافه، ویرایش، حذف یا تکثیر کنید.
مثال کاربردی. قاعدهای روی Margin: اگر Margin کمتر از میانگین block ضرب در 0.8 باشد، قرمز شود. سبک فرمول در راهنما چنین است: [Sales revenue] < ((Average([Sales revenue]) In Block) * 0.8). شرطها به ترتیب اجرا میشوند: اولین شرط منطبق برنده است.
13.2
ردیابی تغییرات
پیشرفته
چه و چرا. دادهٔ فعلی را با یک refresh قبلی مقایسه کنید و آنچه درج، حذف، تغییر، افزایش یا کاهش یافته را برجسته کنید. از ردیابی تغییرات (track changes) برای پیدا کردن جایی که باید بررسی شود استفاده کنید؛ مثلاً فروشگاهی که از فهرست برترها بیرون افتاده است.
مراحل: روشن کردن
در بخش Analyze نوار ابزار، منو را باز کنید و روی Track Data Changes کلیک کنید.
دادهٔ مرجع را انتخاب کنید:
Compare with last data refresh (Auto-update).
Compare with data refresh from و انتخاب یک refresh (Fixed data).
گزارشهایی را که ردیابی داده میگیرند انتخاب کنید. در صورت تمایل Refresh data now را تیک بزنید. روی OK کلیک کنید.
مراحل: نمایش و قالببندی
نمایش/پنهان: منوی Analyze›Show Changes را تیک بزنید یا تیکش را بردارید.
ظاهر: Analyze›Track Data Changes > زبانهٔ Tracking Options. هر نوع تغییر را انتخاب کنید و روی Format کلیک کنید، سپس OK.
مثال کاربردی. ماه گذشته Sales revenue فروشگاه X برابر 1000 بود و این ماه 1200 است. پس از refresh با ردیابی روشن، عدد 1200 با قالب «افزایشیافته» نمایش داده میشود. فروشگاهی که این ماه وجود ندارد بهصورت حذفشده نشان داده میشود.
4سطح 4 · پیشرفته · ماژول 14 از 23
زمینههای محاسبه
چرا عدد با جابهجایی تغییر میکند و In، ForEach و ForAll چگونه آن را کنترل میکنند.
14.1
زمینههای محاسبه: ایدهٔ اصلی
متوسط
چه و چرا. یک سنجهٔ واحد بسته به اینکه با کدام ابعاد محاسبه شود، اعداد متفاوتی میدهد. این مجموعه از ابعاد، زمینهٔ محاسبه (calculation context) نام دارد. فهم آن کلید پاسخ به تقریباً همهٔ پرسشهای «چرا این عدد اشتباه است؟» است. هر زمینه دو بخش دارد:
زمینهٔ ورودی (Input context): ابعادی که محاسبه را تغذیه میکنند. داخل پرانتز تابع، در پرانتز جداگانهٔ خودشان و جداشده با ; نوشته میشوند. مثال: Sum([Sales revenue] In ([Year];[Store])).
زمینهٔ خروجی (Output context): ابعادی که نتیجه در سطح آنها خروجی داده میشود (نتیجه «به تفکیک» چه چیزی است). بعد از پرانتز بستهٔ تابع نوشته میشود. مثال: Min([Sales revenue]) In ([Year]).
شکل کامل با هر دو: Min([Sales revenue] In ([Year];[Quarter])) In ([Year]) یعنی: درآمد را به تفکیک سال و فصل حساب کن، سپس کوچکترین آنها را برای هر سال خروجی بده.
زمینههای پیشفرض (اگر چیزی ننویسید چه میشود)
محل قرارگیری فرمول
زمینهٔ ورودی
زمینهٔ خروجی
جدول عمودی یا افقی: سرستون (header) یا پانویس (footer)
ابعاد و سنجههایی که بدنهٔ بلوک را میسازند
همهٔ دادهها تجمیع میشوند و یک مقدار برمیگردد
بدنهٔ جدول
ابعاد و سنجههای سطر جاری
همانند ورودی
بدنهٔ جدول متقاطع (crosstab)
ابعاد و سنجههایی که بدنه را میسازند
همانند ورودی
پانویس VBody / پانویس HBody در crosstab
ستون جاری / سطر جاری
یک مقدار تجمیعی
بخش (Section)
دادههای گزارش که به آن بخش فیلتر شدهاند
یک مقدار تجمیعی
سرآیند یا پانویس شکست (break)
نمونهٔ جاری شکست
یک مقدار تجمیعی
مثال از راهنما: گزارشی به تفکیک Customer، با بخشبندی بر اساس Year. جمع کل گزارش = همهٔ درآمد؛ سرآیند بخش و پانویس بلوک = Year؛ هر سطر مشتری = Year;Customer.
14.2
نحو توسعهیافته: In، ForEach، ForAll
پیشرفته
چه و چرا. این عملگرهای زمینه به شما اجازه میدهند زمینهٔ پیشفرض را تغییر دهید تا عدد در سطحی که لازم دارید محاسبه شود.
عملگر
اثر
In
فهرست صریحی از ابعاد میدهد.
ForEach
ابعادی را به زمینهٔ پیشفرض اضافه میکند.
ForAll
ابعادی را از زمینهٔ پیشفرض حذف میکند.
وقتی زمینهٔ پیشفرض ابعاد زیادی دارد، ForEach و ForAll از In سادهترند.
مراحل. سلول را انتخاب کنید، نوار فرمول را نمایش دهید (بخش Analyze نوار ابزار)، Formula Editor را از نوار فرمول باز کنید و فرمول را تایپ کنید.
مثال کاربردی A: In. بلوک، Year و Sales revenue را نشان میدهد. Quarter در کوئری هست ولی در بلوک نیست. ستون "Max Quarterly Revenue" را اضافه کنید:
Max([Sales revenue] In ([Year];[Quarter])) In ([Year])
هر سال بهترین فصل خود را نشان میدهد. چون زمینهٔ خروجی پیشفرض بلوک Year است، لازم نیست زمینهٔ خروجی را بنویسید.
مثال کاربردی B: ForEach. همان نتیجه:
Max([Sales revenue] ForEach ([Quarter])) In ([Year])
Year از قبل در زمینهٔ ورودی پیشفرض هست؛ ForEach بُعد Quarter را اضافه میکند تا (Year;Quarter) به دست آید.
مثال کاربردی C: ForAll. بلوک، Year، Quarter و Sales revenue را نشان میدهد. برای افزودن جمع سالانه:
Sum([Sales revenue] ForAll ([Quarter]))
که همانند Sum([Sales revenue] In ([Year])) است.
مثال کاربردی D: درصد از کل با زمینهٔ صریح.[Sales revenue]/(Sum([Sales revenue] In Report)) سهم از کل گزارش را میدهد.
[Sales revenue]/(Sum([Sales revenue] In Section)) سهم از بخش (مثلاً سال) را میدهد.
14.3
کلیدواژههای نحو توسعهیافته: Report، Section، Break، Block، Body
پیشرفته
چه و چرا. کلیدواژهها میانبری برای «کل این ناحیه» هستند تا مجبور نباشید ابعاد را بهصورت ثابت (hard-code) بنویسید. اگر ابعادی اضافه یا حذف شوند، فرمولها همچنان کار میکنند.
کلیدواژه
به چه اشاره میکند
Report
همهٔ دادههای گزارش، فارغ از اینکه فرمول کجا باشد.
Section
همهٔ دادههای بخش (بیرون از بخشها کاربرد ندارد).
Break
قسمتی از بلوک که با یک شکست (break) مشخص شده است.
Block
کل بلوک، با نادیده گرفتن شکستها و با رعایت فیلترهای بلوک.
Body
دادههای بلوک؛ در یک بخش و بیرون از بلوک، همان بخش؛ بیرون از هر دو، کل گزارش.
مثالها (راهنما):
Sum([Sales revenue]) In Report - جمع کل همهٔ درآمد.
Sum([Sales revenue]) In Section - جمع بخش جاری، مثلاً سال.
Sum([Sales revenue]) In Break - جمع قسمت بین شکستها.
Average([Sales revenue]) In Block - فیلتر روی بلوک را رعایت میکند، در حالی که In Section آن را نادیده میگیرد.
14.4
مقایسهٔ مقادیر: Previous و RelativeValue
پیشرفته
چه و چرا. از اینها برای ستونهای «در مقایسه با فصل قبل» یا «در مقایسه با سال قبل» استفاده کنید.
Previous. مقدار قبلی یک شیء را برمیگرداند. نتیجه به چیدمان گزارش بستگی دارد، چون روی سطرها همانطور که فیلتر و مرتب شدهاند کار میکند.
مقدار پیشفرض offset برابر 1 است. Previous([Revenue];2;NoNull) دو سطر به عقب نگاه میکند و از آنجا اولین مقدار غیر null را برمیگرداند.
2*Previous(Self) مقادیر 2، 4، 6، 8، 10 ... را برمیگرداند (Self به مقدار قبلی خودِ سلول اشاره دارد).
Previous([Revenue];([Country])) در هر کشور بازنشانی میشود.
RelativeValue. مقدار قبلی یا بعدی را مستقل از چیدمان برمیگرداند. سه چیز به آن میدهید: عبارت (یک سنجه یا جزئیات در بلوک)، ابعاد برش (slicing dimensions) و offset. تابع سطری را پیدا میکند که مقادیر ابعاد برش آن در فهرست مرتبشده به اندازهٔ offset سطر فاصله دارد، در حالی که ابعاد دیگر («زیرمحور» یا sub-axis) با سطر جاری یکسان باشند.
مثال کاربردی. بلوک: Year، Quarter، Store، Sales revenue. فرمول ستون:
RelativeValue([Sales revenue];([Year]);-1)
هر سطر 2008 درآمد همان فصل و همان فروشگاه را در 2007 نشان میدهد. اگر فهرست برش را به ([Year];[Quarter]) تغییر دهید، معنا میشود «همان فروشگاه، فصل قبل». اگر ترتیب را به ([Quarter];[Year]) عوض کنید، معنا میشود «همان فصل، سال قبل». ترتیب مهم است.
14.5
سنجههای هوشمند
پیشرفته
چه و چرا. سنجهٔ هوشمند (smart measure) را خود پایگاهداده (رابطهای یا OLAP) محاسبه میکند، نه Web Intelligence. سنجههای کلاسیک (Max، Min، Count، Sum، Average) را میتوان بهصورت محلی دوباره تجمیع کرد؛ بنابراین حذف City از یک بلوک فقط باعث جمع دوباره میشود. سنجهٔ هوشمند نیاز دارد پایگاهداده دوباره محاسبه کند، پس باید بازخوانی (refresh) کنید.
چگونه کار میکند. هر زمینهٔ محاسبه یک grouping set در کوئری تولیدشده است. اجرای اول شامل جزئیترین grouping set است، مثلاً (Country, Region, City). وقتی گزارش را طوری تغییر میدهید که زمینهٔ جدیدی لازم شود، مثلاً City را حذف میکنید، سلولها تا زمان بازخوانی دادهها #TOREFRESH نشان میدهند. grouping setهای بلااستفاده در بازخوانی بعدی حذف میشوند. برای پایگاهدادههایی که GROUPING SETS ندارند، SQL از UNION استفاده میکند.
مراحل (اگر میخواهید خودکار باشد). در کادر گفتوگوی Document properties، گزینهٔ Auto-refresh document را انتخاب کنید.
مثال کاربردی. کوئری: State، City، Sales revenue (هوشمند). City را از بلوک حذف کنید: Sales revenue مقدار #TOREFRESH نشان میدهد. بازخوانی کنید: grouping set مربوط به (State) اضافه میشود و مقادیر ظاهر میشوند. ستونی با [Sales revenue] ForAll ([City]) هم ابتدا #TOREFRESH نشان میدهد، چون به grouping set مربوط به (State) نیاز دارد.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1یک بلوک Year و Sales revenue را نشان میدهد. ستونی میخواهید که بهترین فصل هر سال را نشان دهد، ولی Quarter در بلوک نیست. کدام فرمول این کار را انجام میدهد؟
ForEach بُعد Quarter را به زمینهٔ ورودی اضافه میکند و سپس خروجی به تفکیک Year است؛ بنابراین هر سال بالاترین فصل خود را نشان میدهد.
Q2فرمول [Sales revenue] ForEach ([State]) را در سلولی زیر جدولی گذاشتهاید که چند ایالت را فهرست میکند. سلول #MULTIVALUE نشان میدهد. مستقیمترین راهحل چیست؟
هر سلول فقط یک مقدار جا دارد؛ بخشی بر اساس State در هر بخش یک ایالت باقی میگذارد و تابع تجمیعی یک عدد برمیگرداند.
Q3ستون Revenue per item شما در یکی از فصلها #DIV/0 نشان میدهد. چرا، و رویکرد معقول چیست؟
تقسیم بر صفر قابل محاسبه نیست؛ آزمودن مقسومعلیه با If از آن جلوگیری میکند.
Q4از RelativeValue([Sales revenue];([Year];[Quarter]);-1) استفاده میکنید و سپس یک مرتبسازی سفارشی روی Quarter اعمال میکنید. چه اتفاقی میافتد؟
RelativeValue از ترتیب مرتبسازی ابعاد برش استفاده میکند، پس مرتبسازی سفارشی تعیین میکند کدام سطر قبلی به حساب بیاید.
4سطح 4 · پیشرفته · ماژول 15 از 23
چند منبع داده
چند کوئری در یک سند، بُعدهای ادغامشده، کوئری ترکیبی، زیرکوئری و free-hand SQL.
15.1
چند کوئری و data providerها
متوسط
data provider کوئری (یا فایلی) است که داده را به سند میرساند. یک سند میتواند یک یا چند data provider روی منابع مختلف داشته باشد. وقتی داده در منابع مختلف است، یا وقتی کوئریهای متفاوتی روی یک منبع میخواهید، از چند data provider استفاده کنید. توصیهٔ راهنما: بیش از 15 data provider در هر سند نباشد.
سه شکل ارتباط کوئریها با هم
چند کوئری ساده (basic multiple queries): دادههای نامرتبط از منابع مختلف.
کوئریهای همگامشده (synchronized queries): مرتبط از طریق dimensionهای ادغامشده (پس از اجرا ادغام میکنید).
کوئریهای ترکیبی (combined queries): UNION / INTERSECTION / MINUS (بخش 15).
افزودن کوئری به یک سند موجود
در حالت Design، Query Panel را باز کنید.
روی فهرست کشویی Add Query در گوشهٔ بالا سمت چپ کلیک کنید و یک منبع داده انتخاب کنید.
اشیا را به کوئری اضافه کنید.
روی Run کلیک کنید.
در کادر Add Query یکی را انتخاب کنید: Insert a table in a new report، Insert a table in the current report، یا Include the result objects in the document without generating a table. روی OK کلیک کنید.
مدیریت کوئریها
تغییر نام: منوی کنار نام کوئری را در زبانهٔ آن باز کنید، Rename را انتخاب کنید، نام را تایپ کنید، OK، سپس Run یا Apply and Close.
حذف: روی فهرست کشویی کنار کوئری کلیک کنید، Delete، سپس Yes.
تکثیر: ابتدا باید کوئری را اجرا کنید. روی فهرست کشویی کنار کوئری کلیک کنید، سپس Duplicate. برای ساختن نسخهٔ متفاوتی روی همان universe مفید است.
حالت Data (بخشهای 20 و 21) جایی است که دادهٔ کوئریهایتان را به شکل cube میبینید و ترکیب میکنید. این حالت جایگزین Data Manager قدیمی شده است.
تاریخهای کلیدی (key dates؛ منابع SAP BW یا OLAP .unv): در Query Panel تنظیمات key date را باز کنید. گزینهها: Use the default date for all queries، Set date for all queries، Prompt users when refreshing data.
Purge داده: در حالت Design روی Purge Data در نوار ابزار کلیک کنید. در کادر Purge Data Providers کوئریها را انتخاب کنید. در صورت تمایل تیک Purge last selected prompt values را بزنید.
مثال کاربردی
Query 1 روی یک universe فروش: Product line، Sales revenue. Query 2 روی یک universe مشتری: Age group، Customers. هر دو به یک سند داده میدهند و در دو جدول روی یک گزارش قرار میگیرند.
15.2
حالت Data: مشاهده و پاکسازی مجموعهدادهها
متوسط
جدید در 4.3. حالت Data (Data mode) به شما اجازه میدهد پیش از طراحی گزارشها داده را آماده کنید. با cubeها کار میکنید. cube فهرستی از اشیا بههمراه دادههای آنهاست. میتواند نتیجهٔ یک کوئری باشد، یا cubeی که در حالت Data میسازید (یک child cube یا یک combined cube). حالت Data نوار ابزار خودش را دارد و یک نمودار (graph) که data providerها، کوئریها و cubeهای شما را نشان میدهد.
مشاهدهٔ یک مجموعهداده
یک cube را در نمودار، یا در Show main panel›Show document objects انتخاب کنید. زبانهای با جدولی از دادههای آن باز میشود.
مقادیر یکتا (distinct values) را روشن کنید تا خطوط تکراری پنهان شوند.
نمای facet را روشن کنید تا برای هر dimension یک facet با شمارش هر مقدار ببینید. میتوانید بر اساس شمارش یا بر اساس measure دیگری در cube تجمیع کنید.
در پنل ویژگیها، Show data مجموعهداده را نشان میدهد. در بخش Data Assignment میتوانید اشیا را حذف کنید، ترتیبشان را عوض کنید، یا Reset بزنید. پنل مرتبسازی فقط چیزی را که روی صفحه میبینید مرتب میکند، نه آنچه ذخیره شده است.
toggle Show only visible cubes / all cubes را عوض کنید تا یا همهٔ cubeها را ببینید یا فقط آنچه کاربران در حالت Design میبینند.
تبدیل مقادیر
برای پاکسازی یک مجموعهداده میتوانید مقادیر رشتهای را تبدیل (transform) کنید. در نمای مجموعهداده، فهرست کشویی سرستون یا سر facet را باز کنید و یک تبدیل اضافه کنید:
Upper Case، Lower Case.
Replace: متن Find what را با متن Replace with جایگزین میکند. برای شروع از یک مقدار، روی سلول آن راستکلیک کنید.
Trim: فاصلهها یا نویسهٔ دیگری را از ابتدا، انتها یا هر دو حذف میکند.
Fill: رشتهها را با یک الگو، در ابتدا یا انتها، به یک طول یکسان میرساند.
Group: مقادیر را زیر یک نام جمع میکند. در Manage Groups مقادیر را انتخاب کنید، Create Group را بزنید و نامی برایش بگذارید.
اشیایی که تبدیل دارند در پنل اصلی یک آیکون نشان میدهند. زبانهٔ تبدیلها در پنل ویژگیها به شما اجازه میدهد تبدیلها را اضافه، ویرایش، حذف و مرتب کنید.
ساخت child cube
یک cube را انتخاب کنید و روی Create Child در نوار ابزار کلیک کنید. یک کپی متصل به والدش میگیرید، پس دادهٔ اصلی دستنخورده میماند. شناسههای اشیای آن با شناسههای والد فرق دارند.
مثال کاربردی
کوئری روی یک universe فروشگاه، مقادیر State را به شکلهای "CA"، "ca" و "California " برمیگرداند. یک child cube بسازید، Trim و Upper Case را اعمال کنید، سپس با Replace مقدار "CALIFORNIA" را با "CA" جایگزین کنید. گزارشهایی که روی child ساخته میشوند یک مقدار State تمیز نشان میدهند.
Gotchas
تبدیلها فقط روی مقادیر رشتهای کار میکنند، و نه روی دادهٔ چندبعدی.
حالت Data از delegated measureها پشتیبانی نمیکند.
cubeهای تبدیلشده و ترکیبی در shared elementها پشتیبانی نمیشوند، و وقتی Web Intelligence بهعنوان منبع داده استفاده میشود در دسترس قرار نمیگیرند.
یک cube یا شیء را پنهان کنید (منوی راستکلیک > Hide) تا در حالت Design دیده نشود. Show آن را برمیگرداند.
15.3
حالت Data: ترکیب cubeها
پیشرفته
جدید در 4.3. ترکیب cubeها دو یا چند cube را روی کلیدهای مشترک به هم وصل میکند، مانند join در SQL. این روشِ حالت Data برای همگامسازی دادههای کوئریهای مختلف پیش از ساخت گزارش است.
عملگرها (برای هر cube ثانویه): left join، full join، inner join، left join without intersection، full join without intersection، append.
ترکیب cubeها
در نمودار، دو cube را با Ctrl-click یا کشیدن کمند (lasso) انتخاب کنید.
روی Create Cube در نوار ابزار کلیک کنید.
در کادر Create Cube یک Name تایپ کنید. در صورت تمایل توضیحی اضافه کنید.
با Move Up و Move Down ترتیب ترکیب cubeها را تعیین کنید.
برای هر cube ثانویه، Operator را انتخاب کنید.
روی Add Keys کلیک کنید و اشیایی را که بین cubeها مطابقت دارند انتخاب کنید.
روی Create کلیک کنید. یک زبانه نتیجه را نشان میدهد و نمودار cube جدید را متصل به والدهایش نمایش میدهد.
افزودن ترکیب دیگر
child cube یا combined cube را انتخاب کنید، سپس با Ctrl-click cubeهای دیگر را انتخاب کنید و روی Add combination کلیک کنید. کادر Edit Cube برای cube اول باز میشود. عملگرها و کلیدها را تعیین کنید و سپس روی Update کلیک کنید.
مثال کاربردی
Cube 1: Store name و Sales revenue هر فروشگاه. Cube 2: Store name و Target هر فروشگاه. با یک left join روی Store name ترکیب کنید. همهٔ فروشگاههای Cube 1 نگه داشته میشوند، همراه با target در صورت وجود. یک inner join فقط فروشگاههایی را نگه میدارد که در هر دو هستند.
Gotchas
نمیتوانید از hierarchyها بهعنوان کلید استفاده کنید، و نمیتوانید مجموعهدادههای چندبعدی را ترکیب کنید.
combined cubeهایی که در 4.3 SP3 ساخته شدهاند دیگر پشتیبانی نمیشوند. وقتی سند در حالت Design یا Data باز شود، از آن حذف میشوند.
این را با کوئریهای ترکیبی (بخش 15) اشتباه نگیرید؛ آنها UNION، INTERSECTION یا MINUS را پیش از آوردن داده در Query Panel میسازند. ترکیب cubeها پس از ورود داده به سند انجام میشود.
15.4
Merged dimensionها
پیشرفته
چه و چرا. وقتی گزارش از دو کوئری (data provider) استفاده میکند، ادغام (merge) یک dimension مشترک مثل Year آنها را همگام میکند تا مقادیر مرتبط کنار هم قرار بگیرند. بدون آن، جمع کل کوئری دوم در همهٔ سطرها تکرار میشود.
مراحل
در حالت Design، در پنل Objects، کلید Ctrl را نگه دارید و dimensionها یا hierarchyها را انتخاب کنید. روی آیکون منو کلیک کنید و Merge را انتخاب کنید.
شیء ادغامشده در پنل Objects ظاهر میشود و اشیای اصلی زیر آن قرار میگیرند.
افزودن به یک merge: شیء ادغامشده را انتخاب کنید، با Ctrl اشیای دیگری از همان نوع داده را انتخاب کنید، روی آیکون منو کلیک کنید و Add to Merge را انتخاب کنید.
ویرایش: روی منوی کنار merged dimension کلیک کنید. در Edit Merged Dimension نام، Description و Source Dimension را تنظیم کنید، سپس OK.
لغو ادغام: روی منوی کنار merged dimension کلیک کنید > Unmerge، یا روی یک شیء راستکلیک کنید > Remove from Merge. روی Yes کلیک کنید.
ادغام خودکار: ویژگیهای سند (document properties) را از نوار ابزار باز کنید و در بخش Data Option گزینهٔ Auto-merge dimension را روشن کنید.
گسترش مقادیر: در همان ویژگیها، Extend merged dimension values را روشن کنید و روی Apply کلیک کنید.
مثال کاربردی. کوئری 1 شامل State و City است. کوئری 2 شامل City و Sales revenue است. بدون ادغام، هر سطر State/City جمع کل را نشان میدهد. دو dimension City را ادغام کنید تا هر شهر درآمد خودش را نشان دهد.
15.5
فیلترکردن بر اساس نتایج یک کوئری دیگر
پیشرفته
میتوانید یک کوئری را با مقادیری که کوئری دیگری برمیگرداند فیلتر کنید. مثال: نگهداشتن کشورهایی در Query 1 که در Query 2 هم وجود دارند، با فیلترکردن [Query 1].[Country] بر اساس [Query 2].[Country].
مراحل
شیء فیلتر را اضافه کنید، روی آیکون فیلتر کلیک کنید و Result from another query (Any) یا (All) را انتخاب کنید.
کوئری فیلترکننده و شیء آن را انتخاب کنید.
ترکیبهای پشتیبانیشده
عملگر
حالت
معنی
Equal to
Any
برابر با هر یک از مقادیر کوئری فیلترکننده
Not equal to
All
متفاوت با همهٔ مقادیر
Greater than / or equal
Any
بیشتر از کمینهٔ مقادیر برگشتی
Greater than / or equal
All
بیشتر از بیشینهٔ مقادیر برگشتی
Less than / or equal
Any
کمتر از بیشینهٔ مقادیر برگشتی
Less than / or equal
All
کمتر از کمینهٔ مقادیر برگشتی
In list
Any
در فهرست برگشتی
Not In list
Any
نه در فهرست برگشتی
Gotchas
کوئری فیلترشده باید روی یک universe رابطهای باشد. کوئری فیلترکننده میتواند رابطهای، OLAP یا محلی باشد.
کوئری فیلترکننده فقط پس از اجرا یا ذخیرهشدن در فهرست نمایش داده میشود.
با دادهٔ حجیم، به دلیل تبدیل و قالببندی، کارایی ممکن است افت کند. از آن با مجموعهدادههای کوچک استفاده کنید.
اگر عملگری از جدول بالا انتخاب نکنید، گزینهٔ منوی Result from another query در دسترس نیست.
15.6
زیرکوئریها
پیشرفته
زیرکوئری (subquery) یک فیلتر هوشمندتر است. SQL تولیدشده را طوری تغییر میدهد که یک کوئری درونی، کوئری بیرونی را محدود کند. وقتی از آن استفاده کنید که فیلتر معمولی نمیتواند پرسش شما را مطرح کند. میتواند مقادیر یک شیء را با مقادیر شیء دیگر مقایسه کند و یک شرط WHERE هم اضافه کند. مثال راهنما: «مشتریان و درآمدشان، در جایی که مشتری خدمتی را خریده که (توسط هر مشتریای) در Q1 سال 2003 رزرو شده است».
پارامترها
Filter object: شیئی که مقادیرش نتیجه را محدود میکند.
Filter by object: تعیین میکند زیرکوئری کدام مقادیر Filter object را برگرداند.
Operator: رابطهٔ بین این دو.
WHERE condition (اختیاری): شرط اضافه روی Filter by object. میتواند یک شیء گزارش، یک شرط ازپیشتعریفشده، یا یک فیلتر یا زیرکوئری موجود باشد.
Relationship operator: AND یا OR بین چند زیرکوئری. برای جابهجایی روی آن کلیک کنید.
ساخت زیرکوئری
در حالت Design، Query Panel را باز کنید.
اشیای نتیجه را اضافه کنید.
شیء را در Result Objects انتخاب کنید و روی آیکون Add a subquery در پنل Query Filters کلیک کنید. شیء هم بهعنوان Filter object و هم بهعنوان Filter by object ظاهر میشود.
برای افزودن شرط WHERE، یک شیء یا یک فیلتر ازپیشتعریفشده را به ناحیهٔ زیر کادرهای «Drop an object here» بکشید. عملگر و مقدار را تعیین کنید.
برای افزودن زیرکوئری دیگر، روی آیکون افزودن کلیک کنید. بهطور پیشفرض با AND به هم وصل میشوند. روی AND دوبار کلیک کنید تا به OR تغییر کند.
برای تودرتو کردن، یک زیرکوئری موجود را روی زیرکوئری دیگری بکشید. برای کپیکردن بهجای جابهجایی، هنگام کشیدن کلید Control را نگه دارید.
مثال کاربردی (به سبک eFashion، بر اساس الگوی راهنما)
«مشتریان و درآمدشان، در جایی که مشتری یک Product line را خریده که در Q1 سال 2003 فروخته شده است.» Result Objects: Customer، Sales revenue. Product line را انتخاب کنید و روی آیکون subquery کلیک کنید. شرطهای WHERE یعنی Year Equal to 2003 و Quarter Equal to Q1 را اضافه کنید. Run Query.
Gotchas
همهٔ پایگاههای داده از زیرکوئری پشتیبانی نمیکنند. در این صورت این گزینه نمایش داده نمیشود.
در زیرکوئریها نمیتوانید از اشیای سلسلهمراتبی استفاده کنید.
اگر دو شیء هیچ مقدار مشترکی نداشته باشند، زیرکوئری (و در نتیجه کل کوئری) چیزی برنمیگرداند.
برخی ترکیبهای عملگر و Filter by را پایگاه داده رد میکند. مثال: Equal to با Filter by objectی که چند مقدار برمیگرداند. متن خطای پایگاه داده نمایش داده میشود.
اگر چند شیء در Filter object یا Filter by باشد، مقادیرشان به هم الحاق (concatenate) میشوند.
15.7
کوئریهای ترکیبی
پیشرفته
کوئری ترکیبی (combined query) گروهی از کوئریهاست که یک نتیجهٔ واحد برمیگرداند. سه نوع رابطه:
UNION: همهٔ دادههای هر دو، با حذف تکراریها.
INTERSECTION: دادههای مشترک هر دو.
MINUS: دادههایی که در اولی هست و در دومی نیست.
مثال راهنما: Query 1 = US، UK، Germany، France. Query 2 = US، Spain. UNION = US، UK، Germany، France، Spain. INTERSECTION = US. MINUS = UK، Germany، France.
چرا: به پرسشهایی پاسخ میدهد که با یک کوئری دشوارند. مثال راهنما: یک فهرست از سالهایی که در آنها بیش از n مهمان اقامت کردهاند یا بیش از n مهمان رزرو کردهاند. این دو measure در یک بلوک با هم ناسازگارند، اما UNION دو کوئری جواب میدهد.
ساخت
در حالت Design، Query Panel را باز کنید و کوئری اول را بسازید.
روی آیکون Add a combined query در نوار ابزار Query Panel کلیک کنید. پنل Combined Queries زیر اشیا ظاهر میشود. کوئری جدید با UNION به اولی وصل میشود و Combined Query #n نام میگیرد.
برای کار روی یک کوئری، آن را در پنل انتخاب کنید. حذف کوئری: آن را انتخاب کنید و Delete بزنید، یا آن را به ساختار universe بکشید.
روی عملگر دوبار کلیک کنید و UNION، MINUS یا INTERSECTION را انتخاب کنید.
هر کوئری را به روش معمول بسازید و روی Run Query کلیک کنید.
قواعد
همهٔ کوئریها باید تعداد اشیای یکسان، با نوع دادهٔ یکسان و به ترتیب یکسان برگردانند. نمیتوانید Year را با Year + Revenue ترکیب کنید.
معنا را منطقی نگه دارید. ترکیب Year با Region ممکن است از نظر نوع داده مجاز باشد، اما بهندرت مفید است.
اولویت (precedence): نتایج دوبهدو و به ترتیب محاسبه میشوند. برای INTERSECTION سه کوئری Q1، Q2، Q3: ابتدا Q1 و Q2، سپس آن نتیجه با Q3.
برای کنترل بیشتر، تودرتو کنید. روی آیکون افزودن گرهٔ کوئری ترکیبی (combined query node) کلیک کنید، یک کوئری را روی کوئری دیگر بکشید و سپس عملگر هر گروه را تعیین کنید. گرهٔ جدید بهطور پیشفرض UNION است. مثال: (Query 1 MINUS Query 2) INTERSECT Query 3.
مثال کاربردی
Query 1: stateهایی با درآمد بالای 1M در 2002. Query 2: stateهایی با درآمد بالای 1M در 2003. INTERSECTION stateهایی را میدهد که در هر دو سال بالای 1M بودهاند. MINUS stateهایی را میدهد که در 2002 قوی بودهاند اما در 2003 نه.
Gotchas
فقط universeهای رابطهای. راهنما در یک جا میگوید این گزینه برای OLAP یا .unx رابطهای در دسترس نیست و فقط برای universeهای رابطهای .unv است. نوع universe خود را بررسی کنید.
روی کوئریهای Excel، Text، Google Sheets یا Free-hand SQL پشتیبانی نمیشود.
اگر پایگاه داده نتواند ترکیب را انجام دهد، Web Intelligence چند کوئری اجرا میکند و نتیجه را پس از بازیابی ترکیب میکند.
اگر پایگاه داده مستقیماً پشتیبانی کند، اولویت از قواعد خود پایگاه داده پیروی میکند. از مدیر پایگاه داده بپرسید.
locale مهم است: به گفتهٔ راهنما، در locale چپبهراست گروهها از راست به چپ و از بالا به پایین پردازش میشوند، و در locale راستبهچپ برعکس.
15.8
Contextها و scope of analysis
پیشرفته
Contextها
کوئری مبهم (ambiguous query) شیئی دارد که میتواند دو معنی داشته باشد. مثال: Country بهعنوان کشوری که سفر در آن فروخته شده، یا کشوری که در آن رزرو شده است. طراح universe زمینهها (contexts) را تعریف میکند (مثلاً یک context فروش و یک context رزرو). میتوانید اشیا را در یک context یا میان چند context ترکیب کنید. اگر Web Intelligence نتواند انتخاب کند، هنگام اجرا یا refresh از شما میخواهد یک context انتخاب کنید.
برای انتخاب context: کوئری را اجرا یا سند را refresh کنید. کادر Select a Context ظاهر میشود.
برای پرسیدن دوباره در هر refresh: Query Properties›Reset contexts on refresh›OK.
برای پاککردن پاسخهای ذخیرهشده: Query Properties›Clear contexts›OK. پرسش بعدی context همچنان آخرین انتخاب را نشان میدهد؛ اگر انتخاب دیگری میخواهید، اول آن را بردارید.
پیش از زمانبندی (schedule) سندی که چند context دارد، یک بار آن را اجرا کنید و یک context انتخاب کنید.
با چند context، حالت Data آنها را به شکل Result n فهرست میکند.
Scope of analysis
دادهٔ اضافهای است که آورده میشود تا بعداً بتوانید drill down کنید. این داده در data cube نگهداری میشود و در گزارش اولیه نمایش داده نمیشود. فقط برای universeهای رابطهای .unx در دسترس است (نه OLAP، نه BEx).
سطوح: none (فقط Result Objects)، یک / دو / سه سطح (سطوح زیر هر شیء نتیجه در hierarchy)، custom (dimensionهایی که خودتان میکشید).
مراحل
در حالت Design، Query Panel را باز کنید.
روی toggle Scope of Analysis کلیک کنید. پنل در پایین ظاهر میشود. پیشفرض None است.
یک سطح را از فهرست کشویی Scope level انتخاب کنید، یا dimensionها را از data outline به پنل Scope of analysis بکشید.
برای غیرفعالکردن، Scope level را روی None بگذارید و روی Run Query کلیک کنید.
مثال کاربردی
Result Objects: Year، Sales revenue. Scope of analysis: یک سطح. دادهٔ Quarter همراه با کوئری آورده میشود. بعداً میتوانید بدون مراجعهٔ دوباره به پایگاه داده از Year به Quarter drill کنید.
Gotchas
scope of analysis حجم سند را بهطور چشمگیری افزایش میدهد. فقط وقتی از آن استفاده کنید که کاربران واقعاً drill میکنند.
15.9
Free-hand SQL
پیشرفته
Free-hand SQL (FHSQL) به شما اجازه میدهد SQL خودتان را روی یک پایگاه دادهٔ رابطهای بنویسید یا جایگذاری کنید. وقتی از آن استفاده کنید که به توابع پیشرفتهٔ پایگاه داده نیاز دارید که لایهٔ معنایی (semantic layer) پشتیبانی نمیکند. از اتصالهای رابطهای امنی استفاده میکند که مدیر BI منتشر کرده است.
ساخت
در صفحهٔ اصلی BI launch pad تا Applications پایین بروید و روی Web Intelligence کلیک کنید.
در کادر Select a Data Source روی Enterprise Repository کلیک کنید، در سمت راست Free-hand SQL را انتخاب کنید و روی OK کلیک کنید. (برای افزودن FHSQL به یک سند موجود، در Query Panel از Add Query استفاده کنید و یک منبع Free-hand SQL انتخاب کنید.)
یک اتصال رابطهای انتخاب کنید.
یک دستور SQL وارد یا جایگذاری کنید.
روی Validate کلیک کنید. پایگاه داده آن را اجرا میکند و هر خطایی را برمیگرداند.
خطاها را رفع کنید و سپس OK بزنید.
در Query Panel میتوانید اشیا را ببینید، ویژگیهایشان را ویرایش کنید یا اتصال را عوض کنید.
روی Run Query کلیک کنید.
ویژگیهای اشیا (پیشفرضها): Name = نام ستون. Qualification = Dimension برای STRING و DATE/DATETIME، و Measure برای NUMBER (میتواند Dimension، Measure یا Attribute باشد). تابع تجمیع برای measure بهطور پیشفرض Sum است (None، Sum، Max، Min، Count، Average). برای یک attribute میتوانید یک Associated Dimension تعیین کنید. به گفتهٔ راهنما، نوع داده را در جدول اشیای FHSQL نمیتوانید تغییر دهید.
ویژگیهای کوئری: Max Rows Retrieved، Max Retrieval Time (ثانیه) و Refreshable. دو محدودیت اول بهطور پیشفرض خاموشاند. اگر به یکی از این محدودیتها برسید، مجموعهٔ نتیجهٔ ناقص میگیرید.
promptها و متغیرها: میتوانید از @Variable و @Prompt در SQL استفاده کنید.
مثال کاربردی
SELECT STATE, SUM(SALES_REVENUE) FROM SALES GROUP BY STATE یک State (dimension) و یک Sales revenue (measure، بهطور پیشفرض Sum) میدهد. (این SQL صرفاً برای نمونه است؛ نام جدولها ساختگیاند.)
Gotchas
مدیر BI باید مجوز اتصال Use connection for Free-Hand SQL scripts (که بهطور پیشفرض رد شده است) را همراه با Query script - enable viewing اعطا کند. بدون هر دو، اتصال نمایش داده نمیشود.
اگر SQL چند مجموعهٔ نتیجه برگرداند، فقط اولی نمایش داده میشود.
روی کوئری FHSQL نمیتوانید از Change Source استفاده کنید.
کوئریهای ترکیبی، زیرکوئریها، فیلترهای مبتنی بر فهرست مقادیر و query stripping پشتیبانی نمیشوند. در فیلترها فقط Constant و prompt کار میکنند.
پشتیبانی نمیشوند: DROP TABLE، TRUNCATE TABLE، DELETE FROM، CREATE TABLE، ALTER TABLE، INSERT، UPDATE. نوعهای SQL BLOB/BINARY هم پشتیبانی نمیشوند. ORDER BY پذیرفته میشود اما گزارش را مرتب نمیکند؛ بلوک را مرتب کنید، یا روی متغیری که با RowIndex() ساختهاید مرتبسازی کنید.
اگر SQL تغییریافته را ثبت کنید: ستونهای جدید به اشیای جدید تبدیل میشوند، ستونهایی با نام و نوع یکسان حفظ میشوند، و اشیای قدیمیِ بیجفت حذف میشوند. (راهنما «تغییر SQL» را هم جزو موارد پشتیبانینشده فهرست کرده است، پس این را روی سیستم خودتان آزمایش کنید.)
منابع Hadoop کار میکنند، اما SQL سفارشی (custom SQL) روی آنها کار نمیکند.
15.10
فایلها، BEx و HANA بهطور خلاصه
متوسط / پیشرفته
فایلها (Excel، Text، Google Sheets)
رابط وب: فایل باید در مخزن BI Platform، Google Drive یا Microsoft OneDrive (از جمله SharePoint Online) باشد. در کادر Select a Data Source روی SAP BI Platform Repository کلیک کنید و Excel یا Text را انتخاب کنید؛ برای قراردادن یک فایل محلی در مخزن از دکمهٔ آپلود استفاده کنید. برای فایلهای ابری روی Cloud Storage کلیک کنید و Google Drive یا Microsoft OneDrive را انتخاب کنید. مدیر سیستم باید OAuth را در CMC راهاندازی کرده باشد. سقف آپلود بهطور پیشفرض 100 MB است.
Rich Client: روی Local کلیک کنید و Excel یا Text را انتخاب کنید. فقط Rich Client فایلهای محلی را میخواند، آن هم فقط در حالت online.
گزینههای import در Excel: نام sheet، انتخاب فیلدها (همهٔ فیلدها، تعریف بازه، نام بازه؛ فقط سلولهای پیوسته)، و First row contains column names.
برای ویرایش کوئری، Query Panel را در حالت Design باز کنید. فایل منبع جدید باید همان ساختار فایل قبلی را داشته باشد.
قابلیتهایی که هنوز برای این منابع پشتیبانی نمیشوند: کوئریهای ترکیبی، change source، زیرکوئریها و فهرست مقادیر در فیلترها (فقط Constant و prompt)، query stripping.
BEx queryها (SAP BW)
در SAP BEx Query Designer ساخته میشوند و از طریق یک اتصال BICS در دسترساند. به universe نیازی نیست. نمیتوانید metadata را تغییر نام دهید، ویرایش کنید یا به آن اضافه کنید.
BEx query باید پرچم Allow External Access to the Query را فعال داشته باشد. احراز هویت اتصال باید هنگام ساخت از پیش تعریف شده باشد (احراز هویت با prompt پشتیبانی نمیشود).
بسیاری از قابلیتها برای BEx وجود ندارند: فیلترهای سریع، Or، Sample result set، Retrieve duplicate rows، max retrieval time و چند عملگر روی hierarchyها.
متغیرهای BEx به prompt تبدیل میشوند. متغیر اجباری بدون مقدار پیشفرض باید پاسخ داده شود.
SAP HANA
HANA Direct Access: SAP HANA را بهعنوان منبع داده انتخاب کنید، یک اتصال امن رابطهای یا OLAP و یک HANA view برگزینید. یک universe موقت (transient) در لحظه ساخته میشود.
متغیرها و input parameterهای HANA به شکل prompt نمایش داده میشوند. میتوان آنها را ادغام کرد.
اتصالهای HANA OLAP InA از فیلتر روی measureها و attributeها پشتیبانی نمیکنند.
همچنین در 4.3: artifactهای SAP Datasphere، CDS viewهای S/4HANA، وبسرویسهای OData و اسناد Web Intelligence هم بهعنوان منبع قابل استفادهاند. کوئری مبتنی بر سند، cube سند منبع را میخواند؛ برای بارگذاری دوباره از منابع زیرین، تیک Keep data up-to-date on refresh را بزنید.
15.11
تغییر منبع دادهٔ یک کوئری
پیشرفته
چرا: روی یک universe آزمایشی بسازید و سپس به محیط عملیاتی (production) منتقل کنید. یا یک universe از نوع .unv را به .unx منتقل کنید. هر شیء در منبع قدیم را به یک شیء در منبع جدید نگاشت (map) میکنید.
مراحل
در حالت Design، در بخش Query نوار ابزار روی دکمهٔ منبع داده کلیک کنید و Change Source را انتخاب کنید.
یک کوئری را انتخاب کنید و روی OK کلیک کنید.
یک منبع موجود در سند یا یک منبع جدید انتخاب کنید (ابتدا نوع منبع را انتخاب کنید، سپس مرور کنید). اگر میخواهید همهٔ کوئریهایی که منبع دادهشان یکی است تغییر کنند، تیک Apply changes in all queries sharing the same data source را بزنید.
روی Next کلیک کنید. اگر promptهای متغیرهای اجباری HANA یا BEx نمایش داده شد، پاسخ دهید.
ترتیب راهبردهای نگاشت (mapping strategy) را تعیین کنید (فلشهای چپ و راست برای افزودن یا حذف، بالا و پایین برای ترتیب). برای قواعد اعتبارسنجی روی Settings کلیک کنید. روی Next کلیک کنید.
نتایج را بررسی کنید. برای اصلاح یک مورد، تیک آن را بزنید و روی Strategies کلیک کنید، یا شیء را دستی نگاشت کنید.
روی Finish کلیک کنید.
سند را ذخیره کنید تا تغییر اعمال شود.
ترتیب پیشفرض راهبردها: Same ID، Same technical name، Same path، Closest name. (Same name هم بهعنوان یک راهبرد در دسترس است.)
قواعد اعتبارسنجی: Same / Similar / Any object type؛ Same / Similar / Any data type.
Gotchas
برای منابع OData و وبسرویس در دسترس نیست. برای Free-hand SQL، Text، Excel و Google Sheets میتوانید تنظیمات منبع را بدون ساختن منبع جدید تغییر دهید. (یک بخش از راهنما هم میگوید Change Source هنوز برای منابع جدیدتر Text، Excel و Google Sheets و برای FHSQL پشتیبانی نمیشود؛ جدول مسیرها میگوید بله. آزمایشش کنید.)
SQL سفارشی فقط در صورتی حفظ میشود که مقصد روی universe رابطهای یا اتصال رابطهای HANA از SQL استفاده کند، از SQL سفارشی پشتیبانی کند، و تعداد و نوع دادهٔ اشیای نتیجهاش یکسان باشد. تا refresh نکنید، SQL بررسی نمیشود.
مقصد ممکن است محدودیتهای متفاوتی داشته باشد. فیلترهای روی measureها یا attributeها ممکن است حذف شوند، مقادیر فیلتر dimension عیناً کپی میشوند، و انتخاب member به همهٔ memberها تبدیل میشود. پس از تغییر، فیلترها و memberها را بررسی کنید.
شیئی که جفتی پیدا نکند با «Remove object» علامت میخورد و اگر نگاشتش نکنید برای همیشه حذف میشود.
نگاشت بین universeهای UNX روی منابع رابطهای و OLAP ممکن است به بازنگاشت گسترده نیاز داشته باشد.
یک universe از نوع .unx را نمیتوان دوباره به universe از نوع .unv برگرداند.
انتقال به BEx query، HANA view یا Datasphere view با متغیرهای اجباری بدون مقدار پیشفرض: Web Intelligence «مناسبترین مقادیر» را اعمال میکند.
4سطح 4 · پیشرفته · ماژول 16 از 23
تعامل پیشرفته
Drill خارج از محدوده، query drill، پیوند عناصر، گروههای input control، هایپرلینک، نقشهٔ جغرافیایی و shared element.
16.1
گسترش دامنهٔ تحلیل (دریل بیرون از دامنه)
پیشرفته
اگر به dimensionای دریل کنید که بیرون از دامنهٔ تحلیل (scope of analysis) سند است، آن داده در کوئری نیست. برنامه باید سراغ پایگاه داده برود و کوئری تازهای اجرا کند. یک prompt از شما میپرسد که آیا میخواهید دادهٔ موجودنبوده را به گزارش بیاورید. این کار فقط وقتی ممکن است که پروفایل امنیتی شما (که مدیر BI تنظیم کرده) اجازه دهد.
آنچه راهنما میگوید
اشیاء داخل دامنهٔ تحلیل بخشی از کوئری هستند. رسیدن به آنها کوئری تازه لازم ندارد.
اشیاء بیرون از دامنه کوئری تازه لازم دارند، بنابراین برنامه اول از شما میپرسد.
دامنه را در query panel تنظیم کنید: سطحهای None، One، Two، Three یا Custom. Custom یعنی هر شیئی که خودتان دستی اضافه میکنید.
16.2
دریل کوئری (Query drill)
پیشرفته
دریل کوئری (query drill) هنگام دریلکردن، کوئری زیربنایی را تغییر میدهد. dimensionها و فیلترهای کوئری را اضافه یا حذف میکند و فیلترهای دریل را هم اعمال میکند. وقتی از آن استفاده کنید که گزارش شما measureهای تجمیعی دارد که در سطح پایگاه داده محاسبه میشوند. این روش برای پایگاهدادههایی مناسب است که توابع تجمیعی دارند و Web Intelligence از آنها پشتیبانی نمیکند یا نمیتواند هنگام دریل آنها را دقیق محاسبه کند. این روش دادههایی را که بهصورت محلی نگه داشته میشوند هم کم میکند، چون دریل به بالا دامنه را کوچک میکند و دادههای غیرلازم را پاک میکند.
مثال (راهنما). Month پایینترین dimension در کوئری است و Week زیر آن قرار دارد. روی Month = January به پایین دریل کنید. سه اتفاق میافتد:
Week به دامنهٔ تحلیل اضافه میشود.
یک فیلتر کوئری Month را به January محدود میکند.
یک فیلتر دریل Month را به January محدود میکند.
دریل به بالا از Week به Month هر سه را برمیگرداند. فیلترهای دریل بهطور دقیق لازم نیستند، اما برای یکپارچگی اعمال میشوند. برای مثال، تابع DrillFilters در دریل کوئری مقدار درست را برمیگرداند.
برای فعالسازی. در حالت Design، ویژگیهای سند (document properties) را باز کنید. در بخش Data Options، کلید Use query drill را روشن کنید.
16.3
جدولها و نمودارها بهعنوان کنترل ورودی (element link)
پیشرفته
پیوند عنصر (element link) یک جدول یا نمودار را «والد» میکند. انتخاب مقادیر در آن، عناصر «فرزند» را فیلتر میکند. element linkها در نوار فیلتر نمایش داده میشوند.
تعریف
در حالت Design، روی جدول یا نمودار راستکلیک کنید و Element Link›Add را انتخاب کنید.
پیشفرض All Objects است، یعنی هر شیء نمایههای دیگر را فیلتر میکند. برای استفاده از یک شیء فیلترکنندهٔ تکی، یک شیء را انتخاب کنید.
یک نام و توضیح اضافه کنید.
اختیاری: Reset on refresh را روشن کنید.
در Target Visualizations، عناصری را که باید فیلتر شوند تیک بزنید.
روی OK کلیک کنید.
تغییر. روی جدول یا نمودار راستکلیک کنید > Element Link›Edit. حذف. راستکلیک > Element Link›Remove. بازنشانی. نوار فیلتر را نمایش دهید و از منوی آن آیکون بازنشانی را به کار ببرید.
استفاده. مقادیر dimension را در جدول (ردیفها، ستونها، سلولها) یا نمودار (نواحی دادهٔ قابل کلیک) انتخاب کنید.
مثال. یک جدول کوچک از State و Revenue والد است. یک جدول جزئی بر حسب Store و خط محصول فرزند است. در جدول والد روی "California" کلیک کنید تا جدول فرزند فقط فروشگاههای California را نشان دهد.
16.4
گروههای کنترل ورودی و مسیرهای فیلتر
پیشرفته
مسیر فیلتر (filter path) ترتیبی را که در آن مقادیر را در کنترلهای ورودی گروهبندیشده انتخاب میکنید ثبت میکند. هر انتخاب، فهرست کنترل بعدی را محدودتر میکند. بهجای جستوجو در فهرست بسیار بلند شهرها، اول Country، بعد Region و بعد City را انتخاب کنید.
ساخت گروه
در حالت Design، روی آیکون کنترل ورودی در نوار فیلتر کلیک کنید (در صورت نیاز، نوار فیلتر را از بخش Analyze نمایش دهید).
روی New Group of Controls کلیک کنید و انتخاب کنید که گروه روی گزارش اعمال شود یا روی کل سند.
در New Group، برای گروه نام بگذارید.
روی Add Control کلیک کنید. دستکم دو کنترل واجد شرایط را تیک بزنید و روی OK کلیک کنید، یا روی New Control کلیک کنید تا کنترلی از صفر بسازید.
با فلشهای بالا و پایین ترتیب مسیر فیلتر را تعیین کنید.
بهطور پیشفرض همهٔ کنترلها وارد مسیر فیلتر میشوند. برای ساختن دستی مسیر، تیک Add all input controls to filter path را بردارید.
روی OK کلیک کنید.
ساخت مسیر فیلتر (حالت Reading یا Design). روی نام گروه کلیک کنید. روی آیکون افزودن کلیک کنید تا کنترل اول را انتخاب کنید، سپس با Available Controls کنترلهای بعدی را اضافه کنید، از کلیترین شروع کنید. روی نام هر کنترل کلیک کنید و مقادیر را انتخاب کنید. فهرستهای بعدی بر اساس انتخابهای قبلی محدود میشوند.
مدیریت گروهها (روی نام گروه کلیک کنید، منو را باز کنید و سپس Available Controls›Manage Group)
افزودن: Add Control، یک کنترل را تیک بزنید، OK.
برداشتن: اشارهگر را روی کنترل نگه دارید، منو > Remove from Group.
انتقال به گروه دیگر: Manage Group گروه دیگر را باز کنید، Add Control، کنترل را تیک بزنید، OK.
بازنشانی مسیر فیلتر: در نوار فیلتر، روی آیکون بازنشانی کنار نام هر کنترل کلیک کنید.
حذف گروه: Manage Filter Bar، اشارهگر را روی گروه نگه دارید، منو > Delete. کنترلها در نوار فیلتر میمانند اما مسیر فیلتر حذف میشود.
مثال کاربردی (راهنما). گروه Business شامل Country، City و Product است. کنترلهای Year و Sales Revenue از قبل وجود دارند.
در Country، Jamaica را انتخاب کنید. فهرست City به شهرهای Jamaica محدود میشود.
در City، Kingston را انتخاب کنید. فهرست Product محدودتر میشود.
در Product، Swimming Suits را انتخاب کنید. جدول درآمد مایوها را در Kingston برای 2019 نشان میدهد.
مسیر به این شکل خوانده میشود: Jamaica > Kingston > Swimming Suits. City را بازنشانی کنید تا شهرهای دیگر Jamaica را ببینید.
16.5
ابرپیوندها و پیوند دادن سندها
متوسط
چه و چرا. ابرپیوند (hyperlink) به یک سلول امکان میدهد سند دیگری را باز کند: یک سند دیگر Web Intelligence، یک صفحهٔ وب، یا یک فایل PDF، Excel یا Word. پیوندها میتوانند ایستا (static، همیشه یکسان) یا پویا (dynamic، تغییر با داده) باشند. پیوندها با نحو OpenDocument تعریف میشوند که برایتان ساخته میشود. میتوانید OpenDocument را دستی هم بنویسید (به راهنمای Viewing Documents Using OpenDocument مراجعه کنید). بهطور پیشفرض، ابرپیوندها و JavaScript غیرفعالاند. مدیر سیستم باید آنها را در CMC مجاز کند و URLها را تأیید کند.
سه نوع ابرپیوند
متن سلول خودش ابرپیوند است. برای پیوندهای ایستا بهترین گزینه است.
ابرپیوندی که به یک سلول وابسته است. برای پیوندهای پویا توصیه میشود. آن را در یک کادر محاوره میسازید و متن سلول میتواند با پیوند فرق داشته باشد.
پیوند به سند دیگری در CMS.
مراحل: تبدیل متن سلول به ابرپیوند
در حالت Design، یک ابرپیوند را در یک سلول انتخاب یا تایپ کنید.
پنل کناری، سپس پنل Format و بعد تنظیمات ظاهر (appearance settings) را باز کنید.
زیر Display، گزینهٔ Read content as را روی Hyperlink بگذارید.
مراحل: پیوند به یک URL
در حالت Design، روی سلول راستکلیک کنید و Add hyperlink to›A URL را انتخاب کنید.
در کادر محاورهٔ Hyperlink، URL را در Target URL وارد کنید.
در URL Options، یک Label تایپ کنید.
در Open In، پنجرهٔ جدید یا پنجرهٔ فعلی را انتخاب کنید.
یک Tooltip تایپ کنید. روی OK کلیک کنید.
مراحل: پیوند به سند دیگری در CMS
در حالت Design، روی سلول راستکلیک کنید و Add hyperlink to›Another document را انتخاب کنید.
در Select a Target Document، سند را انتخاب کنید و روی Select کلیک کنید. Target URL و Document Parameters پر میشوند.
اختیاری: تیک یک پارامتر را بزنید و مقداری تایپ کنید، یا از فهرست کشویی آن Select Object یا Build Formula را انتخاب کنید. promptها و contextها زیر Prompts and Context Parameters هستند. پارامترهای اضافی URL زیر Other Parameters هستند.
برای افزودن یا حذف یک پارامتر، متن Target URL را ویرایش کنید و روی Parse URL کلیک کنید.
یک Label و Tooltip اضافه کنید (متن، Select Object یا Build Formula).
Open In را انتخاب کنید: پنجرهٔ جدید یا پنجرهٔ فعلی. روی OK کلیک کنید.
مراحل: پیوند به گزارش دیگری در همان سند
روی سلول راستکلیک کنید و Add hyperlink to›This document را انتخاب کنید.
در Targeted Report within the Document، گزارش را انتخاب کنید. گزارشهای پنهان فهرست نمیشوند.
اختیاری: input controlها را تنظیم کنید تا پیوند، گزارش مقصد را بر اساس مقدار کلیکشده فیلتر کند.
یک برچسب و tooltip اضافه کنید. روی OK کلیک کنید.
گزینههای نمونه (Instance options؛ برای پیوند به سندهای بزرگ)
Most recent: آخرین نمونه (instance) را باز میکند. هیچ مقدار پارامتری ارسال نمیشود.
Most recent - current user: آخرین نمونهای که مالکش کاربر فعلی است.
Most recent - matching prompt values: آخرین نمونهای که مقادیر promptش با مقادیری که پیوند ارسال میکند یکی است.
کارهای دیگر
باز کردن پیوند: در حالت Reading روی آن کلیک کنید، یا روی سلول کلیک کنید و از منوی شناور استفاده کنید (Open URL یا کپی URL). در حالت Design، روی سلول راستکلیک کنید و Open Document، Open URL یا Open Report را انتخاب کنید. برای دیدن tooltip، نشانگر را روی آن نگه دارید.
ویرایش: روی سلول راستکلیک کنید، Hyperlink›Edit Link...، آن را تغییر دهید، OK. نحو را در Formula Bar ویرایش نکنید.
حذف: روی سلول یا ستون راستکلیک کنید، Hyperlink›Remove Link.
رنگها: روی یک ناحیهٔ خالی راستکلیک کنید، Format Report›Appearance Settings. در بخش Hyperlink، رنگهای Visited و Unvisited را تنظیم کنید، سپس Apply.
مثال کاربردی. یک گزارش Region و Sales revenue را فهرست میکند. روی Region پیوندی به یک سند بزرگ «Sales by Region» میسازید که یک prompt برای Region دارد. [Region] را بهعنوان پارامتر ارسال کنید. چهار نمونه (North، South، East، West) را از قبل زمانبندی کنید. گزینهٔ نمونه را روی Most recent - matching prompt values با [Region] بگذارید. با یک کلیک، نمونهٔ آمادهٔ منطبق باز میشود، نه یک کوئری تازه. راهنما میگوید این روش برای سندهای مقصد بزرگ کارآمدتر است.
16.6
Geomapها و جغرافیاییسازی (geo-qualification)
پیشرفته
چه و چرا. Geomap داده را روی نقشه میکشد. برای این کار، هر مقدار از یک object (مثلاً هر State) باید با یک مکان تطبیق داده شود. به این تطبیق geo-qualifying میگویند. Web Intelligence یک پایگاه دادهٔ جغرافیایی داخلی دارد. میتوانید بر اساس نام، یا بر اساس عرض و طول جغرافیایی تطبیق دهید. انواع نمودار جغرافیایی فقط عنصر گزارش کلاسیک هستند.
انواع Geomap
Choropleth: ناحیهها بر اساس یک measure رنگ میشوند.
Geo Bubble: حبابهایی روی ناحیهها با اندازهای بر اساس یک measure.
Geo Pie: نمودارهای Pie روی ناحیهها با اندازهای بر اساس یک measure.
تطبیق بر اساس نام چگونه کار میکند. Web Intelligence مقادیر را در سه گروه دستهبندی میکند:
Resolved: دقیقاً یک مکان با 100% تطبیق دارد. بهطور خودکار متصل میشود.
Unresolved: چند مکان با 100% تطبیق دارند، یا تطبیق بالای 85% و زیر 100% است. شما انتخاب میکنید.
Missing: مکانی پیدا نشد، یا تطبیق زیر 85% است. شما جستوجو میکنید.
مراحل: تطبیق مقادیر با مکان بر اساس نام
در حالت Design، به پنل Objects بروید.
نشانگر ماوس را روی object نگه دارید، روی آیکونی که ظاهر میشود کلیک کنید و Geo-Qualify By: Name را بزنید.
یک سطح انتخاب کنید: Country، Region، Sub-Region یا City.
اختیاری: برای فیلتر کردن فهرست از فهرست کشویی Show استفاده کنید.
روی فهرست کشویی کنار یک مقدار کلیک کنید و یک مکان انتخاب کنید.
روی Apply و سپس OK کلیک کنید.
مراحل: انتخاب دستی مکان. مراحل بالا را دنبال کنید. در فهرست کشویی مقدار، اگر مکان درست وجود ندارد، روی Select location... کلیک کنید، سپس یا نام را تایپ کنید، انتخابش کنید و OK بزنید، یا روی Add Location کلیک کنید، مختصات را وارد کنید و OK بزنید. سطح درست را انتخاب کنید، چون جستوجو فقط در سطحی که تنظیم کردهاید انجام میشود.
مراحل: تطبیق بر اساس عرض و طول جغرافیایی
در پنل Objects، نشانگر را روی object نگه دارید و روی آیکون کلیک کنید.
روی Geo-Qualify By: Latitude / Longitude کلیک کنید.
objectهای عرض و طول جغرافیایی را از فهرستهای کشویی انتخاب کنید.
روی Apply و سپس OK کلیک کنید.
مراحل: تغییر یا بازنشانی. برای تغییر: از همان منو استفاده کنید (Geo-Qualify By: Name یا Latitude / Longitude)، مقادیر را تغییر دهید، Apply، OK، سپس سند را refresh کنید. برای بازنشانی: روی Reset Geography کلیک کنید.
وقتی یک object جغرافیایی شد، آیکونی کنار آن ظاهر میشود. روی پیکان راست کلیک کنید تا نام تطبیقیافته، عرض و طول جغرافیایی را ببینید.
تنظیمات Geomap (منتخب): Display invisible area as point و Symbol Size (برای Choropleth)، Geographic Context (none، neighbors یا parents)، Precision (0 بیشترین تا 10 کمترین)، Bubble scale (2 تا 10)، Bubble scaling mode (proportional یا perceptual)، Edge Color، Pie Title، Manual Range (تنظیم بازهٔ عرض و طول جغرافیایی). نمودارهای Choropleth همچنین گزینهای دارند که فضایی را در بالا و پایین برای برچسبها رزرو میکند.
مثال کاربردی. میخواهید درآمد را به تفکیک State روی نقشه ببینید. در Objects نشانگر را روی State نگه دارید، Geo-Qualify By: Name را بزنید، سطح Region. ایالتهای Unresolved یا Missing را در فهرستهای کشویی اصلاح کنید. Apply، OK. یک نمودار Geo Choropleth درج کنید و State و Sales revenue را به آن تخصیص دهید. Choropleth ایالتها را بر اساس درآمد سایهرنگ میزند.
16.7
Custom Elements
پیشرفته
چه و چرا. Custom Elements نمایشهای بصریای هستند که یک سرویس رندر بیرونی آنها را رسم میکند. مانند نمودارها یا جدولها در گزارش قرار میگیرند و در پایین فهرست نمودارها ظاهر میشوند.
مراحل
سند را در حالت Design باز کنید.
در بخش Insert نوار ابزار، فهرست کشویی نمودار را باز کنید و روی Custom Element کلیک کنید. تا زمانی که سرویسی راهاندازی نشده باشد، این گزینه خاکستری است.
یک نمایش بصری انتخاب کنید.
آن را روی بوم قرار دهید.
dimensionها و measureها را از پنل Objects روی آن بکشید.
16.8
عناصر اشتراکی (Shared elements)
پیشرفته
چه و چرا. عنصر اشتراکی (shared element) یک عنصر گزارش (جدول، نمودار، سرصفحه یا پاصفحه) است که در مخزن CMS ذخیره میشود تا دیگران بتوانند دوباره از آن استفاده کنند. مثال از راهنما: سرصفحهٔ نام شرکت را یک بار ذخیره کنید و در هر گزارش جدید درج کنید. آنها را در پنل Shared Elements در پنل کناری مدیریت میکنید.
مراحل
ساختن: در حالت Design، روی یک عنصر گزارش راستکلیک کنید > Shared element›Save as. در زبانهٔ General، یک نام وارد کنید و یک پوشه انتخاب کنید. در Options، توضیح و کلیدواژهها را اضافه کنید و انتخاب کنید که قالببندی حفظ شود و به سند فعلی پیوند داده شود یا نه. در Categories، یک دسته انتخاب کنید. روی Save کلیک کنید.
درج از نوار ابزار: در بخش Insert، روی دکمهٔ درج و سپس Shared Element کلیک کنید. در زبانهٔ Folders، Categories یا List مرور یا جستوجو کنید. یکی را انتخاب کنید، روی Insert و سپس روی صفحهٔ گزارش کلیک کنید. اگر برای بهروزرسانی پرسیده شد، روی OK کلیک کنید.
درج از پنل کناری (عنصری که از قبل در سند استفاده شده): پنل Shared Elements > منوی کنار عنصر > Insert، سپس روی صفحه کلیک کنید.
بهروزرسانی دستی: در پنل Shared Elements، روی آیکون بررسی بهروزرسانیها کلیک کنید. همه را بهروز کنید، یا منوی یک عنصر را باز کنید و روی Update کلیک کنید.
بهروزرسانی خودکار: پنل کناری > زبانهٔ Properties›Document Options > کلید Update shared element(s) on open. Check for shared element updates on open را هم فعال کنید تا باخبر شوید.
قطع پیوند همه: پنل Shared Elements > منوی کنار عنصر > Unlink. قطع پیوند یک نمونه: روی آن در صفحه راستکلیک کنید > Shared Element›Unlink.
ویرایش ویژگیها: دکمهٔ درج در نوار ابزار > Shared Element > یکی را انتخاب کنید > منو > Properties > تغییر نام، توضیح یا کلیدواژهها > Save.
مثال کاربردی. نمودار ستونی «Sales by Product line» خود را بهعنوان یک عنصر اشتراکی با نام «Revenue by Product line» ذخیره کنید. یک همکار آن را در گزارش خودش درج میکند. بعداً شما آن را با همان نام دوباره منتشر میکنید. سند همکارتان تا زمانی که آن را بهروزرسانی نکند قدیمی میماند.
16.9
قالببندی با CSS
پیشرفته
چه و چرا. یک style sheet ظاهر پیشفرض همهٔ گزارشهای سند را تعیین میکند، مثل لوگو یا رنگهای شرکت، بهجای اینکه دستی قالببندی کنید. از نحو هستهٔ CSS استاندارد W3C پیروی میکند، پس باید CSS بلد باشید.
مراحل
در حالت Design، پنل Properties را باز کنید و از Default Style›Export استفاده کنید.
فایل را در یک ویرایشگر متن ویرایش کنید.
از Default Style›Import استفاده کنید.
بازنشانی به سبک استاندارد: پنل Properties›Default Style›Reset Default Style.
پاک کردن قالببندی دستی: عنصر را انتخاب کنید، سپس در پنل Format روی منو کلیک کنید و Reset Format را انتخاب کنید.
عناصری که میتوانید سبکدهی کنید شامل REPORT، PAGE_BODY، PAGE_HEADER، PAGE_FOOTER، SECTION، TABLE، VTABLE، HTABLE، CELL، FORM، XELEMENT و BREAK است.
4سطح 4 · پیشرفته · ماژول 17 از 23
Publication و اشتراکگذاری OData
پرامپت، قالب و مقصد در زمانبندی؛ publication، bursting و وبسرویس OData.
17.1
Promptها در زمانبندی
متوسط
چه و چرا. Prompt پرسشی است که دادهها را فیلتر میکند، مثلاً "Which State?". وقتی زمانبندی اجرا میشود کسی آنجا نیست که پاسخ دهد، پس پاسخها را هنگام ساختن job تعیین میکنید. از این روش برای زمانبندی یک نسخه برای هر منطقه، سال یا خط محصول استفاده کنید.
مراحل:
در کادر محاورهای Schedule، روی زبانهٔ Report Features کلیک کنید.
در بخش Prompts، برای هر prompt مقدار تعیین کنید.
روی Schedule کلیک کنید.
قواعد راهنما:
Promptهای زمانبندیشده میتوانند مقادیر ثابت (static values) داشته باشند که هنگام ساختن job تعیین میشوند.
میتوانید تیک Use prompts values from source document را بزنید. در این صورت به promptها با پاسخهای ذخیرهشده در سند (از refresh قبلی یا مقادیر پیشفرض) پاسخ داده میشود.
اگر زبانه یا بخش Prompts را نمیبینید، سند هیچ promptی ندارد.
میتوانید برای ویرایش یک مقدار روی Modify کلیک کنید، یا با Constant Value یا Dynamic Value نوع آن را عوض کنید. مقادیر ثابت (constant) تغییر نمیکنند و بلافاصله زمانبندی میشوند. مقادیر پویا (dynamic) عبارت (expression) دارند، پس Web Intelligence محاسبه را به back end (موتور universe، SAP BEx یا SAP HANA) میسپارد و پس از محاسبهٔ مقادیر، سند را زمانبندی میکند.
مقادیر پویا برای متغیرهای SAP BEx، متغیرهای SAP HANA و پارامترهای prompt در universe که عبارت پیشفرض پویا دارند کار میکنند.
برای مقادیر پویای prompt در BEx، راهنما میگوید: در ویزارد Variable Manager گزینهٔ Use BEx query defined default values at runtime را انتخاب کنید؛ دادههای سند را با Purge Last Selected Prompt Values پاک کنید؛ و هنگام ساختن job زمانبندی، مقادیر prompt را پاک کنید.
مثال کاربردی. Prompt با عنوان "Enter Year". یک job با Year = 2026 و job دیگری با Year = 2025 زمانبندی کنید. هر instance را بهروشنی نامگذاری کنید تا در History از هم تشخیص داده شوند.
17.2
فرمتها
متوسط
چه و چرا. فرمت تعیین میکند instance چه نوع فایلی باشد. برای کسانی که با اعداد کار میکنند Excel، برای خواندن و چاپ PDF، و برای تغذیهٔ سیستمهای دیگر CSV یا TXT را انتخاب کنید.
فرمتهایی که هنگام زمانبندی یک سند میتوانید انتخاب کنید:
Web Intelligence: .WID
Microsoft Excel - Data: .XLSX (یک برگه برای هر data provider، به نام همان؛ به مجوز Export the cube's data نیاز دارد)
Microsoft Excel - Reports: .XLSX
Adobe Acrobat: .PDF
Comma Separated Values (CSV) - Data: .CSV
Comma Separated Values (CSV) Archive - Reports: .ZIP (یک CSV برای هر گزارش)
Plain text: .TXT
HTML archive: .ZIP
فرمتهایی که هنگام انتشار میتوانید انتخاب کنید: .WID، Microsoft Excel (.XLSX)، Adobe Acrobat (.PDF) و MIME HTML (.MHTML، برای جاسازی محتوا در ایمیل؛ بخش 9 را ببینید).
گزینههای CSV: کلید Default options را خاموش کنید تا text qualifier، جداکنندهٔ ستون (میتوانید جداکنندهٔ دلخواه، مثلاً pipe، تایپ کنید) و charset را تعیین کنید. همچنین میتوانید برای هر data provider یک فایل CSV جداگانه بخواهید.
HTML archive: گزارشهایی را که باید گنجانده شوند انتخاب کنید و به هر گزارش یک نام یکتا بدهید. فایل ZIP شامل یک index.html پیشفرض با پیوند به گزارشها، یک فایل report.js و یک زیرپوشه برای هر گزارش است. میتوانید index.html را با فایل خودتان جایگزین کنید. برای فایلهای ZIP که به File System، FTP یا SFTP فرستاده میشوند، میتوانید نام ZIP را خودکار یا بهصراحت تعیین کنید.
17.3
مقصدها و قواعد تحویل
متوسط
چه و چرا. مقصد (destination) جایی است که instance نهایی به آن میرود. اینکه کدام مقصدها را میبینید به آنچه مدیر سیستم فعال کرده و مجوزهای شما بستگی دارد. برای بیشتر مقصدها باید جزئیات بیشتری وارد کنید. میتوانید در یک زمانبندی چند مقصد اضافه کنید، که تعداد زمانبندیهای لازم را کم میکند.
Default Enterprise Location. روی Output File Repository Server (FRS) اجرا میشود. گزینهٔ اضافهای ندارد. instanceهای History فقط روی سرور پیشفرض Enterprise ذخیره میشوند.
BI Inbox. گزینهها:
Keep an instance in the history: بهطور پیشفرض فعال است. تیک آن را بردارید تا پلتفرم instance را از Output FRS حذف کند و فضا آزاد شود. instanceهایی که به دلیل برآورده نکردن یک قاعدهٔ تحویل ارسال نشدهاند، در هر حال در تاریخچه میمانند.
Use default settings: از پیشفرضهای Adaptive Job Server استفاده میکند. آن را خاموش کنید تا گیرندگان را خودتان تعیین کنید.
Available Recipients و Selected Recipients: کاربران یا گروهها را انتخاب کنید و برای افزودن روی > کلیک کنید. با Find title بر اساس نام کاربری، نام کامل یا ایمیل جستوجو کنید.
Target Name: Use Automatically Generated Name، یا Use Specific Name همراه با فهرست Add placeholder (Title، ID، Owner، DateTime، Email Address، User Full Name، File Extension).
Send As: Shortcut (پیوندی به instance) یا Copy.
Email. گزینهها: From، To، Cc، Bcc، Subject، Message، Add Attachment، File Name، Add File Extension، Enable SSL. نشانیها را با نقطهویرگول جدا کنید. بسته به پیکربندی سیستم، ممکن است From در دسترس نباشد. Message اکنون یک ویرایشگر متن غنی (rich text) با گزینههای قالببندی دارد.
FTP Server. گزینهها: Host (نشانی IP)، Port (پیشفرض 21)، User Name، Password، Account، Directory، File Name. SFTP هم بهعنوان مقصد در دسترس است.
File System. گزینهها: User Name و Password (فقط سرورهای Windows)، Directory (یک مسیر محلی، مسیر نگاشتشده یا مسیر UNC)، File Name. در Web Intelligence میتوانید در مسیر پوشه از placeholder استفاده کنید تا پوشهها بر اساس عنوان، مالک، تاریخ و زمان، یا کاربر ساخته شوند.
Google Drive و Microsoft OneDrive. گزینهها: Cloud Drive Folder Details (مسیر پوشه) و File Name. اگر احراز هویت را در BI Launch Pad کامل نکرده باشید، هنگام انتخاب هر یک از این دو، از شما خواسته میشود احراز هویت کنید.
قواعد تحویل (زمانبندی). در زبانهٔ Report Features، بخش Delivery Rules جلوی ارسال اسناد معیوب یا خالی به BI Inbox، Email، FTP، File System یا SFTP را میگیرد. میتوانید یکی یا هر دو شرط را انتخاب کنید:
The scheduled content has been successfully refreshed and is not partial: فقط در صورتی ارسال میشود که همهٔ data providerها refresh شده باشند.
The scheduled content contains data: فقط در صورتی ارسال میشود که دستکم یک گزارش داده داشته باشد.
همچنین وضعیتی را که سند ناموفق در تاریخچه نشان میدهد انتخاب میکنید: Warning (پیشفرض) یا Failed. اگر یک شرط Warning و شرط دیگر Failed بدهد، تاریخچه Failed را نشان میدهد.
مثال کاربردی. گزارش "Sales by Store" را برای مدیران منطقهای بفرستید. مقصد Email. To: یک placeholder یا نشانیهای تایپشده. Subject: "Sales by Store" بهعلاوهٔ placeholder مربوط به DateTime. تیک Add Attachment، Use Specific Name و Add File Extension را بزنید. زیر Delivery Rules، تیک The scheduled content contains data را بزنید.
17.4
Eventها و گروه سرور
پیشرفته
چه و چرا. event یک job را تا وقوع رویدادی معین نگه میدارد. وقتی دادهها باید اول آماده شوند از آن استفاده کنید؛ برای مثال «پس از پایان بارگذاری شبانه اجرا شود».
نحوهٔ کار:
ابتدا event را در CMC بسازید. سپس هنگام زمانبندی، آن را در BI Launch Pad انتخاب کنید.
پلتفرم job را اجرا میکند اگر و فقط اگر event رخ دهد.
در زمانبندی، بخش Events شرایط را تعیین میکند. برای یک انتشار، از فهرست کشویی Wait For برای انتخاب eventی که آن را راه میاندازد استفاده کنید، یا از فهرست کشویی Trigger برای انتخاب eventی که پس از اجرای job باید رخ دهد.
تیک Any event را بزنید تا job پس از رخدادن هر یک از eventهای انتخابشده اجرا شود.
گروه سرور (بخش Scheduling Server Group):
Use first available server: پیشفرض. از سروری استفاده میکند که بیشترین منابع آزاد را دارد.
Give priority to a server group: ابتدا آن گروه را امتحان میکند، سپس سرور در دسترس بعدی را.
Use this server group: راهنما میگوید اگر هیچ سروری از گروه در دسترس نباشد، سند روی سرور در دسترس بعدی اجرا میشود.
اگر از federation استفاده میکنید و میخواهید اجرا در جایی انجام شود که سند در آن قرار دارد، Run at origin site را علامت بزنید.
مثال کاربردی. گزارش روزانهٔ Sales by Store را با event به نام "Nightly load complete" زمانبندی کنید. Recurrence: Daily. گزارش فقط پس از رخدادن آن event اجرا میشود.
17.5
انتشارها (Publications)
پیشرفته
چه و چرا. انتشار (publication) مجموعهای از اسناد است که برای مخاطبان گسترده فرستاده میشود. شما بهعنوان ناشر (publisher)، اسناد منبع، گیرندگان و شخصیسازی آن را تعریف میکنید. وقتی از آن استفاده کنید که افراد زیادی به یک گزارش نیاز دارند ولی هر کدام باید فقط سهم خودش را ببیند؛ برای مثال هر مدیر State فقط State خودش را ببیند. این کار بار سیستم را هم کم میکند، چون کاربران هر کدام جداگانه درخواست پردازش به پایگاه داده نمیفرستند. انتشارها را میتوانید در BI Launch Pad یا CMC بسازید.
9.1 گیرندگان [Advanced]
گیرندگان Enterprise (Enterprise recipients): کاربرانی که عضو BI Platform هستند. میتوانند از راه BI Inbox، ایمیل، FTP، سیستم فایل و collaboration دریافت کنند.
گیرندگان پویا (Dynamic recipients): کاربران غیر Enterprise (برای مثال تأمینکنندگان خارج از شبکهٔ شما). فقط ایمیل. فقط local profiles. حساب BI Platform ندارند، پس نمیتوانند برای مشترک شدن وارد سیستم شوند.
راهاندازی گیرندگان پویا: یک فایل منبع (source file) بسازید (دادهها، با یک شناسهٔ یکتا مانند "Supplier ID") و یک فایل گیرندگان (recipient file) (همان شناسه، بهعلاوهٔ نامها و نشانیهای ایمیل). سپس انتشار را در BI Launch Pad تنظیم و بعد زمانبندی کنید.
نکتهٔ راهنما: منابع گیرندگان پویا را بر اساس ستون Recipient ID مرتب کنید. این کار تعداد تحویلها به گیرندگانی را که چند مقدار شخصیسازی دارند کاهش میدهد.
9.2 ساختن یک انتشار
در BI Launch Pad، روی کاشی Folders کلیک کنید.
پوشه را پیدا کنید و منوی actions آن را باز کنید > Publication. کادر محاورهای New Publication باز میشود.
برای انتشار نام، کلیدواژه و توضیح وارد کنید.
در بخش Source Documents، یک یا چند سند اضافه کنید. Refresh At Runtime برای هر سند بهطور پیشفرض فعال است. برای رد شدن از refresh، تیک آن را بردارید.
در Selected delivery destinations، روی Add کلیک کنید و یک مقصد انتخاب کنید. پیشفرض Default Enterprise Location است.
گیرندگان Enterprise و/یا پویا را انتخاب کنید.
Recurrence، Events و Scheduling Server Group را تنظیم کنید. سپس در زبانهٔ Report Features، Output Format، Prompts و Delivery Rules را تنظیم کنید. این بخشها همانند کادر محاورهای Schedule هستند.
روی Save & Close کلیک کنید.
برای باز کردن یک انتشار: کاشی Folders، سپس منوی actions انتشار > View. برای دیدن خلاصه (گیرندگان، شخصیسازی، فرمت، مقصد): منوی actions > Properties›Summary.
9.3 شخصیسازی (Personalization) [Advanced]
شخصیسازی دادههای اسناد منبع را فیلتر میکند تا هر گیرنده فقط دادههای مرتبط با خودش را ببیند. این کار نما را تغییر میدهد، نه دادههایی را که از منبع کوئری میشوند.
گیرندگان Enterprise: یک profile اعمال کنید. profileها باید از قبل در CMC ساخته و پیکربندی شده باشند.
گیرندگان پویا: یک فیلد در سند منبع را به دادهای در منبع گیرندگان پویا نگاشت کنید (برای مثال Customer ID به Recipient ID).
هدف global profile:
در کاشی Folders، انتشار را پیدا کنید. منوی actions آن را باز کنید > Schedule.
روی زبانهٔ Report Features کلیک کنید.
در بخش Personalization، از فهرست کشویی یک global profile انتخاب کنید.
روی OK کلیک کنید.
فیلتر بر اساس فیلد (local profiles):
شروع مانند قبل: منوی actions > Schedule > زبانهٔ Report Features > بخش Personalization. یک local profile انتخاب کنید.
زیر Local Profiles، برای هر profile در ستون Title، یک فیلد در ستون Report Field انتخاب کنید.
در Enterprise Recipient Mapping، یک profile انتخاب کنید.
در Dynamic Recipient Mapping، یک profile انتخاب کنید.
برای هر فیلدی که باید فیلتر شود تکرار کنید، سپس OK.
برای دیدن اینکه چه کسانی instanceهای شخصیسازینشده دریافت میکنند: در کادر محاورهای New Publication به Additional Options›Advanced بروید و سپس تیک Display users who have no personalization applied را بزنید.
مثال کاربردی. "Sales by Store" را با profile به نام "State" منتشر کنید. مدیر Texas نسخهای فیلترشده برای Texas دریافت میکند. مدیر Ohio نسخهای فیلترشده برای Ohio. هر فایل را با placeholder شخصیسازیشدهٔ %fieldname_VALUE% نامگذاری کنید تا نام فایل، State را نشان دهد.
9.4 Report bursting [Advanced]
bursting مرحلهٔ refresh و شخصیسازی پیش از تحویل است. دو روش دارد:
روش
چه اتفاقی میافتد
کاربرد
One database fetch for all recipients
یک بار refresh، شخصیسازی، و تحویل به هر گیرنده. از اطلاعات ورود (logon) منبع دادهٔ ناشر استفاده میکند. پیشفرض انتشارهای Web Intelligence.
کمترین بار روی پایگاه داده. فقط وقتی امن است که اسناد بهصورت اسناد ایستا (برای مثال PDF) تحویل شوند. گیرندهای که فرمت اصلی را دارد میتواند آن را ویرایش کند و دادههای گیرندگان دیگر را ببیند.
One database fetch per recipient
برای هر گیرنده refresh میکند. از اطلاعات ورود گیرنده استفاده میکند. پنج گیرنده یعنی پنج بار refresh.
بیشترین امنیت.
روش را فقط در CMC انتخاب کنید:
در CMC، روی Folders کلیک کنید و انتشار را پیدا کنید.
روی job انتشار راستکلیک کنید > Schedule.
در کادر محاورهای Schedule، Additional Options را باز کنید و روی Advanced کلیک کنید.
زیر Report Bursting Method، یکی را انتخاب کنید.
روی Schedule کلیک کنید.
9.5 Placeholderها [Advanced]
نام فایلهای منبع: %fieldname_VALUE% (برای هر گیرنده یکتا) و %fieldname_NAME% (برای همه یکسان).
فیلدهای ایمیل: %Field - Query 1-VALUE% و %Field - Query 1-NAME%. قابل استفاده در From، To، Cc، Bcc، Subject، Message و Use Specific Name.
placeholderها فقط وقتی در فهرست Add placeholder ظاهر میشوند که همهٔ اسناد منبع بر اساس یک فیلد یکسان شخصیسازی شده باشند.
مراحل نام فایل: در کاشی Folders، منوی actions انتشار > Schedule > بخش Destinations›Add. یک مقصد انتخاب کنید. در Target Name تیک Use specific name را بزنید و از Add Placeholder یکی را برگزینید. برای نامگذاری جداگانهٔ هر سند، کلید Use specific name per document را روشن کنید. روی OK کلیک کنید.
مراحل فیلدهای ایمیل: همان مسیر، Email را انتخاب کنید، گزینهها (از جمله placeholderها) را در بخش System Details تنظیم کنید، OK.
9.6 جاسازی محتوا در ایمیل [Advanced]
در کاشی Folders، منوی actions انتشار > Schedule.
در زبانهٔ Report Features، در Output Formats، روی فرمت کنار نام یک سند کلیک کنید. HTML را انتخاب کنید و کل سند یا یک گزارش را برگزینید.
در زبانهٔ General، در Destinations، روی Add کلیک کنید و Email را انتخاب کنید.
در Message، مکاننما را جایی بگذارید که محتوا باید قرار گیرد و از Add Placeholder گزینهٔ Report HTML Content را انتخاب کنید. این کار %SI_DOCUMENT_HTML_CONTENT% را درج میکند.
اختیاری: تیک Add attachment را بزنید تا اسناد منبع دیگر پیوست شوند.
OK.
نکتهٔ احتیاط: قالببندی ممکن است در Outlook 2007 یا ایمیلهای تحت وب مانند Hotmail یا Gmail نامرتب دیده شود. راهنما Outlook 2003 را ترجیح میدهد.
9.7 قواعد تحویل [Advanced]
در Web Intelligence فقط میتوانید قواعد تحویل گیرنده (recipient delivery rules) را تنظیم کنید:
Deliver individual document when condition is met
Deliver all documents only when all conditions are met
شرطها: Always deliver، Never deliver، If scheduled content contains data، If scheduled content has been fully refreshed. اگر سندی شرط را برآورده نکند، میتوانید همان سند یا کل انتشار را لغو کنید.
مثال کاربردی. شرط "If scheduled content contains data" را تنظیم کنید تا مدیر Stateای که آن هفته فروشی نداشته، گزارش خالی دریافت نکند.
9.8 گزینههای دیگر انتشار [Advanced]
Publication extensions (فقط CMC): کدی که اسناد همنوع را ادغام میکند، محافظت با رمز عبور یا رمزنگاری اضافه میکند، فرمتها را تبدیل میکند یا لاگهای سفارشی مینویسد. در CMC، روی انتشار راستکلیک کنید > Properties›Additional Options›Publication Extension. مدیر سیستم باید ابتدا extension را مستقر کند.
Live Office: اسناد با محتوای پویا باید اسناد Web Intelligence با فرمت اصلی باشند. از گیرندگان پویا پشتیبانی نمیشود. تنها مقصد Default Enterprise Location است. گیرندگانی که چند مقدار profile دارند ممکن است چند instance دریافت کنند، ولی در Live Office Client فقط اولی را میبینند.
9.9 آزمایش، پایش، رفع مشکل [Intermediate]
حالت آزمایشی (Test mode):
در کاشی Folders، منوی actions انتشار > Test Mode.
اختیاری: در Enterprise Recipients، روی Select کلیک کنید تا گیرندگان را انتخاب کنید.
اختیاری: در Dynamic Recipients، روی Browse کلیک کنید، فیلدها را پر کنید و گیرندگان مشخصی را انتخاب کنید.
روی Test کلیک کنید. دقیقاً همان چیزی را دریافت میکنید که گیرندگان دریافت میکردند. مقصدها به Inbox یا ایمیل خود شما تغییر میکنند.
مشاهدهٔ پیشرفت: روی کاشی Instances کلیک کنید. وضعیت، Success، Failed یا Running را نشان میدهد. برای لاگ: منوی actions > Details›Download Log. در History هم میتوانید روی وضعیت و سپس View Log File کلیک کنید. فایلهای لاگ هر دو دقیقه بهروز میشوند (ممکن است در دو دقیقهٔ اول وضعیت Pending نمایش داده شود). حداکثر اندازهٔ لاگ 10 MB است، پس اجراهای بزرگ چند لاگ میسازند. روی پیوند Instance Time کلیک کنید تا همهٔ لاگها را پس از instanceهای شخصیسازیشده ببینید.
توزیع دوباره (ارسال مجدد بدون اجرای دوباره): History، یک instance موفق را انتخاب کنید، سپس More Actions›Reschedule (در BI Launch Pad). گیرندگان Enterprise را با > انتخاب کنید، یا گیرندگان پویا را (Use entire list یا انتخاب چند نفر)، سپس Redistribute. فقط گیرندگان اصلی میتوانند آن را دریافت کنند.
تلاش دوباره برای اجرای شکستخورده: لاگ را بخوانید، خطاها را برطرف کنید، سپس More Actions›History، روی instance شکستخورده راستکلیک کنید و Retry را بزنید. Retry روی instance شکستخورده بازنویسی میکند و پس از شکست جزئی، فقط گیرندگانی را که شکست خوردهاند پردازش میکند. Run Now و Reschedule instanceهای جدید میسازند.
اشتراکها (Subscriptions): اشتراک به کاربرانی که گیرنده نیستند امکان میدهد آخرین instance را ببینند. روی انتشار راستکلیک کنید > Subscribe یا Unsubscribe. گیرندگان Enterprise همچنین میتوانند از History در اولین instance تکرارشونده مشترک شوند. گیرندگان پویا نمیتوانند مشترک شوند. به حساب BI Platform، مجوز View و مجوز Subscriber نیاز دارید.
نکتههای کارایی از راهنما: وقتی refresh لازم نیست تیک Refresh At Runtime را بردارید؛ هر سند را پیش از افزودن به انتشار، جداگانه مشاهده و زمانبندی کنید؛ برای انتشارهای بزرگی که نیازی به توزیع دوباره ندارند، مقصد پیشفرض را انتخاب نکنید.
چه و چرا. در نسخهٔ 4.2 میتوانستید یک جدول، نمودار یا فرم را بهصورت «BI service» منتشر کنید (Publish as Web Service، Web Service Publisher، وارد کردن QaaWS، و توابع GetReportBlock و Drill). راهنمای 4.3 SP5 چنین فصلی ندارد. این قابلیتها در آن شرح داده نشدهاند، پس روی آنها برنامهریزی نکنید. آنچه راهنمای 4.3 بهجای آن شرح میدهد وبسرویسهای OData (OData web services) است: Web Intelligence دادههای گزارش را از طریق پیوندهای OData REST در دسترس میگذارد و یک سند Web Intelligence دیگر (یا هر مصرفکنندهای که از پروتکل OData پیروی کند) میتواند آنها را بخواند.
مراحل گرفتن پیوند:
یک سند Web Intelligence موجود را باز کنید.
روی یک visualization راستکلیک کنید و Copy Link For OData Web Services را انتخاب کنید. اکنون یک URL معتبر OData دارید.
در حالت Data هم میتوانید از یک cube پیوند بگیرید: کنار cube، گزینهٔ Copy OData Web Services Link را انتخاب کنید.
مراحل استفاده از پیوند در یک سند جدید:
در صفحهٔ اصلی BI Launch Pad، برای ساختن سند روی Web Intelligence کلیک کنید.
در کادر محاورهای Select a Data Source، در سمت چپ روی Web Services، در سمت راست روی OData و سپس روی OK کلیک کنید.
URL مربوط به OData را جایگذاری (paste) کنید.
اشیا را به کوئری اضافه کنید و روی Run Query کلیک کنید.
مراحل افزودن یک کوئری OData به سند موجود:
در حالت Design، پنل کوئری را از نوار ابزار باز کنید.
روی فهرست کشویی Add Query در بالا سمت چپ کلیک کنید.
در Select a Data Source، روی Web Services و سپس OData کلیک کنید.
URL را جایگذاری کنید، اشیا را اضافه کنید و روی Run Query کلیک کنید.
مثال کاربردی. پیوند OData را از جدول "Sales revenue by State" در یک سند کپی کنید. یک سند جدید روی Web Services›OData بسازید، پیوند را جایگذاری کنید، State و Sales revenue را اضافه کنید و روی Run Query کلیک کنید. اکنون سند دوم دادههای سند اول را میخواند.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1گزارش "Sales by Store" را زمانبندی میکنید و تیک Use prompts values from source document را میزنید. هنگام اجرای job به promptها چگونه پاسخ داده میشود؟
راهنما میگوید هنگام ساخته شدن instance، به promptها با پاسخهای ذخیرهشده پاسخ داده میشود.
Q2انتشار شما برای هر مدیر State یک نسخهٔ .WID فیلترشده برای State خودش میفرستد. مدیری که مجوز ویرایش دارد میتواند Stateهای دیگر را ببیند. کدام گزینه بهتر از دادهها محافظت میکند؟
گیرندهای که مجوز ویرایش دارد میتواند فیلترهای فایل .WID را حذف کند، در حالی که PDF دادهها را امن نگه میدارد. One fetch per recipient گزینهٔ امن دیگر برای bursting است.
Q3یک تأمینکننده خارج از شرکت شما باید یک گزارش ماهانه دریافت کند. کدام روش تحویل ممکن است؟
گیرندگان پویا انتشارها را فقط از راه ایمیل دریافت میکنند. آنها حساب BI Platform ندارند، پس نمیتوانند از BI Inbox استفاده کنند یا مشترک شوند.
Q4تیم دیگری میخواهد جدول "Sales revenue by State" سند شما را در سند Web Intelligence خودش بخواند. در 4.3 چه میکنید؟
راهنمای 4.3 وبسرویسهای OData را شرح میدهد. URL باید در CMC مجاز شود و تیم دیگر آن را از طریق Web Services > OData در کادر محاورهای منبع داده اضافه میکند.
4سطح 4 · پیشرفته · ماژول 18 از 23
مدیریت و عیبیابی
دسترسیهایی که کار را متوقف میکنند، حفاظت از داده، پیامهای خطای رایج، Rich Client، تنظیمات زبان و تابعهای سفارشی.
18.1
مجوزهایی که معمولاً جلوی کار افراد را میگیرند
متوسط
چه و چرا. بیشتر موقعیتهای «نمیتوانم این کار را بکنم» ناشی از نبودِ مجوز است. مدیر سیستم این مجوزها را اعطا میکند. نام مجوز را بدانید تا بتوانید دقیقاً همان را درخواست کنید. در 4.3، اگر از نسخهٔ قدیمیتر مهاجرت کردهاید، مقادیر پیشفرض مجوزهای جدید زیر را بررسی کنید.
جدید در 4.3:
Query: View Free-Hand SQL و Query: Edit Free-Hand SQL: مشاهده یا ویرایش اسکریپتهای Free-Hand SQL.
Export the report's data خروجی گرفتن به Excel، PDF، Text، CSV و HTML را کنترل میکند. Export the cube's data خروجی گرفتن از دادههای cube به CSV را کنترل میکند.
General: Enable Desktop client access به کاربر اجازه میدهد از Web Intelligence Rich Client استفاده کند. برای باز کردن یک سند در آن باید سند را بهصورت محلی وارد (import) کنید، که به مجوز سند Import document locally نیاز دارد.
مجوزهای برنامه (Web Intelligence):
General: Enable Web client access، General: Enable Desktop client access، General: Edit Web Intelligence preferences.
Desktop: Publish to Enterprise و Desktop: Grant access to everyone (فقط Rich Client).
Query: View script generated from universe، Query: Edit script generated from universe.
Data: Enable data tracking، Data: Enable formatting of changed data.
Reporting: Create formulas, variables, groups and references؛ Create and edit breaks؛ Create and edit sorts and rankings؛ Create and edit filters and consume input controls؛ Create and edit input controls and group input controls؛ Create and edit conditional formatting rules؛ Create and edit predefined calculations؛ Enable document change؛ Merge objects؛ Insert and remove reports, tables, charts and cells.
مجوزهای سند:
Edit query، Refresh the report's data، Use Lists of Values، Refresh List of Values (به Use Lists of Values هم نیاز دارد)، View script.
Export the report's data، Export the cube's data، Import document locally.
Schedule document to run، و Schedule to destinations (والدِ Schedule to File System، FTP، Inbox، SFTP، SMTP، Google Drive). View document instances، Delete instances، Pause and Resume document instances، Reschedule instances (فقط CMC).
مجوزهای نظر (BI Commentary و نظرهای عمومی).
مجوزهای اتصال (connection): Data access (بازیابی محتوا از پایگاه دادهٔ آن اتصال)، Use connection for Free-Hand SQL scripts، Download connection locally (استفاده از universeها در حالت آفلاین Rich Client). مجوزهای universe (.UNV و .UNX): Create and edit queries based on the universe و Data access. دسترسی به داده روی یک universe به مجوزهای refresh روی برنامه و سند، و دسترسی به داده روی اتصال هم نیاز دارد.
مجوزهای انتشار (خلاصه): ناشر به اینها نیاز دارد: Add روی پوشهٔ انتشار، View و Schedule روی اسناد منبع، View روی گیرندگان و profileها، Data Access روی universeها و اتصالها، و Schedule روی خود انتشار. گیرندگان به View و View Instance روی انتشار نیاز دارند. فقط ناشر باید مجوز زمانبندی انتشار را داشته باشد.
18.2
حفاظت از دادهها و امنیت
متوسط
چه و چرا. فصل 11 راهنمای 4.3 توضیح میدهد که Web Intelligence چگونه از قواعد حفاظت از دادهها مانند GDPR پشتیبانی میکند. راهنما مشاورهٔ حقوقی نمیدهد. تصمیمها باید مورد به مورد گرفته شوند.
نکتههای کلیدی:
اسناد Web Intelligence در BI Platform ذخیره میشوند، پس فقط کاربران احراز هویتشده و مجاز میتوانند آنها را باز کنند. Web Intelligence دادههای شخصی جمعآوری نمیکند. دادهها را بهطور عمومی پردازش میکند و نمیتواند تشخیص دهد کدام فراداده (metadata) شخصی است. شناسایی اسنادی که دادههای شخصی دارند بر عهدهٔ مشتری است.
گزارشها را با Refresh on Open بسازید. در این حالت سند هر بار که باز میشود پاکسازی (purge) و با مجوزهای کاربر refresh میشود. در نتیجه دادههایی که از پایگاه داده حذف شدهاند از جدولها و نمودارها هم حذف میشوند. این موضوع اگر سند بهصورت محلی ذخیره شده باشد هم صادق است.
دادههای شخصی را در فیلدهای باز یا متن آزاد قرار ندهید.
نگهداری (retention): از زمانبندی برای ساختن منظم instanceها استفاده کنید. مدیران سیستم میتوانند قواعدی تعیین کنند که instanceها را پس از مدتی مشخص، برای هر پوشه یا هر سند، حذف کنند.
ثبت دسترسی خواندن: مدیران سیستم میتوانند ممیزی (auditing) دسترسی به اسناد یا refresh روی universeهای مشخص را فعال کنند. لاگها در یک پایگاه داده ذخیره میشوند. میتوانید روی آن یک سند Web Intelligence بسازید تا ببینید هر کاربر کدام اسناد را خوانده است.
لاگهای سرور ممکن است کاربران را به اسنادی که باز کردهاند مرتبط کنند. مدیران سیستم باید لاگها را بهطور منظم در CMC حذف کنند، یا در صورت نیاز آنها را غیرفعال کنند.
ذخیرهٔ محلی اسناد: بیرون از مخزن BI Platform، حفاظت از محتوا بر عهدهٔ مشتری است. راهنما ابزارهای شخص ثالث با رمزنگاری در سطح سیستمعامل را توصیه میکند.
مثال کاربردی. گزارش "Sales by Store" در eFashion یک سلول نظر با متن آزاد دارد که کارکنان نام مشتریان را در آن تایپ میکنند. نامها را حذف کنید، Refresh on Open را فعال کنید، و از مدیر سیستم بخواهید یک قاعدهٔ نگهداری تعیین کند که instanceهای زمانبندیشده را پس از 90 روز حذف کند.
18.3
15 پیام خطای رایج و راهحل ساده
متوسط
راهنمای 4.3 خطاها را بر اساس منبع گروهبندی میکند: WIO (Desktop، Rich Client)، WIS (سرور)، IES (موتور کوئری)، RWI (موتور گزارش) و CDS (منابع دادهٔ سفارشی). پیشوندهای قدیمی WIJ و WIH (رابطهای Java و HTML) حذف شدهاند.
#
پیام (کد)
معنی
چه باید کرد
1
The query in this document is empty (WIS 30000)
هیچ شیئی در پنل Result Objects کوئری نیست.
کوئری را ویرایش کنید و result objectها را اضافه کنید.
2
At least one query in the document is empty (WIS 30001)
یکی از چند کوئری هیچ result objectی ندارد.
به کوئری خالی result object اضافه کنید.
3
Your security profile does not include permission to refresh documents (WIS 30253)
مجوز refresh را ندارید.
مجوز Refresh the report's data را از مدیر سیستم بخواهید.
4
Your security profile does not include permission to edit queries (WIS 30251)
مجوز Edit query را ندارید.
از مدیر سیستم بخواهید.
5
You cannot edit this document because the query property option "Allow other users to edit the query" was not enabled when the document was created (WIS 30381)
نویسندهٔ سند اجازهٔ ویرایش کوئری را نداده است.
با مدیر سیستم تماس بگیرید، یا از نویسنده بخواهید آن را فعال کند.
6
Your security profile does not include permission to save documents as corporate documents or to send documents using the BI launch pad (WIS 30555)
نمیتوانید سند سازمانی ذخیره کنید، ارسال کنید یا زمانبندی کنید.
مجوزها را از مدیر سیستم بخواهید.
7
Your user profile does not provide you with access to a document domain to save corporate documents (WIS 40000)
نمیتوانید در مخزن سازمانی ذخیره کنید.
بهصورت سند شخصی ذخیره کنید یا درخواست دسترسی بدهید.
8
Your WIQT session has reached timeout. Log out and log in again to the BI launch pad (WIS 30553)
بیش از حداکثر زمان مجاز بیفعالیت بودهاید.
خارج شوید و دوباره وارد شوید. تغییرات ذخیرهنشده از دست میروند. اگر تکرار شد، از مدیر سیستم بخواهید مهلت نشست (session timeout) را افزایش دهد.
9
Your Web Intelligence session is no longer valid because of a timeout (RWI 00235)
نشست سرور برای سند بسته شده یا مهلتش تمام شده است.
سند را دوباره باز کنید. مدیر سیستم میتواند Idle Connection Timeout را در CMC افزایش دهد.
10
The Web Intelligence server cannot be reached (RWI 00236)
سرور گزارش خاموش است یا در دسترس نیست.
با مدیر سیستم تماس بگیرید.
11
You cannot run this query because it will produce a Cartesian product (IES 00012)
کوئری هر ردیف را با تکتک ردیفهای دیگر ترکیب میکند و برمیگرداند.
از طراح universe بخواهید joinها را اصلاح کند یا آن را مجاز کند.
12
Some objects are no longer available in the universe (IES 00001)
یکی از اشیای کوئری از universe حذف شده است.
اشیای ناموجود را از کوئری حذف کنید.
13
Query can't be refreshed. You don't have sufficient rights or some objects are not available to your user profile (IES 00002)
روی یکی از اشیا مجوز داده ندارید.
از مدیر سیستم بخواهید profile شما را تغییر دهد.
14
Syntax error in formula '%1%' at position %2% (IES 10001)
فرمول در آن موقعیت غلط تایپی دارد.
فرمول را اصلاح کنید.
15
The Web Intelligence server is busy / running out of memory (WIS 30284, WIS 30285)
ظرفیت سرور تمام شده است. در 30285 سند بسته میشود.
تغییرات را ذخیره کنید و بعداً دوباره امتحان کنید. اگر تکرار شد، به مدیر سیستم مراجعه کنید.
اینها را هم بهتر است بدانید:
There is no more memory available (WIS 30280 / WIO 30280) و Cannot continue because memory is low (WIO 30284): حافظهٔ Rich Client تمام شده است. اسناد باز را ببندید.
The document is too large to be processed by the server (WIS 30271 / 30272): خروجی از حد مجاز اندازه بیشتر شده است (30271 برای PDF یا Excel، 30272 برای HTML). از مدیر سیستم بخواهید این حد را افزایش دهد.
A filter contains a wrong value (IES 00007): برای مثال یک مقدار ثابت خالی، یا متن بهجای عدد. فیلتر را اصلاح کنید.
The numeric value for the query filter is invalid (IES 10703) و The date for the prompt is invalid (IES 10706): مقدار معتبر وارد کنید.
The object is not unique in the report (IES 10005): از نام کامل (fully qualified name) استفاده کنید.
Circular reference (IES 10042): فرمول یک متغیر به خودش ارجاع میدهد. این حلقه را حذف کنید.
18.4
نصب و اجرای Rich Client
متوسط
دانلود Rich Client از BI launch pad
BI launch pad را باز کنید و وارد شوید.
منو را باز کنید و روی Settings کلیک کنید.
Application Preferences›Web Intelligence را انتخاب کنید.
زیر Web Intelligence Rich Client Setup، روی Download کلیک کنید.
ورود به سیستم
Rich Client را اجرا کنید.
System و Authentication و سپس نام کاربری و گذرواژهٔ خود را وارد کنید. برای بررسی گذرواژه روی آیکون چشم کلیک کنید.
اختیاری: Work Offline را روی Yes بگذارید. این گزینه فقط وقتی کار میکند که دستکم یک بار در حالت آنلاین وارد شده باشید.
روی Start کلیک کنید.
سه حالت اتصال
در میانهٔ یک نشست نمیتوانید حالت را عوض کنید.
حالت
اتصال به CMS
امنیت
کارهایی که میتوانید انجام دهید
Online
بله
CMS حقوق شما را اعمال میکند
وارد کردن سندها و universeها از CMS، باز کردن، ساختن، ویرایش و تازهسازی سندهای محلی، ذخیرهٔ محلی، انتشار در CMS
Offline
خیر
امنیت CMS همچنان اعمال میشود (از یک فایل LSI محلی)
کار با سندها و universeهای محلی که با CMS انتخابشده هنگام ورود محافظت شدهاند، یا سندها و universeهای بدون امنیت. امکان وارد کردن از CMS یا انتشار در آن وجود ندارد
Standalone
خیر
هیچ امنیتی اعمال نمیشود
فقط سندهای محلی و بدون امنیت: باز کردن، ساختن، ویرایش، تازهسازی، ذخیرهٔ محلی
منابع داده بر اساس حالت (طبق راهنما):
universeهای .unv و .unx: در Offline بله (universe واردشده، و همچنان گذرواژهٔ CMS لازم است)، در Online بله. ساختن سند روی universeهای .unx در حالت آفلاین پشتیبانی نمیشود.
نماهای SAP HANA، کوئریهای BEx، Free-Hand SQL، سندهای Web Intelligence: فقط Online.
فایلهای Excel و متنی: در Offline و Online بله (در Offline فقط فایلهای محلی).
وبسرویسهای OData: همهٔ حالتها.
Standalone: universe، Excel، متن، OData و بدون منبع داده.
کار در حالت Standalone
Rich Client را باز کنید. در صفحهٔ ورود، کلید Standalone را روشن کنید (Yes نمایش داده میشود).
روی Start کلیک کنید.
دفعهٔ بعد، Rich Client مستقیماً صفحهٔ ورود را با کلید روشن نشان میدهد. برای رد شدن از صفحهٔ ورود، از منوی Welcome در بالا سمت راست > Settings›General›Launch Web Intelligence Rich Client in Standalone mode استفاده کنید.
برای استفاده از یک سند CMS در حالت Standalone: آن را وارد (import) کنید، در منوی دکمهٔ Save روی Save Copy کلیک کنید و Remove Security را انتخاب کنید.
واگذاری تازهسازی به سرور (حالت HTTP)
در BI launch pad به Settings›Application Preferences > زبانهٔ Web Intelligence بروید و زیر Open in Edit Mode گزینهٔ Rich Client را انتخاب کنید.
سندی را در BI launch pad باز کنید. یک فایل .zabowi دریافت میکنید. آن را باز کنید تا Rich Client اجرا شود. پس از آن، پنجره عبارت «(HTTP)» را نشان میدهد.
حالت HTTP نیاز دارد که گرهٔ Database Access and Security (connectivity) هنگام نصب تیک نخورده باشد، و حق Download Connection Locally در CMC اعطا شده باشد.
دیگر تنظیمات Rich Client
پوشههای پیشفرض: Settings›General. از Browse کنار فیلدهای universeها و سندهایی که از CMS وارد شدهاند استفاده کنید، سپس Save را بزنید.
واحد اندازهگیری: در BI launch pad، Settings›Application Preferences > زبانهٔ Web Intelligence، در بخش واحد اندازهگیری.
جستوجو: Ctrl+F یک نوار جستوجو برای پنجرهٔ فعال، فهرستهای کشویی یا کادرهای گفتوگو باز میکند (بخش 11 را ببینید).
مثال کاربردی: سند eFashion را با خود به سفر میبرید. پیش از رفتن، آن را در Rich Client در حالت آنلاین وارد (import) کنید. در هواپیما با Work Offline روشن وارد میشوید، سند را باز میکنید و چیدمان را ویرایش میکنید.
Gotchas
حالت Offline به یک نشست آنلاین قبلی نیاز دارد تا فایل LSI (اطلاعات امنیتی محلی، local security information) وجود داشته باشد.
اگر حق Download connection locally از شما سلب شده باشد، تازهسازی محلی انجام نمیشود و تازهسازی به سرور واگذار میشود. در حالت کاملاً آفلاین با اتصالهای امن، گزارشها را میتوان باز کرد، دید و ویرایش کرد، اما نمیتوان تازهسازی کرد و کوئری را هم نمیتوان تغییر داد.
وقتی چند کوئری دارید، تازهسازی فقط برای اتصالهای غیرامن کار میکند. اگر کوئریای از اتصال امن استفاده کند، هشداری نمایش داده میشود.
حالت Standalone از prompt variantها، commentary، اجزای مشترک (shared elements) و انتشار در CMS پشتیبانی نمیکند. ترجمهٔ سندها نیز در دسترس نیست.
در حالت آفلاین نمیتوانید سندی را که روی منابع BEx، Free-Hand SQL، SAP HANA یا متنی ساخته شده ویرایش و تازهسازی کنید، و نمیتوانید روی universeهای .unx، BEx یا SAP HANA سند بسازید.
18.5
کار با سندها در Rich Client
متوسط
در صفحهٔ اصلی Rich Client:
Import (فقط در حالت آنلاین): سندی را از مخزن BI platform انتخاب کنید. Import & Open کار را بیدرنگ آغاز میکند. سندها بهطور پیشفرض در پوشهٔ userDocs قرار میگیرند.
New: نوع منبع داده را انتخاب کنید (به حالت بستگی دارد)، روی OK کلیک کنید، سپس از منوی آیکون ذخیره Save را بزنید و یک پوشه انتخاب کنید.
Open: یک سند محلی را در پنجرهٔ مرور انتخاب کنید. سند در Recent Local Documents نمایش داده میشود.
Save: همیشه بهصورت محلی ذخیره میکند. تغییرات به CMS نمیرسند.
Save Copy: یک نسخه را در پوشهای که انتخاب میکنید ذخیره میکند.
Publish to BI Platform Repository: سند را بهصورت عمومی یا خصوصی در یک پوشهٔ CMS قرار میدهد. فقط در حالت آنلاین. برای حفظ نسخهٔ اصلی، از نام جدید یا پوشهٔ دیگری استفاده کنید.
روند کار: یک سند را وارد کنید (یا بسازید)، ذخیره کنید، ویرایش کنید و دوباره منتشر کنید.
Gotchas
انتشار به حق «Desktop: Publish to Enterprise» نیاز دارد.
حالت Standalone گزینههای Import و Publish to BI Platform Repository را پنهان میکند.
Rich Client به حق «General: Enable Desktop client access» نیاز دارد، و باز کردن سند در آن به حق «Import document locally» نیاز دارد.
18.6
Localeها و جهت نمایش
متوسط
Localeها (تنظیمات منطقهای) تعیین میکنند رابط کاربری و دادهها برای منطقهٔ شما چگونه نمایش داده شوند. سه نوع locale وجود دارد.
Locale
چه چیزی را کنترل میکند
محل تنظیم
Product locale
زبان و چینش رابط کاربری: گزینههای منو، متن دکمهها
Settings›Account Preferences›Locale and Time Zone
Preferred viewing locale
نحوهٔ نمایش دادههای سند
Settings›Account Preferences›Locale and Time Zone
Document locale
قالب تاریخ و عدد در سند
کلید Permanent regional formatting در ویژگیهای سند
تنظیم Product locale یا Preferred viewing locale
در BI launch pad، Settings›Account Preferences›Locale and Time Zone را باز کنید.
Product Locale و Preferred Viewing Locale را انتخاب کنید.
ذخیره کنید.
انتخاب locale برای قالببندی دادهها
در Settings›Application Preferences›Web Intelligence، یکی از گزینههای Use my preferred viewing locale to format the data یا Use the document locale to format the data را انتخاب کنید.
قفل کردن یک locale روی سند
Permanent regional formatting را در ویژگیهای سند (پنجرهٔ Properties در Main panel) روشن کنید. وقتی روشن باشد، برای همهٔ کاربران اعمال میشود و دادهها را با locale تعیینشده قالببندی میکند.
راستبهچپ (RTL)
اگر Arabic یا Hebrew را بهعنوان Product locale انتخاب کنید، رابط کاربری همیشه RTL است. پنل کناری به سمت راست منتقل میشود.
اگر Arabic، Hebrew یا Farsi را بهعنوان Preferred viewing locale انتخاب کنید، بسته به تنظیمات مدیر سیستم، اجزای سند ممکن است RTL شوند. در یک cross table، ستون سرعنوان کناری به سمت راست منتقل میشود.
برای یک سند خاص، در حالت Design از کلید Right to Left Content Alignment در ویژگیهای سند استفاده کنید. میتوانید یک سند عربی یا عبری را بدون تغییر نسخهٔ اصلی، چپبهراست ببینید.
مثال کاربردی: یک همکار در بریتانیا و یک همکار در آمریکا یک گزارش eFashion را باز میکنند. هر دو همان اعداد را میبینند اما قالب تاریخ متفاوت است، چون بهطور پیشفرض locale مرورگر استفاده میشود. اگر Permanent regional formatting را روشن کنید، همه قالب locale سند را میبینند.
Gotchas
هنگام ساختن یک سند، Preferred viewing locale شما بهعنوان locale اولیهٔ سند در نظر گرفته میشود.
Permanent regional formatting برای همهٔ کاربرانی که سند را میبینند اعمال میشود.
رابط کاربری، نسخههای چاپی، خروجیهای PDF و Excel و سندهای زمانبندیشده جهت را به ارث میبرند. سند RTL، فایل PDF راستبهچپ تولید میکند.
نمودارها همیشه LTR هستند.
18.7
توابع سفارشی (افزونههای محاسباتی)
پیشرفته، مدیران سیستم و توسعهدهندگان
چه و چرا. افزونههای محاسباتی (calculation extensions) توابع خودتان را به فهرست توابع Web Intelligence اضافه میکنند. این کار مربوط به توسعهدهندگان و مدیران سیستم است، نه گزارشنویسان.
طرح کلی از راهنما
تابع را در یک فایل XML اعلان کنید (نام، GUID، نوع خروجی، دسته، راهنما).
آن فایل را در externalcatalogs.xml (تنها فایل catalogs) فهرست کنید.
تابع را در یک کتابخانهٔ C++ (DLL در Windows، SO در Linux یا UNIX) با استفاده از API پیادهسازی کنید.
آن را کامپایل کنید.
فایل XML و کتابخانه را در پوشهٔ WebiCalcPlugin روی سرور و روی همهٔ رایانههایی که rich client دسکتاپ دارند کپی کنید.
سرور Web Intelligence را دوباره راهاندازی کنید. سپس تابع در Formula Editor و راهنمای نوار فرمول ظاهر میشود.
18.8
بازنویسی خودکار فرمولها (سندهای مهاجرتدادهشده)
پیشرفته
از نسخهٔ 4.1 SP3، سندهایی که از نسخههای قدیمیتر مهاجرت داده شدهاند برای سه الگو بهطور خودکار بازنویسی میشوند تا همان نتایج قبلی را برگردانند: (1) Where با یک بُعد بهعنوان پارامتر در شرط، (2) محاسبات تجمعی (running) با بازنشانی در بخشها، (3) محاسبات تجمعی با بازنشانی در crosstabها (که کلیدواژهٔ FORCE_COL میگیرند، مثلاً RunningSum([Sales revenue];FORCE_COL;([State]))). بعد از آن سند را ذخیره کنید تا بازنویسی ثبت شود.
5سطح 5 · هوش مصنوعی عاملمحور · ماژول 19 از 23
REST API چگونه کار میکند
آدرسهای پایه، ورود، توکن، وضعیت سند، مشخصات کوئری و پرامپتها.
19.1
REST SDK چیست و کجا قرار دارد
متوسط
پلتفرم BI سرویسهای وب REST را در اختیار شما میگذارد. با این سرویسها یک برنامه میتواند همان کارهایی را انجام دهد که کاربر در Web Intelligence انجام میدهد: مرور universeها، اجرای کوئری، ساختن و بهروزرسانی (refresh) سندها و زمانبندی آنها. هر زبانی که بتواند درخواست HTTP بفرستد، میتواند از آنها استفاده کند. ابزارهایی هم که بدون کدنویسی درخواست HTTP میفرستند همینطور. این سرویسها روی WebApplicationContainerServer (WACS) میزبانی میشوند، پس این سرور باید در حال اجرا باشد.
راهنما دو SDK را شرح میدهد. کار هر کدام متفاوت است.
دو API
Web Intelligence ("raylight"). با سندها، گزارشها، اجزای گزارش، data providerها، refresh، زمانبندیها، input controlها و موارد دیگر کار میکند. نام کوتاه در URL: raylight/v1.
BI Semantic Layer ("sl"). با universeها و کوئریهای روی آنها کار میکند. شما کوئری را توصیف میکنید، اجرا میکنید و ردیفها را میخوانید. نام کوتاه در URL: sl/v1.
پایهٔ سوم، یعنی سرویس سادهٔ پلتفرم BI، کارهای ورود (logon)، خروج (logoff) و نشست (session) را انجام میدهد.
URLهای پایهٔ پیشفرض
نصب تکسروری از این مقادیر پیشفرض استفاده میکند. 6405 پورت پیشفرض HTTP برای سرویسهای REST است.
سرویس
URL پایه
BI platform
http://<server_name>:6405/biprws
BI Semantic Layer
http://<server_name>:6405/biprws/sl/v1
Web Intelligence
http://<server_name>:6405/biprws/raylight/v1
میتوانید URL تنظیمشده را در CMC، در مسیر Applications، REST Web Service، Properties، Access URL تغییر دهید. فصلهای مرجع API در راهنما، برای کوتاه ماندن مسیرها، URL پایه را نمینویسند. وقتی GET /documents را میبینید، آن را GET http://<server_name>:6405/biprws/raylight/v1/documents بخوانید.
نخستین فراخوانیهای مفید
بررسی نسخهٔ سرور (بدون نیاز به ورود): GET /about (روی پایهٔ Web Intelligence). این فراخوانی عنوان، نسخه و build را برمیگرداند.
همهٔ فراخوانیها بهجز /about به توکن ورود (logon token) نیاز دارند. توکن را در دو مرحله از URL پایهٔ پلتفرم BI میگیرید. اول از سرور میپرسید چه چیزی لازم دارد. بعد اطلاعات ورود را با همان شکل برمیگردانید. توکن در همهٔ فراخوانیهای بعدی در یک header درخواست قرار میگیرد.
مقدار توکن را داخل دو علامت نقلقول (double quotes) در header درخواست X-SAP-LogonToken همهٔ درخواستهای بعدی بگذارید.
خروج
POST /logoff (روی URL پایهٔ پلتفرم BI، http://<server_name>:6405/biprws/logoff)
جدولهای گردش کار (workflow) در راهنما هر روند را با همین فراخوانی تمام میکنند. راهنما برای جزئیات به راهنمای جداگانهٔ BI Platform RESTful Web Service Developer Guide ارجاع میدهد، پس درخواست دقیق را در آن راهنما بررسی کنید.
19.3
Headerها، JSON در برابر XML، کدهای وضعیت و خطاها
متوسط
API هم XML و هم JSON را پشتیبانی میکند. بیشتر صفحههای مرجع میگویند "Response type: application/xml or application/json". یکی را با header Accept انتخاب کنید. مثالهای خود راهنما بیشتر XML هستند.
Headerهایی که راهنما نام میبرد
Header
کاربرد
X-SAP-LogonToken
توکن ورود، داخل دو علامت نقلقول. در همهٔ فراخوانیهای بعد از ورود لازم است.
Accept
انتخاب application/xml یا application/json برای پاسخ.
Accept-Language
زبان پیامهای سیستم و خطا. با Product Locale مطابقت دارد. مثال: fr-FR.
X-SAP-PVL
زبان محتوای BI مثل سندها. با Preferred Viewing Language مطابقت دارد. مثال: de-DE.
سرویس برای هر Preferred Viewing Locale درخواستشده، یک نسخه از سند را در حافظه باز میکند.
قواعد تبدیل XML به JSON
SDK در بدنهٔ درخواستها به این نحو JSON نیاز دارد. علامت at (@) یک attribute را مشخص میکند. علامت دلار ($) مقدار متنی یک element را مشخص میکند.
پیش از 4.2 SP3، فهرست خالی به شکل "report":"" برمیگشت و فهرست تکعضوی بهصورت یک شیء تکی، نه آرایه. از 4.2 SP3 به بعد، فهرستهای خالی و تکعضوی آرایههای درست هستند:
{"reports":{"report":[]}}
{"reports":{"report":[{...}]}}
اگر JSON یک سرور قدیمیتر را parse میکنید، شکلهای قدیمی را هم پوشش دهید.
فیلدهای اضافه نادیده گرفته میشوند
فیلدهایی که به یک فراخوانی ربطی ندارند نادیده گرفته میشوند و فراخوانی همچنان موفق است.
کدهای وضعیت HTTP
کد
معنا
200
موفق.
400
درخواست نادرست. منبع وجود دارد اما درخواست خطا دارد.
401
ورود ناموفق یا نشست نامعتبر. دوباره وارد شوید.
403
دسترسی رد شد. روی منبع مجوز ندارید.
404
سرویس در دسترس نیست.
405
متد نامعتبر، مثلاً PUT روی منبعی که فقطخواندنی است.
406
غیرقابلقبول. نوع محتوای خواستهشده در Accept تولید نمیشود.
500
خطای داخلی. بدنهٔ پاسخ را بخوانید.
503
plugin سرویس وب پیدا نشد. پیکربندی سرویس را بررسی کنید.
پیام موفقیت
فراخوانیهای موفقی که چیزی را تغییر میدهند، پیامی همراه با id شیء برمیگردانند:
{"success":
{"message": "The resource of type \"Document\" with identifier \"16706\" has been successfully updated.",
"id": "16706"
}
}
در موارد نادر id وجود ندارد.
پیام خطا
<error>
<error_code>WSR 00400</error_code>
<message>The expression "[DUMMY]" cannot be found in the document dictionary.</message>
</error>
کدهای خطای Web Intelligence:
کد
معنا
WSR 00001
توکن نشست داده نشده است. نشست پیدا نشد.
WSR 00002
توکن نشست نامعتبر است.
WSR 00100
یک قاعده رعایت نشده است.
WSR 00101
یک آرگومان نادرست است.
WSR 00102
بدنهٔ درخواست ساختار نادرست دارد.
WSR 00103
درخواست نامعتبر است.
WSR 00400
منبع وجود ندارد.
WSR 00401
منبع از قبل وجود دارد.
WSR 00402
دسترسی به منبع ناموفق بود.
WSR 00501
عمل پشتیبانی نمیشود.
WSR 00999
خطای داخلی.
SDK مربوط به Semantic Layer کدهای خودش را دارد که دقیقترند. راهنما برای آنها به راهنمای جداگانهٔ Error Messages Explained ارجاع میدهد.
19.4
وضعیت سند و ذخیرهسازی
متوسط
Web Intelligence از اصول REST پیروی میکند، اما مدیریت سند کاملاً بدونوضعیت (stateless) نیست. دلیلش کارایی است. وقتی از طریق API سندی را میسازید یا ویرایش میکنید، تغییرات در مخزن (repository) ذخیره نمیشوند. تا وقتی ذخیره نکنید، در حافظهٔ سرور میمانند.
وضعیتها
وضعیت
معنا
Unused
سند روی سرور بارگذاری نشده است.
Original
بارگذاری شده، تغییر نکرده است. باز کردن سند آن را Original میکند.
Modified
بارگذاری شده و تغییر کرده است. هنوز ذخیره نشده است.
KeepAlive
یک شبهوضعیت. سند را باز نگه میدارد و جلوی timeout سرور را میگیرد. وضعیت واقعی را تغییر نمیدهد.
ذخیره در همانجا (یا بستن)
PUT /documents/<documentID>
بدنهٔ درخواست اختیاری است. اگر <state> را بفرستید، نمیتوانید tagهای دیگر را بفرستید.
تغییر
نتیجه
Original به Unused
تغییر نکرده. بسته میشود.
Original، بدون بدنه
تغییر نکرده.
Modified به Unused
بهروزرسانی و بسته میشود (طبق جدول راهنما). متن توضیح وضعیتها میگوید Unused تغییرات فعلی را هم دور میریزد.
Modified، بدون بدنه یا با بدنهٔ خالی
بهروزرسانی و ذخیره میشود. وضعیت به Original برمیگردد.
بستن سندی که تغییر نکرده است:
<document>
<state>Unused</state>
</document>
باز نگه داشتن سند:
<document>
<state>KeepAlive</state>
</document>
ذخیرهٔ سند تغییریافته: PUT /documents/9326 را بدون بدنه بفرستید. پاسخ این است:
<success>
<message>The resource of type "document" with identifier "9326" has been successfully updated.</message>
<id>9326</id>
</success>
ذخیره بهعنوان نسخهٔ جدید
POST /documents/<documentID>?overwrite=<boolean>&withComments=<boolean>
این فراخوانی سند را در یک پوشهٔ مقصد کپی میکند و نسخهٔ جدیدی میسازد. شناسه بهطور خودکار اختصاص داده میشود.
فیلدهای بدنه: <name>، <description> (اختیاری)، <keywords> (اختیاری)، <folderId> (برای همان پوشه از -1 استفاده کنید)، <categories> (اختیاری) و <properties> (اختیاری).
19.5
مشخصات کوئری (Query Specification)
پیشرفته
در SDK مربوط به Semantic Layer، کوئری یک سند XML به نام مشخصات کوئری (query specification) است. این سند universe، اشیایی که میخواهید برگردند، ترتیب مرتبسازی و فیلترها را مشخص میکند. سرور کوئری کامپایلشده را در حافظه نگه میدارد، نه در مخزن. میتوانید آن را بارها اجرا کنید. این روش روی هر نوع universe کار میکند، چه دادهها رابطهای (relational) باشند، چه OLAP یا نوع دیگر.
ساختن کوئری
POST /queries (روی پایهٔ sl/v1). نوع درخواست: application/xml.
<success>
<message>The resource of type "query" with identifier "6089913651317040730" has been successfully created.</message>
<id>6089913651317040730</id>
</success>
فراخوانیهای دیگر کوئری: GET /queries، GET /queries/<queryID>، DELETE /queries/<queryID>. نتایج کوئری از سرویس OData در GET /queries/<queryID>/data.svc/ میآیند.
بخشهای بدنه
<query> دارای dataSourceType (unv یا unx) و dataSourceId (id مربوط به universe) است. یک id اختیاری هم id کوئری است.
<querySpecification version="1.0"> همهٔ بخشهای دیگر را در بر میگیرد.
<queryOptions>: تنظیمات اختیاری. گزینهای که فهرست نکنید اعتبارسنجی نمیشود.
<queryData>: اشیای نتیجه، مرتبسازی و فیلتر. دستکم یکی وجود دارد.
اشیای نتیجه (result objects)
<resultObject id="..." path="..."/>. مقدار id از metadata مربوط به universe میآید. path مسیر کامل است و اختیاری است.
اشیای مرتبسازی (sort objects)
<sortObject id="..." path="..." sortType="Ascending|Descending"/>. یک شیء مرتبسازی میتواند همزمان شیء نتیجه هم باشد.
گزینههای کوئری
نام گزینه
کاری که انجام میدهد
duplicatedRows
اگر true باشد، همهٔ ردیفهای مرتبط، حتی تکراریها، برگردانده میشوند.
maxRetrievalTimeInSeconds
بیشترین زمان اجرا پیش از متوقف شدن کوئری.
maxRowsRetrieved
سقف تعداد ردیفهای نمایشدادهشده.
samplingResultSetSize، samplingResultSetFixed
اندازهٔ نمونه، و نمونهگیری ثابت (true) یا تصادفی (false).
هر گزینه میتواند activated="false" داشته باشد تا خاموش شود. اگر این attribute نباشد، گزینه فعال به حساب میآید.
فیلترهای سفارشی (custom filters): مقایسه با مقادیر ثابت، با یک فهرست، با یک prompt یا با یک شیء دیگر. همچنین فیلترهای رتبهبندی (ranking)، فیلترهای زیرکوئری (subquery) و ترکیبهای AND/OR.
عملگرهای مقایسه و تعداد مقادیر سمت راستی که هر کدام میگیرد:
فیلتر رتبهبندی: <rankingFilter level="3" function="Top"> با فرزندهای <dimension> و <basedOnMeasure>. مقدار function یکی از Top، Bottom، topPercent یا bottomPercent است.
کوئریهای ترکیبی (combined queries)
یک مشخصات کوئری میتواند چند کوئری را در بر بگیرد که با union، minus یا intersect به هم وصل شدهاند. فقط یک نتیجه برمیگردد. در مثال راهنما، دو بلوک <queryData> داخل <minus> قرار دارند:
داخل یک سند Web Intelligence، هر data provider مشخصات کوئری خودش را دارد. این مشخصات schema متفاوتی به نام "queryspec" دارد و از text/xml استفاده میکند:
GET /documents/<documentID>/dataproviders/<dataProviderID>/specification
PUT /documents/<documentID>/dataproviders/<dataProviderID>/specification
«پارامتر» سؤالی است که سرور پیش از اجرا باید پاسخش را بداند. این شامل سه نوع است: یک context (اینکه کوئری universe از کدام یک از چند مسیر برود)، یک prompt (یک @Prompt یا پارامتر شیء، مثل "Enter a value for Country") و یک متغیر SAP. در Web Intelligence برای refresh کردن سند به آنها پاسخ میدهید. در Semantic Layer برای اجرای کوئری پاسخ میدهید.
الگوی کار یک گفتوگوست. پارامترها را درخواست میکنید. پاسخها را میفرستید. سرور ممکن است پارامتر بعدیِ بیپاسخ را برگرداند. این کار را تکرار میکنید تا چیزی باقی نماند.
Web Intelligence: refresh کردن سند
فهرست پارامترها:
GET /documents/<documentID>/parameters?formattedValues=false&lovInfo=true&summary=false
هر سه پارامتر کوئری اختیاریاند.
formattedValues: تاریخها و اعداد را بر اساس locale تعیینشده در X-SAP-PVL قالببندی میکند.
lovInfo: برای صرفنظر از محاسبهٔ فهرستهای مقادیر (lists of values)، آن را false کنید.
summary: برای گرفتن خلاصهای از مقادیر قبلی، آن را true کنید.
پاسخ دادن و refresh:
PUT /documents/<documentID>/parameters?<optional_parameters>
پارامترهای اختیاری: dataproviderScope (all یا accessible، جدید در 4.2 SP04)، formattedValues، lovInfo، refresh (پیشفرض true)، strict و variantIds.
بدون بدنه، این فراخوانی context یا promptی را که باید پر شود برمیگرداند. اگر چیزی برای پر کردن نمانده باشد، سند refresh میشود.
لغو یک refresh در حال اجرا: PUT /documents/<documentID>/parameters/execution?cancel=<mode>.
گرفتن یک پارامتر: GET /documents/<documentID>/parameters/<parameterID>.
Semantic Layer: اجرای کوئری
GET /queries/<queryID>/parameters?formattedValues=false
dpId: data providerی که پارامتر به آن تعلق دارد (فقط Web Intelligence).
dpLinks: وقتی یک prompt در چند کوئری استفاده شده باشد مقدار میگیرد.
<name>: متن سؤال.
<answer type>: Text، Numeric، Date یا DateTime.
constrained: true یعنی کاربر باید از فهرست مقادیر انتخاب کند. false یعنی تایپ آزاد مجاز است.
cardinality: Single، Multiple یا Interval (دو مقدار).
فهرست مقادیر (<lov>)
partial میگوید فهرست بریده شده است. refreshable و searchable میگویند آیا میتوانید فهرست را refresh یا جستوجو کنید. hierarchical فهرست درختی را مشخص میکند. mandatorySearch یعنی تا الگوی جستوجو نفرستید هیچ مقداری برنمیگردد. فهرستهای بلند بهصورت بازه (interval) برمیگردند. پیشفرض 50 مقدار در هر بازه است.
مقادیر قبلی و پیشفرض
وقتی پارامترها را فهرست میکنید، سرور <answer>/<values> را اینطور پر میکند:
مقادیر قبلی، اگر وجود داشته باشند.
در غیر این صورت مقادیر پیشفرض، اگر وجود داشته باشند.
در غیر این صورت هیچ.
contextها مقدار پیشفرض ندارند.
ارسال پاسخها
یک بدنهٔ <parameters> برگردانید که در آن هر پارامتر <id> و <values> خودش را دارد. پاسخ به یک context این شکلی است:
وقتی به همهٔ پارامترها پاسخ داده شده و refresh برابر true است، این را میگیرید:
<success>
<message>The resource of type 'Document' with identifier 'XX' has been successfully updated.</message>
<id>XX</id>
</success>
اگر refresh=false باشد، پیام میگوید منبع "has not been modified".
هنگام پاسخ دادن میتوانید از سرور فهرست مقادیر هم بخواهید. در <info><lov><query ...> از intervalId، intervalSize (یک عدد، -1 یا Unlimited برای همه، یا Server)، refresh، <sort order="Ascending|Descending|None"/> و <search> استفاده کنید. در الگوی جستوجو، ? یعنی صفر یا یک کاراکتر و * یعنی صفر یا چند کاراکتر.
19.7
نگاشت تغییر منبع (Change Source Mapping)
پیشرفته
«تغییر منبع» (change source) اشیای دادهای را که کوئریهای یک سند استفاده میکنند با اشیای یک منبع داده دیگر جایگزین میکند. راهنما دو کاربرد برای آن میآورد. اول، وصل کردن دوبارهٔ سند به universeی که از .unv به .unx تبدیل شده است. دوم، وصل کردن سندی که در مخزن بارگذاری شده به منبع دادهای که در مخزن ذخیره شده است. فایلهای متنی، Excel، SAP HANA Online و سرویسهای وب بهعنوان منبع پشتیبانی نمیشوند.
سرور یک نگاشت (mapping) محاسبه میکند: برای هر شیء منبع، کدام شیء مقصد جایگزین آن میشود. این کار را با راهبردها (strategies) انجام میدهد. میتوانید پیشنهاد را بپذیرید یا ویرایشش کنید.
روند کار
نگاشت پیشنهادی را درخواست کنید.
آن را با یک POST اعمال کنید، چه همانطور که پیشنهاد شده و چه ویرایششده.
از 4.1 SP6 به بعد میتوانید راهبردها را خودتان هم انتخاب کنید.
گرفتن نگاشت پیشنهادی (راهبردهای پیشفرض)
GET /documents/<documentID>/dataproviders/mappings?originDataproviderIds=<DP1>,<DP2>&targetDatasourceId=<dataSourceID>
originDataproviderIds اختیاری است. اگر آن را نفرستید، همهٔ data providerهای سند استفاده میشوند. targetDatasourceId الزامی است.
Low یعنی qualification یا نوع داده باید یکسان باشد. High تفاوت را مجاز میکند. مثال: qualificationTolerance="Low" dataTypeTolerance="High" یعنی qualificationها باید دقیقاً یکسان باشند، اما نوع دادهها میتوانند فرق کنند.
19.8
حقوق کاربری (User Rights) مورد نیاز API
متوسط
API با هویت کاربر واردشده اجرا میشود. نمیتواند بیش از آنچه حقوق آن کاربر اجازه میدهد کاری انجام دهد. حقوق پیش از استفاده از API اعمال میشوند. فراخواننده آنها را نمیبیند. برای مثال، اشیایی که سطح دسترسی کاربر پنهانشان کرده، بهسادگی در ساختار (outline) universe برگردانده نمیشوند.
حقوق universe و connection
حق
اگر خاموش باشد چه میشود
"View objects" در سطح connection
کاربر connection را نمیبیند. کوئری اجرا نمیشود.
"View objects" در سطح universe
universe در فهرست نیست. هر فراخوانی که از ID آن استفاده کند خطا برمیگرداند.
"Data access" (حق سفارشی، در سطح universe یا connection)
هر فراخوانی به سرویس OData خطا برمیگرداند.
حقوق Connections، Objects، Rows و Table Mapping هم وقتی نتایج کوئری را از طریق OData میخوانید یا فهرست مقادیر را از طریق GET /queries/<queryID>/parameters میخوانید اعمال میشوند.
برای universeهای .unx هم همین حقوق اعمال میشوند. overloadها از طریق business security profileها (حقوق روی business layer) و data security profileها (حقوق روی data foundation) مدیریت میشوند.
این فراخوانی فقط حقوق مجاز را برمیگرداند. نمونههایی از idها: create_documents، edit_documents، edit_query_sql، use_formula_language، read_corporate_documents، publish_documents_real.
حقوق هر سند: GET /documents/<documentID>/rights.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1کدام header توکن ورود را حمل میکند و توکن از کجا میآید؟
ابتدا با GET فرم /logon/long را میگیرید، سپس آن را همراه با اطلاعات ورود POST میکنید. LogonToken در X-SAP-LogonToken قرار میگیرد.
Q2از طریق API یک گزارش به یک سند Web Intelligence اضافه میکنید و بعد کار را متوقف میکنید. تغییر شما در چه وضعیتی است؟
ویرایشها در حافظه میمانند. با PUT /documents/<id> (بدون بدنه) ذخیره کنید، یا با POST /documents/<id> یک کپی جدید بسازید.
Q3سندی یک context و یک prompt دارد. شما اول پاسخ prompt را میفرستید. چه اتفاقی میافتد؟
promptهایی که بعد از context میآیند فقط وقتی ظاهر میشوند که به context پاسخ داده شده باشد. بدون پاسخ به context، پاسخ سرور جزئیات context را برمیگرداند.
Q4در مشخصات کوئری Semantic Layer، ترتیب elementهای <resultObject> روی چه چیزی اثر میگذارد؟
راهنما میگوید ترتیب اشیا بازتاب ترتیب آنها در کوئری SQL است. ترتیب متفاوت، نتایج متفاوت میدهد.
5سطح 5 · هوش مصنوعی عاملمحور · ماژول 20 از 23
ساخت سند با API
ترتیب فراخوانیها از سند خالی تا گزارش ذخیرهشده، خروجیگرفته و زمانبندیشده.
20.1
خواندن اشیای یونیورس
متوسط
پیش از ساختن کوئری، باید بدانید یونیورس چه چیزهایی در اختیار شما میگذارد. فراخوانی جزئیات یونیورس یک ساختار درختی (outline) برمیگرداند: پوشهها، و درون آنها ابعاد (dimensions)، سنجهها (measures) و فیلترها. هر آیتم یک id، یک name و یک path دارد. از این شناسهها هنگام نوشتن مشخصات کوئری (query specification) استفاده میکنید. با فراخوانی فهرست شروع کنید تا شناسهٔ یونیورس را پیدا کنید. سپس جزئیات آن را بخواهید.
فهرست یونیورسها
GET /universes?type=<type>&offset=<offset>&limit=<limit>
type یکی از unv، unx یا all است (پیشفرض all). limit بین 1 تا 50 است (پیشفرض 10). offset از 0 شروع میشود.
GET /universes/<universeID>?aggregated=<aggregated>
aggregated اختیاری است و پیشفرض آن false است. این پارامتر فقط برای یونیورسهای UNX اهمیت دارد. با false، اگر به نمای اصلی (master view) دسترسی داشته باشید همان را میگیرید، وگرنه نمای پیشفرض را (نام آن در <businessViewName> برمیگردد). با true، یک ساختار درختی ادغامشده از همهٔ چیزهایی که به آنها دسترسی دارید میگیرید. به گفتهٔ راهنما، این رفتار نسخههای SDK از 4.1 SP5 به بعد است. SDKهای قدیمیتر مانند aggregated=false رفتار میکردند.
آیتمها ویژگیهای type (Dimension، Measure، Filter)، dataType و hasLov دارند. برخی سنجهها <aggregationFunction> هم دارند، مثلاً Sum.
نسخهٔ Web Intelligence همین فراخوانی (بخش 8.16.2) پاسخی کمی متفاوت نشان میدهد. این نسخه <path> و <connected> را به یونیورس اضافه میکند. نوع آیتمها در آن BODimension است و شناسهها شبیه DO1، DO2 هستند. راهنما هر دو شکل را نشان میدهد؛ پس type و id را از همان پاسخی بخوانید که واقعاً دریافت میکنید.
20.2
ساختن یک سند
متوسط
سند جدید خالی شروع میشود. شما به آن یک نام و یک پوشه میدهید. پاسخ، شناسهٔ سند جدید را برمیگرداند. آن را نگه دارید: همهٔ فراخوانیهای بعدی از آن استفاده میکنند. به گفتهٔ راهنما، شناسهٔ پوشهها را میتوانید با GET http://<server-name>:6405/biprws/infostore پیدا کنید.
POST /documents
POST /documents
<document>
<name>My Document</name>
<folderId>5151</folderId>
</document>
Response:
<success>
<message>The resource of type "Document" with identifier "5022" has been
successfully created.</message>
<id>5022</id>
</success>
JSON هم کار میکند، با همان فیلدها زیر کلید document. پاسخ یک شیء success است که message و id را در خود دارد.
بررسی سند پس از ساخت
GET /documents/<documentID>?trackerDocumentId=<trackerDocumentID>
از این فراخوانی برای خواندن state، path، size، scheduled و refreshOnOpen استفاده کنید. trackerDocumentId اختیاری است و فقط برای قابلیت trackdata به کار میرود، آن هم فقط وقتی وضعیت Unused باشد.
سندها بر اساس نام مرتبشده برمیگردند. limit بین 0 تا 50 است، پیشفرض 10. راهنما همچنین میگوید میتوانید با API /searches جستوجو کنید.
کپی کردن یک سند
POST /documents?sourceId=<documentID>
بدنهٔ درخواست اختیاری است (<name>، <folderId>). بدون آنها، سرویس خودش برای کپی نام میگذارد و پوشهٔ اصلی را نگه میدارد. به گفتهٔ راهنما، کپی کردن سند را در حافظه باز نمیکند.
20.3
افزودن یک ارائهدهندهٔ داده با مشخصات کوئری
پیشرفته
ارائهدهندهٔ داده (data provider) یک منبع داده برای سند است. برای یونیورس، آن را با نام و شناسهٔ یونیورس اضافه میکنید. سپس در مشخصات کوئری توضیح میدهید که کوئری چه چیزی برمیگرداند. مشخصات کوئری شامل اشیای نتیجه، شرطهای فیلتر و برخی محدودیتهای کوئری است.
افزودن ارائهدهندهٔ داده
POST /documents/<documentID>/dataproviders
<dataprovider>
<name>Query1</name>
<dataSourceId>...</dataSourceId>
</dataprovider>
Response:
<success>
<message>The resource of type "Data provider" with identifier "DP3" has been
successfully created.</message>
<id>DP3</id>
</success>
<name> نام منبع داده است. <dataSourceId> شناسهٔ منبع داده است. برای یونیورس، این همان شناسهٔ یونیورس از موضوع 1 است. نمونههای بدنهٔ درخواست در راهنما برای این فراخوانی شامل یک کوئری BEx (11990;Z_BOBJ;AAQUERY_SAMPLE)، یک فایل Excel و SQL آزاد (free-hand SQL) هستند. راهنما برای این فراخوانی نمونهای با یونیورس نشان نمیدهد. شناسهٔ موجود در پاسخ (اینجا DP3) شناسهٔ ارائهدهندهٔ داده است.
خواندن مشخصات کوئری فعلی
GET /documents/<documentID>/dataproviders/<dataProviderID>/specification
PUT /documents/<documentID>/dataproviders/<dataProviderID>/specification
نوع درخواست text/xml است. بدنه همان شکل پاسخ GET را دارد، با resultObjects شما درون bOQuery. نمونهٔ PUT راهنما از dataProviderId="DP0" و همان چهار شیء نتیجه استفاده میکند.
PUT /documents/7738/dataproviders/DP0/specification
<queryspec:QuerySpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:queryspec="http://com.sap.sl.queryspec"
dataProviderId="DP0">
<queryParameters>
<maxRetrievalTimeInSecondsProperty value="300"/>
<maxRowsRetrievedProperty value="90000"/>
...
</queryParameters>
<queriesTree xsi:type="queryspec:QueryOperatorNode" queryOperator="Union">
<children xsi:type="queryspec:QueryDataNode">
<bOQuery name="Query" identifier="_1y8aENsVEeGswMB7H6m1Qw">
<resultObjects identifier="DS0.DObc" name="Year"/>
...
<conditionPart/>
</bOQuery>
</children>
</queriesTree>
...
</queryspec:QuerySpec>
Response:
<success>
<message>The resource of type "Data provider" with identifier "DP0" has been
successfully updated.</message>
<id>DP0</id>
</success>
گرفتن جزئیات ارائهدهندهٔ داده
GET /documents/<documentID>/dataproviders/<dataProviderID>
این فراخوانی id، name، dataSourceId، dataSourceType (unx، unv، bex، excel یا fhsql)، dataSourcePrefix، updated، rowCount و یک dictionary از عبارتها (expressions) را برمیگرداند. هر عبارت یک id مانند DP1.DO1، یک name و یک formulaLanguageId مانند [City] دارد. از اینها در فرمولهای گزارش استفاده خواهید کرد.
GET /documents/<documentID>/dataproviders/mappings?originDataproviderIds=<dataProviderID[,...]>&targetDatasourceId=<dataSourceID>
این فراخوانی نگاشت اشیا (object mappings) از یک منبع داده به منبعی دیگر را پیشنهاد میدهد. targetDatasourceId الزامی است. راهنما فراخوانیای هم برای اعمال نگاشت فهرست کرده است ("Changing the Data Objects of a Data Provider"). بدنهٔ آن فراخوانی در این بخش پوشش داده نمیشود.
20.4
تازهسازی سند، پاسخ به پرامپتها و خواندن داده
پیشرفته
تازهسازی (refresh) کوئری را اجرا میکند. اگر سند پرامپت یا زمینه (context) داشته باشد، اولین فراخوانی تازهسازی بهجای اجرا، آنها را برمیگرداند. شما به آنها پاسخ میدهید و دوباره فراخوانی میکنید. وقتی به همهچیز پاسخ داده شد، کوئری اجرا میشود.
گرفتن پارامترهای تازهسازی
GET /documents/<documentID>/parameters?formattedValues=<bool>&lovInfo=<bool>&summary=<bool>
هر سه اختیاری هستند. پیشفرض formattedValues برابر false است. پیشفرض lovInfo برابر true است. آن را false کنید تا فهرستهای مقادیر (lists of values) برگردانده نشوند. پیشفرض summary برابر false است.
<parameters/>
این پاسخ وقتی است که چیزی برای پر کردن وجود ندارد. در غیر این صورت، برای هر زمینه یا پرامپت یک parameter دریافت میکنید:
PUT /documents/<documentID>/parameters?<optional_parameters>
بدون بدنه، سرویس زمینه یا پرامپتی را که باید پر شود برمیگرداند. اگر چیزی برای پر کردن نباشد، تازهسازی انجام میشود. پارامترهای اختیاری:
refresh (پیشفرض true): آن را false کنید تا پیش از تازهسازی داده متوقف شود.
dataproviderScope: all (پیشفرض) یا accessible. با accessible، تازهسازی حتی اگر برخی ارائهدهندگان داده در دسترس نباشند هم کار میکند. از 4.2 SP04 اضافه شده است.
formattedValues، lovInfo: مانند بالا.
variantIds: شناسههای variant جداشده با کاما که به پرامپتها پاسخ میدهند. آخرین مقدار اعمال میشود.
strict (پیشفرض false): همراه با variantIds به کار میرود. اگر true باشد، عدم تطابق خطا محسوب میشود.
PUT /documents/xxx/parameters
<parameters>
<parameter optional="false" type="context">
<id>0</id>
<name>Select a context</name>
<answer constrained="true" type="Text">
<values>
<value id="2">Reservations</value>
<values/>
</answer>
</parameter>
</parameters>
Response:
<success>
<message>The resource of type 'document' with identifier 'xxx' has been
successfully updated.</message>
<id>xxx</id>
</success>
یک زمینه بههمراه یک پرامپت در یک فراخوانی (نمونهٔ راهنما):
اگر refresh=false باشد، پیام موفقیت میگوید سند "has not been modified".
تازهسازی فقط یک ارائهدهندهٔ داده
PUT /documents/<documentID>/dataproviders/<dataproviderID>/parameters?<optional_parameters>
فراخوانی پارامترها برای یک ارائهدهندهٔ داده GET /documents/<documentID>/dataproviders/<dataproviderID>/parameters است. به همان شکل کار میکند.
لغو تازهسازی در حال اجرا
PUT /documents/<documentID>/parameters/execution?cancel=<mode>
حالتها partial، restore و purge هستند. Partial مقادیر جدیدی را که تا آن لحظه بازیابی شدهاند نگه میدارد. Restore مقادیر قبلی را برمیگرداند. Purge مقادیر را خالی میکند ولی ساختار و قالببندی را نگه میدارد.
خواندن داده
دو روش، که هر دو در راهنما نشان داده شدهاند.
بر اساس جریان (flow) هر ارائهدهندهٔ داده، بهصورت XML یا CSV:
GET /documents/<documentID>/dataproviders/<dataProviderID>/flows/count متن سادهای مانند 1 برمیگرداند.
GET /documents/<documentID>/dataproviders/<dataProviderID>/flows<flowID> دادهٔ جریان را برمیگرداند. نمونههای راهنما به شکل /flows/0 نوشته شدهاند.
GET /documents/7744/dataproviders/DP0/flows/0
"Year";"State";"Sales revenue";"Margin"
"2001";"California";"1704210.8";"774893.4"
...
شکل XML همین فراخوانی <DATA_PROVIDERS><DATA_PROVIDER><ROW><CELL INDEX="0">2006</CELL>... است. CSV فقط مقادیر را میدهد.
بر اساس عنصر گزارش (report element)، بهصورت مجموعهداده (dataset):
GET /documents/<documentID>/reports/<reportID>/elements/<elementID>/dataset?datapath=<datapath>
reference=<reference> بهجای datapath هم کار میکند. هر دو را با هم نفرستید.
یک سند گزارشهایی (زبانهها) دارد. هر گزارش عناصری دارد. عناصر از طریق محورها (axes) به داده متصل میشوند. هر محور فرمولهایی مانند =[Country] را فهرست میکند. نام فرمولها از مقادیر formulaLanguageId ارائهدهندهٔ داده میآیند.
ساختن یک گزارش
POST /documents/<documentID>/reports
بدنه اختیاری است. اگر نام را ننویسید، سرویس خودش برای گزارش نام میگذارد.
POST /documents/12782/reports
Response:
<success>
<message>The resource of type "Report" with identifier "2" has been
successfully created.</message>
<id>2</id>
</success>
برای دادن نام، <report><name>...</name></report> را بفرستید. نمونهٔ JSON راهنما {"report": {"name":"Chart Report"}} را میفرستد.
فهرست عناصر گزارش
GET /documents/<documentID>/reports/<reportID>/elements?unit=<unit>&allInfo=<boolean>
از این فراخوانی برای پیدا کردن شناسهها استفاده کنید. هر عنصر یک type دارد: PageZone، Cell، VTable، HTable، XTable، Form، Visualization یا Custom. allInfo=true جزئیات همهٔ عناصر را هم میآورد (از 4.2 SP04). فراخوانیهای فهرست دیگر: GET /documents/<documentID>/reports برای شناسههای گزارشها.
ساختن یک جدول
POST /documents/<documentID>/reports/<reportID>/elements
انواع جدول عبارتاند از VTable، HTable، XTable و Form. در این نمونههای راهنما، parentId برابر 2 است. در فهرست عناصر، عناصر PageZone و برخی جدولها شناسه و parentId دارند. راهنما صریحاً نمیگوید برای بدنهٔ یک گزارش جدید از کدام شناسه استفاده کنید. آن را از فهرست عناصر گزارشی که ساختهاید بخوانید.
انواع نمودار از GET /configuration/visualizations (4.1 SP1) میآیند. نمونهها شامل HorizontalBar، VerticalBar، Pie، Line، Radar، Waterfall و Scatter هستند. نقشهای محور به نوع نمودار بستگی دارند. نمودار میلهای یا خطی از Color، Category و Value استفاده میکند. نمودار Pie از PieSectorSize و PieSectorColor استفاده میکند.
تغییر فرمولهای یک محور در آینده
PUT /documents/<documentID>/reports/<reportID>/elements/<elementID>/axes/<axisID>/expressions
PUT /documents/16995/reports/1/elements/8/axes/0/expressions
<expressions>
<formula dataType="String">=[Resort]</formula>
<formula dataType="Numeric">=[Revenue]</formula>
</expressions>
شناسهٔ محورها بر اساس عنصر: Section، HTable یا Form یک محور دارند (id 0، ردیف). VTable یک محور دارد (id 1، ستون). XTable سه محور دارد (0 ردیف، 1 ستون، 2 بدنه). محورهای نمودار به نوع آن بستگی دارند.
جمعهای جزئی (subtotals) در جدول
POST /documents/<documentID>/reports/<reportID>/elements/<elementID>/calculations?strip=column
POST /documents/15231/reports/5/elements/13/calculations?strip=row
<calculation>
<id>Sum</id>
</calculation>
strip برابر row یا column است. در جدولهای متقاطع (cross tables) فقط روی سلولهای بدنه اعمال میشود. در جدول عمودی، راهنما <basedOn><id>30</id></basedOn> را اضافه میکند تا ستون را مشخص کند.
20.6
ساختن یک متغیر با فرمول
متوسط
متغیر (variable) یک فرمول نامدار است که در سند ذخیره میشود. پس از ساخته شدن، بهصورت شیئی ظاهر میشود که میتوانید در فرمولهای گزارش از آن استفاده کنید. با qualification مشخص کنید که Measure، Attribute یا Dimension است.
POST /documents/<documentID>/variables
POST /documents/4326/variables
<variable qualification="Measure">
<name>new variable</name>
<description>your description</description>
<definition>=[RevenueThreshold]*[Threshold factor]</definition>
</variable>
Response:
<success>
<message>The resource of type "Variable" with identifier "LB" has been
successfully created.</message>
<id>LB</id>
</success>
فراخوانیهای دیگر متغیر
GET /documents/<documentID>/variables متغیرها را فهرست میکند (id، name، dataType، qualification).
GET /documents/<documentID>/variables/<variableID> تعریف را برمیگرداند.
PUT /documents/<documentID>/variables/<variableID> آن را ویرایش میکند.
DELETE /documents/<documentID>/variables/<variableID> آن را حذف میکند.
GET /documents/1234/variables/L9
<variable dataType="Numeric" qualification="Measure">
<id>L9</id>
<name>Threshold Max</name>
<description>This is the maximum threshold.</description>
<formulaLanguageId>[Threshold Max]</formulaLanguageId>
<definition>=[RevenueThreshold]*(1+[Threshold factor])</definition>
</variable>
بررسی توابع موجود
GET /configuration/functions توابع فرمول را با id، name، description و syntax فهرست میکند. فراخوانیای هم برای عملگرها وجود دارد که در راهنما زیر عنوان Getting the Formula Engine Operators (بخش 8.1.15.2) آمده است.
متغیرهای گروهبندی
متغیر گروهبندی (grouping variable) مقادیر یک بعد را به گروههای نامدار نگاشت میکند. درخواست از grouping="true"، یک <dimensionId> و <groups> استفاده میکند. نمونهٔ راهنما ماههای 1 تا 4 را با نام "From January to April" و ماههای 7 و 8 را با نام "Summer Holidays" گروهبندی میکند.
20.7
مرتبسازی، رتبهبندی و فیلتر کردن یک عنصر گزارش
پیشرفته
این فراخوانیها شکل نمایش یک عنصر را تعیین میکنند. مرتبسازی (sort) ترتیب را تغییر میدهد. رتبهبندی (ranking) رکوردهای بالا و پایین را نگه میدارد. فیلتر داده (data filter) ردیفهایی را نگه میدارد که با شرطها مطابقت دارند.
مرتبسازی
ابتدا مرتبسازیها را بخوانید تا شناسههایشان را بگیرید:
GET /documents/<documentID>/reports/<reportID>/elements/<elementID>/sorts
برای یک سلول جدول، بدنه فقط <sorts><sort order="Descending" /></sorts> است. مقادیر order در نمونههای راهنما Ascending، Descending و None هستند.
رتبهبندی
POST /documents/<documentID>/reports/<reportID>/elements/<elementID>/ranking
POST /documents/17281/reports/1/elements/20/ranking
<ranking calculation="Count" top="3" bottom="3">
<basedOn>=[Number of guests]</basedOn>
<rankedBy>=[Year]</rankedBy>
</ranking>
Response:
<success>
<message>The resource of type "Ranking" has been successfully created.</message>
</success>
PUT روی همین مسیر آن را بهروز میکند. GET آن را میخواند. DELETE آن را حذف میکند.
فیلتر
POST /documents/<documentID>/reports/<reportID>/elements/<elementID>/datafilter
عملگرهای فهرستشده در راهنما: Equal، NotEqual، Greater، GreaterOrEqual، Less، LessOrEqual، Between، NotBetween، InList، NotInList، IsNull، IsNotNull، IsAny، Like، NotLike، Both، Except. PUT روی همین مسیر فیلتر را بهروز میکند. راهنما یک فراخوانی حذف و یک فراخوانی دریافت جزئیات هم برای آن نشان میدهد.
20.8
ذخیره، خروجی گرفتن و زمانبندی
متوسط
وقتی کارتان تمام شد، سند را در مخزن (repository) ذخیره میکنید. سپس میتوانید از آن خروجی فایل بگیرید. همچنین میتوانید آن را زمانبندی (schedule) کنید تا سرور بعداً اجرایش کند و نتیجه را تحویل دهد.
ذخیره با تغییر وضعیت
PUT /documents/<documentID>
راهنما میگوید برای ذخیرهٔ سند در مخزن CMS از این متد استفاده کنید. بدنه اختیاری است. بدون بدنه، سند Modified بهروز و ذخیره میشود. فرستادن <state>Unused</state> روی سند Modified آن را بهروز میکند و میبندد. جدول خود راهنما میگوید "From Modified to Unused: The document is updated and closed." این همچنین روش آزاد کردن حافظهٔ سرور است.
PUT /documents/9326
Response:
<success>
<message>The resource of type "document" with identifier "9326" has been
successfully updated.</message>
<id>9326</id>
</success>
برای زنده نگه داشتن نشست (session) بدون تغییر چیزی، <state>KeepAlive</state> را بفرستید.
ذخیره با نام جدید، در یک پوشه
POST /documents/<documentID>?overwrite=<boolean>&withComments=<boolean>
POST /documents/7400?overwrite=false&withComments=true
<document>
<name>Document Save As Example</name>
<keywords>Save as</keywords>
<folderId>6773</folderId>
<categories>
<category><id>5980</id></category>
</categories>
<properties>
<property key="refreshonopen">true</property>
<property key="permanentregionalformatting">true</property>
</properties>
</document>
Response:
<success>
<message>The resource of type "Document" with identifier "32271" has been
successfully created.</message>
<id>32271</id>
</success>
پیشفرض overwrite برابر true است. آن را false کنید تا اگر سند وجود داشت، خطا بگیرید. پیشفرض withComments برابر false است. برای ذخیره در همان پوشه، از -1 بهعنوان folderId استفاده کنید.
خروجی گرفتن از کل سند
GET /documents/<documentID>?<optional_parameters>
قالب را با هدر Accept تعیین کنید. راهنما این قالبها را برای کل سند فهرست میکند: XML، HTML فشرده (zipped)، PDF، Excel 2003 و Excel 2007. CSV در این فهرست نیست.
Excel 2007 برابر application/vnd.openxmlformats-officedocument.spreadsheetml.sheet است. Excel 2003 برابر application/vnd.ms-excel است. پارامتر optimized=true خروجی Excel را برای محاسبات بهینه میکند. dpi (75 تا 9600) وضوح نمودار را تعیین میکند.
خروجی گرفتن از یک گزارش، یا یک عنصر، بهصورت CSV
GET /documents/<documentID>/reports/<reportID>?<optional_parameters>
این فراخوانی از HTML، HTML فشرده، MHTML، XML، PDF، Excel 2003، Excel 2007، CSV و متن ساده پشتیبانی میکند. گزینههای CSV عبارتاند از textQualifier (' یا ")، columnDelimiter (ویرگول، نقطهویرگول یا Tab) و charset.
GET /documents/<documentID>/reports/<reportID>/elements/<elementID>?<optional_parameters>
مجموعهنویسههای (charsets) معتبر از فراخوانی "Getting the Charsets" راهنما (بخش 8.1.13.14) به دست میآیند.
خروجی گرفتن بهصورت صفحه
GET /documents/<documentID>/pages?<optional_parameters>
GET /documents/<documentID>/reports/<reportID>/pages نسخهٔ سطح گزارش است که در فهرست مطالب راهنما آمده است. پارامترهای اختیاری شامل mode (normal یا quickDisplay)، orientation و unit هستند.
زمانبندی
POST /documents/<documentID>/schedules
یک زمانبندی میتواند همین حالا، یک بار، روزانه، ساعتی، هفتگی یا ماهانه اجرا شود. نوع format یکی از webi، pdf، xls، csv، txt، csvArchive یا htmlArchive است (پیشفرض webi). اگر عنصر تکرار (recurrence) وجود نداشته باشد، همین حالا اجرا میشود. این نمونهٔ «همین حالا» راهنما با مقصد سیستم فایل است:
مقصدهای دیگر در راهنما FTP، SFTP و ایمیل هستند (<mail> با from، to، cc، bcc، subject، message و addAttachment).
زمانبندیها را با این فراخوانیها مدیریت کنید:
GET /documents/<documentID>/schedules آنها را با id، name، format و status فهرست میکند. مقادیر وضعیت عبارتاند از Pending، Running، Paused، Completed، Warning، Expired و Failed.
GET /documents/<documentID>/schedules/<scheduleID> یک زمانبندی را برمیگرداند.
DELETE /documents/<documentID>/schedules/<scheduleID> یکی را حذف میکند.
این ترتیبی است که از موضوعات بالا پیروی میکند. ترتیب گامهای 6 تا 8 را میتوان تغییر داد. اگر سند پرامپت نداشته باشد، میتوان از گام 4 گذشت.
GET /universes?type=unx و سپس GET /universes/<universeID>?aggregated=true برای پیدا کردن یونیورس و خواندن اشیای آن.
POST /documents با name و folderId برای ساختن سند خالی. شناسهٔ برگشتی را نگه دارید.
POST /documents/<documentID>/dataproviders با name و dataSourceId (شناسهٔ یونیورس). شناسهٔ برگشتی ارائهدهندهٔ داده را نگه دارید، مثلاً DP0.
PUT /documents/<documentID>/dataproviders/<dataProviderID>/specification با اشیای نتیجه (شناسهها از گام 1، با پیشوند dataSourcePrefix برای UNV).
GET /documents/<documentID>/parameters، سپس PUT /documents/<documentID>/parameters همراه با پاسخها، تا وقتی پاسخ بگوید سند بهروز شده است. این کار کوئری را اجرا میکند.
GET /documents/<documentID>/dataproviders/<dataProviderID> برای خواندن dictionary و یادداشت کردن هر formulaLanguageId. در صورت تمایل، دادهٔ خام را از .../flows/0 بخوانید.
POST /documents/<documentID>/reports برای افزودن یک گزارش. سپس GET /documents/<documentID>/reports/<reportID>/elements برای پیدا کردن شناسههایی که لازم دارید.
POST /documents/<documentID>/reports/<reportID>/elements با یک جدول (XTable، VTable یا HTable)، و سپس دوباره با یک نمودار (Visualization).
POST /documents/<documentID>/variables برای هر شیء محاسبهشده. سپس فرمولهای محور را با PUT .../elements/<elementID>/axes/<axisID>/expressions تغییر دهید. اگر یک متغیر موجود را ویرایش کردهاید، دوباره تازهسازی کنید.
PUT .../elements/<elementID>/sorts، POST .../elements/<elementID>/ranking و POST .../elements/<elementID>/datafilter برای مرتبسازی، رتبهبندی و فیلتر کردن.
GET .../elements/<elementID>/dataset برای بررسی نتیجه.
PUT /documents/<documentID> برای ذخیرهٔ سند تغییریافته، یا POST /documents/<documentID>?overwrite=false برای ذخیرهٔ یک کپی در یک پوشه.
GET /documents/<documentID>/reports/<reportID> با هدر Accept (PDF، Excel، CSV) برای خروجی گرفتن.
POST /documents/<documentID>/schedules برای تنظیم یک اجرای تکرارشونده.
PUT /documents/<documentID> با <state>Unused</state> برای بستن سند و آزاد کردن حافظهٔ سرور.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1برای یک یونیورس UNX، GET /universes/5808 را فراخوانی میکنید و دسترسی کاربر شما به نمای اصلی رد شده است. چه چیزی دریافت میکنید؟
با aggregated=false (پیشفرض)، طبق راهنما اگر دسترسی به نمای اصلی داشته باشید همان برمیگردد، وگرنه نمای پیشفرض و نام آن.
Q2PUT /documents/<documentID>/parameters را بدون بدنهٔ درخواست میفرستید. سند یک زمینه و یک پرامپت دارد. سرویس چه چیزی برمیگرداند؟
بدون بدنه، سرویس زمینه یا پرامپتی را که باید پر شود برمیگرداند. شما پیش از پرامپتهایی که پس از زمینه میآیند، به زمینه پاسخ میدهید.
Q3کدام جمله دربارهٔ مرتبسازیهای عنصر گزارش درست است؟
راهنما میگوید فقط order و جایگاه مرتبسازی قابل تغییر است. فراخوانیهای مرتبسازی محور از 4.2 SP04 منسوخ شدهاند.
Q4definition یک متغیر معمولی موجود را با PUT /documents/<documentID>/variables/<variableID> ویرایش میکنید. برای اعمال تغییر در گزارش چه باید بکنید؟
راهنما میگوید وقتی تعریف یک متغیر را تغییر میدهید، باید سند را تازهسازی کنید تا تغییر در گزارش اعمال شود.
5سطح 5 · هوش مصنوعی عاملمحور · ماژول 21 از 23
کار با عامل هوش مصنوعی
عامل چه میافزاید، آمادهسازی محیط امن، نوشتن درخواست و چرخهٔ ساخت–بررسی.
21.1
یک عامل چه چیزی اضافه میکند و چه چیزی نه
متوسط
چه و چرا. عامل هوش مصنوعی (AI agent) یک مدل زبانی است که میتواند خودش دست به کار شود. شما هدف را به آن میدهید. عامل مراحل را برنامهریزی میکند، ابزارها را فرا میخواند (در اینجا REST API در Web Intelligence)، پاسخ را میخواند و گام بعدی را انتخاب میکند. این کار را ادامه میدهد تا هدف برآورده شود یا به شما نیاز پیدا کند.
این چرخه با ساختن گزارش جور درمیآید. بیشتر زحمت کار در Web Intelligence کلیک کردن نیست. بخش اصلی این است که بفهمید از کدام اشیا (objects) استفاده کنید، فیلترها و فرمولها را بنویسید، داده را تازهسازی (refresh) کنید، متوجه شوید عددی اشتباه است و آن را درست کنید. یک عامل میتواند این چرخه را در چند دقیقه و هر چند بار که لازم باشد انجام دهد.
چه کسی چه میکند
مرحله
عامل
انسان
تعریف پرسش کسبوکاری و اینکه چه کسی گزارش را میخواند
✔
پیدا کردن اشیای درست در universe
✔
بررسی میکند
نوشتن کوئری، فیلترها و prompts
✔
نوشتن متغیرها و فرمولها، از جمله زمینهها (contexts)
✔
موارد دشوار را بررسی میکند
تازهسازی، خواندن داده، بررسی جمعها
✔
مقایسه با یک رقم مورد اعتماد
✔
رقم را فراهم میکند
پرداخت نهایی چیدمان
ابتدایی
✔ در Design mode
انتقال سند به پوشهٔ مشترک
✔
جایی که بیشترین زمان صرفهجویی میشود
از پرسش تا نخستین پیشنویس. درخواستی که روزها در صف میماند، همان ساعت به پیشنویس تبدیل میشود.
فرمولها. زمینههای محاسبه (Level 4) جایی است که افراد گیر میکنند. عامل میتواند فرمولی را امتحان کند، تازهسازی کند، نتیجه را بخواند و خودش را اصلاح کند.
کار روی اسناد زیاد. تغییر منبع داده، تغییر نام اشیا یا مستندسازی 200 گزارش کاری تکراری است. کار تکراری از طریق API همان کاری است که عاملها بهتر از همه انجام میدهند.
بررسی. عامل میتواند پس از هر تغییر همهٔ گزارشها را تازهسازی کند و به شما بگوید کدام عددها جابهجا شدهاند.
21.2
آمادهسازی میز کار
متوسط
چه و چرا. پیش از آنکه عامل چیزی بسازد، جای امنی برای کارش آماده کنید. این کار را یک بار انجام دهید. پس از آن، هر درخواست سریع و کمخطر است.
مراحل
یک حساب سرویس (service account). از مدیر BI خود یک حساب اختصاصی برای عامل بخواهید، نه حساب کاربری خودتان. فقط حقوق دسترسی لازم را به آن بدهید و نه بیشتر: ورود به REST API، ساختن و ویرایش اسناد، تازهسازی، استفاده از universeهای مورد نیاز. حق حذف در پوشههای مشترک را به آن ندهید.
یک پوشهٔ sandbox. یک پوشه بسازید، برای نمونه Public Folders > AI Sandbox، که عامل بتواند در آن ذخیره کند. هر چه میسازد ابتدا آنجا قرار میگیرد.
دسترسی شبکه. دستگاهی که عامل را اجرا میکند باید به سرویس REST دسترسی داشته باشد. بهطور پیشفرض این سرویس روی پورت 6405 و در مسیر /biprws است.
رمز عبور را بیرون از گفتوگو نگه دارید. رمز حساب را در password manager یا secret store خود نگه دارید. ابزاری که وارد سیستم میشود، آن را هنگام اجرا میخواند. هرگز آن را در گفتوگو با مدل نچسبانید.
به عامل ابزار بدهید. یا اجازه دهید فراخوانیهای HTTP را اجرا کند (برای نمونه با curl) و مرجع API را در اختیارش بگذارید، یا فراخوانیهای رایج را در یک اسکریپت کوچک با فرمانهای نامدار بپیچید: log on، list universe objects، create document، add query، refresh، add table، add variable، export، save. مجموعهٔ کوچکی از فرمانهای نامدار یعنی خطای کمتر نسبت به HTTP خام.
یک بستهٔ زمینه (context pack) بسازید. اینها فایلهایی هستند که عامل پیش از هر کار میخواند:
فهرست اشیای هر universe (نامها، نوعها، پوشهها، توضیحها) که یک بار از طریق Semantic Layer API استخراج میشود؛
دو یا سه گزارش خوب موجود، بهعنوان نمونهای از سبک سازمان؛
عددهای مورد اعتماد برای مقایسه (برای نمونه درآمد سال گذشته به تفکیک فصل).
مثال کاربردی. فایل فهرست eFashion شامل Time period > Year, Quarter, Month، Store > State, City, Store name، Product > Lines, Category و Measures > Sales revenue, Quantity sold, Margin است. با این فایل، عامل هرگز شیئی مثل «Revenue 2024» از خودش نمیسازد، چون هر نامی را با این فهرست تطبیق میدهد.
21.3
نوشتن درخواستنامه
متوسط
چه و چرا. کیفیت کار عامل به اندازهٔ کیفیت درخواست است. یک درخواستنامهٔ (brief) کوتاه و ساختارمند بیشتر دوبارهکاریها را حذف میکند. همچنین درخواست را قابل استفادهٔ دوباره میکند: فصل بعد یک خط را تغییر میدهید و دوباره اجرا میکنید.
الگوی درخواستنامه
پرسش. یک جمله: این گزارش پشتیبان کدام تصمیم است؟
خواننده. چه کسی آن را باز میکند، و در Reading mode یا Design mode؟
سنجهها و ابعاد. هر جا که نامها را میدانید، از نامهای فهرست اشیا استفاده کنید.
فیلترها. فیلترهای ثابت (برای نمونه «Lines not equal to Accessories») و promptsی که خواننده هنگام تازهسازی پاسخ میدهد.
بازهٔ زمانی. تاریخهای ثابت، یا یک prompt.
طرح کلی چیدمان. «یک جدول برای هر State بهصورت یک section، و یک نمودار میلهای درآمد به تفکیک فصل بالای آن.»
محاسبهها. هر کدام را با کلمات بگویید: «سهم از درآمد ایالت»، «تغییر نسبت به سال گذشته».
رقم کنترل. عددی که عامل باید با آن برابر شود و از منبعی مورد اعتماد گرفته شده، برای نمونه «جمع Sales revenue سال 2024 طبق دفتر مالی».
معنای «تمام شد». در sandbox ذخیره شده، به PDF خروجی گرفته شده، همراه با یادداشتی کوتاه از فرمولهای بهکاررفته.
مثال کاربردی (درخواستنامه)
پرسش: کدام فروشگاهها باید موجودی تکمیلی Q4 را بگیرند؟ خواننده: مدیران منطقهای، Reading mode. از Year، Quarter، State، Store name، Sales revenue، Margin استفاده کن. برای Year از خواننده prompt بگیر. Section روی State. جدول 5 فروشگاه برتر بر اساس Margin در هر ایالت، همراه با margin بهصورت درصدی از margin ایالت. نمودار میلهای Margin به تفکیک Quarter برای ایالت. کنترل: جمع marginهای ایالتها برابر با کل Margin برای سال انتخابشده باشد. با نام "Store top-up – draft" در AI Sandbox ذخیره کن و یک PDF خروجی بگیر.
21.4
چرخهٔ ساخت و بررسی
متوسط
چه و چرا. هرگز اجازه ندهید عامل کل گزارش را یکجا بسازد و تحویل دهد. از آن بخواهید در گامهای کوتاه کار کند و پس از هر گام بررسی کند. در این صورت خطاها در همان گامی که ایجادشان کرده آشکار میشوند، زمانی که رفعشان هنوز ارزان است.
چرخه
برنامه. عامل درخواستنامه را بهصورت فهرستی از اشیا، فیلترها، prompts، متغیرها و بلوکها بازگو میکند. آن را بخوانید. این کار 30 ثانیه طول میکشد و بیشتر سوءبرداشتها را میگیرد.
کوئری. عامل سند و data provider را میسازد، تازهسازی میکند و تعداد ردیفها و جمع هر سنجه را گزارش میدهد.
بررسی داده. جمعها را با رقم کنترل مقایسه میکند. اگر متفاوت باشند، پیش از ساختن هر چیز دیگری متوقف میشود و موضوع را بررسی میکند.
بلوکها. sectionها، جدولها و نمودارها را یکییکی اضافه میکند و دادهٔ هر بلوک را دوباره میخواند.
فرمولها. برای هر متغیر، فرمول، نتیجه برای دو یا سه ردیف، و دلیل درست بودن زمینه را نشان میدهد.
جستوجوی خطا. خروجی میگیرد و در آن به دنبال #MULTIVALUE، #CONTEXT، #SYNTAX، #DIV/0، #INCOMPATIBLE و #ERROR میگردد.
تحویل. در sandbox ذخیره میکند و پیوند، خروجی، فرمولها و هر چیزی را که دربارهاش مطمئن نبوده به شما میدهد.
آنچه عامل باید هر بار بررسی کند
جمعها با رقم کنترل، با در نظر گرفتن گرد کردن، برابر باشند.
تعداد ردیفها منطقی باشد. جهش ناگهانی اغلب به معنای یک join گمشده یا شیئی اضافه در کوئری است.
هیچ کد خطایی در هیچ خانهای دیده نشود.
promptها دستکم با دو پاسخ متفاوت کار کنند.
هر شیئی که به کار برده در فهرست اشیا وجود داشته باشد.
5سطح 5 · هوش مصنوعی عاملمحور · ماژول 22 از 23
دستورکارهای عامل
از پرسش تا گزارش، دستیار فرمول، تغییرات گروهی، مستندسازی گزارشها و آزمون رگرسیون.
22.1
Playbook: از پرسش تا گزارش
متوسط
چه و چرا. این کاربرد روزمره است: یک کاربر کسبوکار پرسشی میپرسد و بهسرعت یک پیشنویس کارا میگیرد.
مراحل
درخواستنامه را بنویسید (موضوع 3).
عامل فهرست اشیا را میخواند و برنامه را پیشنهاد میکند. شما آن را تأیید میکنید.
عامل از طریق API به این ترتیب میسازد: ساخت سند › افزودن data provider همراه با کوئری › تازهسازی و پاسخ به promptها › افزودن گزارش › افزودن sectionها، جدولها و نمودارها › افزودن متغیرها › مرتبسازی، رتبهبندی و فیلتر › ذخیره › خروجی. دو ماژول API پیشین در این سطح هر فراخوانی را نشان میدهند.
بررسیهای موضوع 4 را اجرا میکند.
شما پیشنویس را در Design mode باز میکنید، چیدمان را مرتب میکنید و آن را به پوشهٔ مشترک منتقل میکنید.
مثال کاربردی. برای درخواستنامهٔ موجودی تکمیلی فروشگاهها در موضوع 3، برنامهای که عامل برمیگرداند میتواند چنین باشد:
کوئری: Year، State، Store name، Quarter، Margin، Sales revenue؛ prompt روی Year.
Section روی State.
جدول: Store name، Margin، یک متغیر Margin share = [Margin]/([Margin] In Section)؛ رتبهبندی Top 5 بر اساس Margin.
نمودار: میلهای عمودی، Quarter روی محور دستهها و Margin بهعنوان مقدار.
کنترل: جمع Margin در همهٔ sectionها = Margin In Report برای سال انتخابشده.
برنامه را میخوانید، متوجه میشوید که «Top 5» باید بر اساس Margin رتبهبندی کند نه Sales revenue، تأیید میکنید و عامل آن را میسازد.
22.2
Playbook: دستیار فرمول و زمینه
متوسط
چه و چرا. برای این یکی به API نیاز ندارید. از عامل بهعنوان معلم و بررسیکنندهٔ فرمولها، بهویژه زمینههای محاسبه، استفاده کنید. این سریعترین دستاورد برای هر کسی است که در Levels 3 و 4 است.
مراحل
بلوک را توصیف کنید: چه ابعادی دارد، و آیا درون یک section یا break قرار دارد.
با کلمات بگویید عدد باید چه معنایی داشته باشد، یا فرمول و کد خطا را بچسبانید.
فرمول را بخواهید، همراه با توضیح زمینهٔ ورودی (input context) و زمینهٔ خروجی (output context) آن و آزمونی که خودتان بتوانید انجام دهید: «در این ردیف باید X را ببینید».
فرمول را در یک کپی از سند آزمایش کنید. اگر API را راهاندازی کردهاید، عامل میتواند متغیر را در یک کپی sandbox بسازد، تازهسازی کند و نتیجه را خودش بخواند.
مثال کاربردی
بلوک: Year، Quarter، Sales revenue، درون یک section روی State. میخواهم سهم هر فصل از درآمد سالانهٔ ایالت را ببینم. فرمول من [Sales revenue]/Sum([Sales revenue]) در هر ردیف 100% میدهد.
عامل توضیح میدهد که Sum([Sales revenue]) زمینهٔ همان ردیف را میگیرد، پس با مقدار ردیف برابر است. پیشنهاد میکند از [Sales revenue]/([Sales revenue] In ([State];[Year])) استفاده کنید. سپس یک بررسی اضافه میکند: سهمها برای یک ایالت و یک سال باید روی هم 100% شوند.
22.3
Playbook: تغییرات انبوه و مهاجرتها
پیشرفته
چه و چرا. اینجا جایی است که بیشترین زمان صرفهجویی میشود. نمونهها: یک universe جایگزین میشود، نام یک شیء تغییر میکند، یک فیلتر استاندارد باید همهجا اضافه شود، یا گزارشها باید از یک universe از نوع .unv به نوع .unx منتقل شوند. با دست، این یعنی هفتهها کلیک. از طریق API، این یک اسکریپت است که عامل مینویسد و اجرا میکند.
مراحل
فهرستبرداری. عامل همهٔ اسناد در محدودهٔ کار را همراه با data providerها و universeی که هر کدام استفاده میکند فهرست میکند.
برنامهریزی نگاشت. برای تغییر منبع، عامل پیشنهاد میکند اشیای قدیمی چگونه به اشیای جدید نگاشت شوند. Change Source APIs یک نگاشت (mapping) میپذیرند و عامل دربارهٔ هر شیئی که نتواند تطبیق دهد از شما میپرسد.
اول کپی. هر سند را در sandbox کپی میکند و تغییرات را فقط روی کپیها انجام میدهد.
خط پایه (baseline). پیش از تغییر، سند اصلی را تازهسازی میکند و بلوکهای کلیدی را به CSV خروجی میگیرد.
تغییر و مقایسه. تغییر را روی کپی اعمال میکند، تازهسازی میکند، دوباره خروجی میگیرد و با خط پایه مقایسه میکند.
گزارش. یک جدول به شما میرسد: سند، وضعیت (یکسان / تغییر در حد مجاز / متفاوت / ناموفق) و یک پیوند.
ارتقا. یک نفر تفاوتها را بررسی میکند و نسخههای اصلی را جایگزین میکند.
22.4
Playbook: مستندسازی گزارشهای موجود
متوسط
چه و چرا. بسیاری از شرکتها صدها گزارش دارند که دیگر کسی بهطور کامل آنها را نمیفهمد. عامل میتواند هر سند را از طریق API بخواند و یک مشخصات (specification) به زبان ساده بنویسد که برای تحویل کار، حسابرسی و پاکسازی مفید است.
مراحل
عامل اسناد یک پوشه را فهرست میکند.
برای هر کدام، data providerها و مشخصات کوئری، promptها، متغیرها و فرمولهایشان، فیلترهای گزارش، input controls و گزارشها همراه با بلوکهایشان را میخواند.
برای هر سند یک خلاصهٔ یکصفحهای مینویسد: هدف (استنباطی، و با همین برچسب)، منابع داده، فیلترها، هر متغیر به زبان ساده، promptها، و اینکه برای چه کسانی زمانبندی شده است.
مشکلات را علامت میزند: متغیرهایی که کسی از آنها استفاده نمیکند، کوئریهای تکراری، تاریخهای ثابتشده در کد (hard-coded)، فیلترهایی که با هم تناقض دارند، فرمولهایی که خطا برمیگردانند.
مثال کاربردی. معلوم میشود "Store top-up – 2023" یک فیلتر ثابت Year Equal to 2023 و یک متغیر بیاستفاده به نام Old margin دارد. خلاصه پیشنهاد میکند فیلتر با یک prompt جایگزین و متغیر حذف شود.
22.5
Playbook: آزمون رگرسیون پس از تغییر
پیشرفته
چه و چرا. پس از ارتقای پلتفرم، تغییر universe یا اصلاح پایگاه داده، میخواهید بدانید کدام گزارشها اکنون عددهای متفاوتی نشان میدهند، پیش از آنکه خوانندگان متوجه شوند.
مراحل
اسناد مهم را انتخاب کنید و در هر کدام، بلوکهایی را که اهمیت دارند.
خط پایه: عامل هر کدام را با پاسخهای ثابت به promptها تازهسازی میکند و دادهٔ بلوک را بهصورت CSV ذخیره میکند.
پس از تغییر، دوباره با همان پاسخهای prompt تازهسازی میکند و خانهبهخانه، با رواداری (tolerance) که شما تعیین کردهاید، مقایسه میکند.
فقط تفاوتها را گزارش میدهد، همراه با سند، بلوک، ردیف و مقدارهای قدیم و جدید.
در صورت تمایل، این بررسی را طوری زمانبندی کنید که هر شب اجرا شود و گزارش تفاوتها را برای شما بفرستد.
5سطح 5 · هوش مصنوعی عاملمحور · ماژول 23 از 23
کنترلهای ایمنی و سنجش نتایج
قواعدی که سرعت عامل را ایمن نگه میدارد و راه اثبات سود با یک آزمایش آزمایشی (pilot).
23.1
حفاظها
متوسط
چه و چرا. عاملی که به API دسترسی دارد میتواند در یک دقیقه کاری را انجام دهد که یک نفر در یک روز انجام میدهد. این شامل اشتباهها هم میشود. این قواعد سرعت را حفظ میکنند و بیشتر خطر را از بین میبرند.
قواعد
حداقل دسترسی (least privilege). حساب عامل فقط حقوق دسترسی لازم را دارد. بدون حق حذف در پوشههای مشترک. بدون حقوق مدیریتی.
اول sandbox. عامل فقط در sandbox ذخیره میکند. یک نفر کار را به پوشههای مشترک ارتقا میدهد.
کپی برای تغییرات. از اسناد موجود پیش از هر تغییری کپی گرفته میشود.
بازبینی انسانی. پیش از آنکه کسی دیگر به گزارش تکیه کند، یک نفر عددها و فرمولها را بررسی میکند.
حفاظت از داده. عامل دادهای را که هر تازهسازی برمیگرداند میبیند و آن داده به ارائهدهندهٔ هوش مصنوعی میرود. هر جا ممکن است از universeهای بدون دادهٔ شخصی استفاده کنید و بررسی کنید که شرکت شما سرویس هوش مصنوعی را برای دادههای مربوط تأیید کرده باشد.
گزارشها (logs). از هر فراخوانی API سابقه نگه دارید: چه کسی درخواست کرد، چه چیزی فراخوانده شد، کی و با چه نتیجهای.
بار. تازهسازیهای همزمان را محدود کنید و دستههای بزرگ را بیرون از ساعات اوج اجرا کنید.
شرایط توقف. عامل در این موارد متوقف میشود و میپرسد: رقم کنترل برابر نیست، شیئی در فهرست اشیا نیست، خطای دسترسی ظاهر میشود، یا سندی تازهسازی نمیشود.
رایجترین راههایی که عاملها به خطا میروند
چه اتفاقی میافتد
چگونه از آن جلوگیری کنیم
از شیئی استفاده میکند که وجود ندارد
پیش از فراخوانی API، هر نام را با فهرست اشیا تطبیق دهید
فرمول زمینهٔ اشتباه میدهد ولی خطایی نمیدهد
برای هر متغیر یک رقم کنترل الزامی کنید
هنگام ویرایش کوئری یک فیلتر را جا میاندازد
مشخصات کوئری را پیش و پس از تغییر مقایسه کنید
بهجای هر section، در کل گزارش رتبهبندی میکند
در درخواستنامه بگویید «در هر section»؛ یک section را دستی بررسی کنید
گزارش درست است ولی خواندنش سخت است
یک نفر پیش از انتشار چیدمان را پرداخت میکند
ساعت 9 صبح 300 سند را تازهسازی میکند
محدودیت دستهها و زمانبندی بیرون از ساعات اوج
23.2
سنجش «بهتر و سریعتر»
متوسط
چه و چرا. با یک آزمایش آزمایشی (pilot) کوچک شروع کنید و آن را بسنجید، تا تصمیم برای گسترش بر پایهٔ شواهد باشد.
مراحل
10 درخواست واقعی از فصل گذشته را انتخاب کنید، ترکیبی از ساده و دشوار.
ارقام قدیمی را ثبت کنید: تعداد روزها از درخواست تا تحویل، تعداد دورهای دوبارهکاری، خطاهایی که پس از انتشار پیدا شدند.
همان درخواستها را از مسیر کار عامل بگذرانید و همان ارقام را ثبت کنید، بهعلاوهٔ زمان بازبین.
مقایسه کنید. به کیفیت هم مثل سرعت نگاه کنید: خطاهایی که در بازبینی پیدا شدند، و اینکه آیا خوانندگان به عددها اعتماد کردند.
هر بار یک playbook را گسترش دهید. مستندسازی (موضوع 8) و دستیار فرمول (موضوع 6) کمخطرند و نقطهٔ شروع خوبی هستند. تغییرات انبوه (موضوع 7) پس از آن میآیند که حفاظها کارایی خود را نشان داده باشند.
نتیجهٔ خوب چه شکلی است
نخستین پیشنویس همان روز، بهجای چند روز.
یک دور بازبینی بهجای سه دور.
هیچ کد خطایی در گزارشهای منتشرشده نباشد.
همهٔ گزارشهای یک پوشه مستند شده باشند.
پس از هر تغییر پلتفرم، یک گزارش تفاوتها وجود داشته باشد.
خودتان را بسنجید
یک گزینه را انتخاب کنید. بلافاصله میبینید درست است یا نه، و چرا.
Q1نخستین تازهسازی عامل، جمع Sales revenue را 40% بیشتر از رقم کنترل شما برمیگرداند. گام بعدی چه باید باشد؟
چرخهٔ ساخت و بررسی، داده را پیش از ساختن هر چیزی روی آن بررسی میکند. جمع اشتباه معمولاً نشانهٔ مشکلی در کوئری است.
Q2عامل باید اسنادی را که میسازد کجا ذخیره کند؟
اول sandbox، ارتقا توسط انسان. این کار، کار بازبینینشده را از دسترس خوانندگان دور نگه میدارد.
Q3باید 150 گزارش را به یک universe جدید منتقل کنید. امنترین مسیر کار عامل کدام است؟
کپیها همراه با مقایسهٔ پیش و پس دقیقاً نشان میدهند چه چیزی تغییر کرده، و نسخههای اصلی تا زمانی که یک نفر تأیید کند دستنخورده میمانند.
Q4کدام حفاظ واقعاً جلوی حذف اسناد مشترک توسط عامل را میگیرد؟
دستورالعملها ممکن است نادیده گرفته یا اشتباه فهمیده شوند. حقی که حساب ندارد نمیتواند به کار رود. گزارشها پس از رخداد کمک میکنند ولی جلوی چیزی را نمیگیرند.