در این مطلب، ویدئو پایتون را به Power BI و SSAS متصل کنید و DAX Queries را اجرا کنید با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:14:58
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,240 –> 00:00:02,000
در این ویدئو بیایید نگاهی بیندازیم به این
2
00:00:02,000 –> 00:00:04,240
که چگونه می توانیم از پایتون برای تعامل با
3
00:00:04,240 –> 00:00:06,879
سرویس های تجزیه و تحلیل سرور power bi یا sql
4
00:00:06,879 –> 00:00:09,440
استفاده کنیم و چگونه می توانیم از پایتون برای
5
00:00:09,440 –> 00:00:11,679
اجرای پرس و جوهای dax در برابر مدل جدولی خود
6
00:00:11,679 –> 00:00:14,080
استفاده کنیم و چگونه می توانیم از پایتون برای
7
00:00:14,080 –> 00:00:16,640
استخراج داده ها از این داده ها استفاده کنیم. مدلها تا
8
00:00:16,640 –> 00:00:18,240
بتوانیم ببینیم که در power bi i
9
00:00:18,240 –> 00:00:20,480
چندین جدول دارم و کاری که میخواهم انجام دهم این است که
10
00:00:20,480 –> 00:00:23,840
از پایتون برای استخراج محتوا از این
11
00:00:23,840 –> 00:00:26,400
جداول به کمک زبان dax استفاده کنم، بنابراین
12
00:00:26,400 –> 00:00:28,240
بیایید شروع کنیم و نوشتن
13
00:00:28,240 –> 00:00:30,160
کد پایتون را شروع کنیم که به ما امکان
14
00:00:30,160 –> 00:00:32,399
استخراج را میدهد. داده ها، پس بیایید به ویژوال
15
00:00:32,399 –> 00:00:35,120
استودیو یا هر ویرایشگر دیگری که می
16
00:00:35,120 –> 00:00:36,800
خواهید ترجیح دهید برویم و اولین چیزی
17
00:00:36,800 –> 00:00:39,200
که قرار است وارد کنیم کتابخانه پانداها
18
00:00:39,200 –> 00:00:41,360
است زیرا
19
00:00:41,360 –> 00:00:44,239
محتوای یک پرس و جو داکس را در قاب داده ذخیره
20
00:00:44,239 –> 00:00:46,160
می کنیم و سپس
21
00:00:46,160 –> 00:00:48,399
میخواهم آن فریم داده را در یک فایل اکسل ذخیره کنم، بنابراین
22
00:00:48,399 –> 00:00:51,199
میخواهم آن pandaهای import را بهعنوان pd بنویسم
23
00:00:51,199 –> 00:00:53,680
و سپس مسیر را از
24
00:00:53,680 –> 00:00:56,399
ys وارد کنم تا بتوانم آن را از مس
25
00:00:56,399 –> 00:00:59,760
ر import sys بگویم و فرض کنیم آنچه را چاپ کن
26
00:00:59,760 –> 00:01:02,079
در مسیر r گنجانده شده است در حال حاضر، بنابراین اگر آن را
27
00:01:02,079 –> 00:01:04,799
پرینت بگیرم و اجرا کنم،
28
00:01:04,799 –> 00:01:06,159
می بینید که
29
00:01:06,159 –> 00:01:07,920
این ها دایرکتوری هایی هستند
30
00:01:07,920 –> 00:01:11,520
که در آن مسیر temp python dlls lib گنجانده شده اند،
31
00:01:11,520 –> 00:01:13,280
اما برای تعامل با
32
00:01:13,280 –> 00:01:15,920
سرور power bi یا sql و سرویس های ic
33
00:01:15,920 –> 00:01:18,720
نیز باید یک مورد خاص اضافه کنیم. مسیر
34
00:01:18,720 –> 00:01:21,040
به لیست مسیرهایی که چاپ
35
00:01:21,040 –> 00:01:23,200
36
00:01:23,200 –> 00:01:25,119
کردهام و آن مسیر چیزی است که میخواهم آن را از صفحه دیگرم کپی کنم، بنابراین
37
00:01:25,119 –> 00:01:27,600
این مسیر این است، پس چگونه میتوانیم آن را
38
00:01:27,600 –> 00:01:29,759
اضافه کنیم که تنها کاری که باید انجام دهیم این است که مسیر
39
00:01:29,759 –> 00:01:31,600
نقطه اضافه شود
40
00:01:31,600 –> 00:01:34,400
و میتوانیم آن را نیز ببندم و بعد از
41
00:01:34,400 –> 00:01:38,320
آن یک مسیر پرینت انجام می دهم
42
00:01:39,600 –> 00:01:41,840
و همچنین می توانم یک جداکننده انجام دهم تا بتوانیم
43
00:01:41,840 –> 00:01:43,520
44
00:01:43,520 –> 00:01:46,479
راحت تر بفهمیم که چه کار می کنیم، بنابراین می توانم
45
00:01:46,479 –> 00:01:49,280
برابر اینجا استفاده کنم
46
00:01:49,280 –> 00:01:51,200
و می توانم آن را در اینجا کپی و پیست کنم.
47
00:01:51,200 –> 00:01:52,720
اگر آن را اجرا کنم،
48
00:01:52,720 –> 00:01:54,960
می بینید
49
00:01:54,960 –> 00:01:58,320
که قبلا یک دو سه چهار پنج قسمت
50
00:01:58,320 –> 00:02:00,799
داشتیم، اکنون این یکی را نیز داریم که ado
51
00:02:00,799 –> 00:02:03,840
md.net 150 است و در واقع به
52
00:02:03,840 –> 00:02:05,920
ما امکان می دهد با مدل جدولی تعامل داشته
53
00:02:05,920 –> 00:02:08,720
باشیم تا بتوانیم همه این موارد مزخرف را حذف کنیم.
54
00:02:08,720 –> 00:02:09,598
کد
55
00:02:09,598 –> 00:02:11,120
و کاری که ما باید انجام دهیم این است که
56
00:02:11,120 –> 00:02:13,040
وارد کردن دیگری انجام دهیم و ما هستیم می گوییم
57
00:02:13,040 –> 00:02:14,239
که از
58
00:02:14,239 –> 00:02:16,800
pi a به md import
59
00:02:16,800 –> 00:02:18,640
توسط edo md وارد می شود
60
00:02:18,640 –> 00:02:20,480
و در صورت نصب نشدن آن کتابخانه
61
00:02:20,480 –> 00:02:22,560
کاری که می توانید انجام دهید این است
62
00:02:22,560 –> 00:02:24,959
که دستور باز کردن را انجام دهید و می توانید آن pip
63
00:02:24,959 –> 00:02:26,080
install
64
00:02:26,080 –> 00:02:29,920
pi a2 md را بنویسید و enter را فشار
65
00:02:30,000 –> 00:02:31,760
دهید و منتظر بمانیم تا کامل شود.
66
00:02:31,760 –> 00:02:33,840
نصب را انجام دهید تا بتوانید ببینید که در
67
00:02:33,840 –> 00:02:35,680
حین نصب با
68
00:02:35,680 –> 00:02:38,160
خطای اجرای setup install for python
69
00:02:38,160 –> 00:02:40,239
net ارور دریافت می کنم، بنابراین اگر این
70
00:02:40,239 –> 00:02:42,080
خطا را دریافت کردید، کاری که می توانید انجام دهید این است که به سادگی بنویسید
71
00:02:42,080 –> 00:02:43,920
که
72
00:02:43,920 –> 00:02:45,920
pip install
73
00:02:45,920 –> 00:02:47,040
pre
74
00:02:47,040 –> 00:02:48,720
python
75
00:02:48,720 –> 00:02:50,879
net است، بنابراین اگر
76
00:02:50,879 –> 00:02:53,200
آن را وارد کنم تعدادی از کتابخانه های مورد نیاز را
77
00:02:53,200 –> 00:02:55,760
برای نت پایتون نصب خواهد کرد و حالا اگر این
78
00:02:55,760 –> 00:02:57,920
پیپ را انجام دهم نصب pi a به
79
00:02:57,920 –> 00:02:59,280
md را انجام دهم، نصب با موفقیت کامل می شود،
80
00:02:59,280 –> 00:03:02,000
بنابراین اگر من ادامه دهم و
81
00:03:02,000 –> 00:03:03,360
این کد را اجرا
82
00:03:03,360 –> 00:03:06,000
کنم، می بینید که هیچ خطایی دریافت نمی کنم
83
00:03:06,000 –> 00:03:07,440
و وارد کردن کتابخانه
84
00:03:07,440 –> 00:03:08,640
موفق است
85
00:03:08,640 –> 00:03:10,159
، کار بعدی که میخواهیم انجام دهیم این
86
00:03:10,159 –> 00:03:12,560
است که دو متغیر ایجاد کنیم
87
00:03:12,560 –> 00:03:14,800
که نام مدل داده و شماره پورتی
88
00:03:14,800 –> 00:03:17,680
را که سرویسهای nrc داخل
89
00:03:17,680 –> 00:03:19,519
power bi فعالانه گوش میدهند و در
90
00:03:19,519 –> 00:03:21,519
حال کار هستند، نگه میدارند. قرار
91
00:03:21,519 –> 00:03:23,280
است یک متغیر با نام
92
00:03:23,280 –> 00:03:26,239
نام مدل ایجاد کنیم و فعلاً آن را به عنوان رشته خالی نامگذاری کنیم
93
00:03:26,239 –> 00:03:28,640
و همچنین
94
00:03:28,640 –> 00:03:30,319
متغیر دیگری برای شماره پورت ایجاد می کنم که
95
00:03:30,319 –> 00:03:32,640
برابر با رشته خالی است، بنابراین چگونه می توانیم
96
00:03:32,640 –> 00:03:35,280
نام مدل داده را شناسایی کنیم که
97
00:03:35,280 –> 00:03:37,760
ما داخل power bi داریم، بنابراین اگر
98
00:03:37,760 –> 00:03:39,360
الان به فایل power bi بروم
99
00:03:39,360 –> 00:03:41,599
نام مدل داده contoso است اما
100
00:03:41,599 –> 00:03:43,920
وقتی با power bi کار می
101
00:03:43,920 –> 00:03:45,599
کنیم نام مدل داده یا
102
00:03:45,599 –> 00:03:47,440
شناسایی داخلی
103
00:03:47,440 –> 00:03:49,360
مدل داده contoso نیست.
104
00:03:49,360 –> 00:03:51,440
در مورد سرویس های تجزیه و تحلیل سرور sql
105
00:03:51,440 –> 00:03:53,360
شما می توانید به سادگی به
106
00:03:53,360 –> 00:03:55,680
نام خود مدل داده مراجعه کنید اما در
107
00:03:55,680 –> 00:03:57,360
صورت power bi باید
108
00:03:57,360 –> 00:03:59,680
آن شناسه منحصر به فرد را شناسایی کنید و برای آن
109
00:03:59,680 –> 00:04:01,840
به ابزاری مانند dac studio نیاز دارید پس بیایید
110
00:04:01,840 –> 00:04:04,879
راه اندازی کنیم. استودیو dac
111
00:04:05,120 –> 00:04:07,360
و داخل استودیو dac باید
112
00:04:07,360 –> 00:04:08,720
به تب dmv بروید
113
00:04:08,720 –> 00:04:11,680
و باید اولین dmv را اجرا کنید، بنابراین
114
00:04:11,680 –> 00:04:14,080
بیایید آن را بکشیم و در بوم بیندازیم،
115
00:04:14,080 –> 00:04:16,238
بنابراین اگر این را اجرا کنم، میبینیم
116
00:04:16,238 –> 00:04:18,000
که نتیجهای داریم که میگوید
117
00:04:18,000 –> 00:04:21,120
نام کاتالوگ نقش ها تاریخ اصلاح شده an d
118
00:04:21,120 –> 00:04:24,240
شناسه پایگاه داده بنابراین به طور کلی شناسه پایگاه داده
119
00:04:24,240 –> 00:04:27,199
و نام کاتالوگ یکسان است، بنابراین می توانیم
120
00:04:27,199 –> 00:04:30,160
این را کپی کنیم و به ویژوال استودیو برگردیم،
121
00:04:30,160 –> 00:04:32,800
بنابراین در نام مدل
122
00:04:32,800 –> 00:04:35,680
، شناسه ای را که کپی کرده ام را پیست می کنم
123
00:04:35,680 –> 00:04:38,560
و همچنین باید شماره پورتی
124
00:04:38,560 –> 00:04:40,880
را که سرویس آنالیز به آن
125
00:04:40,880 –> 00:04:43,040
گوش می دهد را مشخص کنید و همچنین می توانیم آن را
126
00:04:43,040 –> 00:04:45,759
از خود استودیو dac شناسایی کنیم، بنابراین اگر
127
00:04:45,759 –> 00:04:47,440
امروز به مالیات مراجعه کنم می توانید ببینید که در
128
00:04:47,440 –> 00:04:49,960
سمت راست پایین می گوید localhost
129
00:04:49,960 –> 00:04:53,120
65156 بنابراین این شماره پورت است.
130
00:04:53,120 –> 00:04:55,440
کدام پاور بی در واقع اجرا می شود
131
00:04:55,440 –> 00:04:57,520
یا سرویس آنالیز در حال اجرا است، بنابراین
132
00:04:57,520 –> 00:04:59,759
می توانیم به ویژوال استودیو برویم و می توانیم
133
00:04:59,759 –> 00:05:02,080
شش پنج یک پنج شش
134
00:05:02,080 –> 00:05:04,320
شش پنج یک پنج شش بنویسیم و همچنین باید
135
00:05:04,320 –> 00:05:05,280
136
00:05:05,280 –> 00:05:08,639
میزبان محلی و نقطه ویرگول
137
00:05:08,639 –> 00:05:10,560
بنویسیم پس از آن باید ایجاد کنیم.
138
00:05:10,560 –> 00:05:12,720
رشته اتصالی که به ما در
139
00:05:12,720 –> 00:05:14,240
باز کردن یک اتصال به مدل جدولی کمک می کند
140
00:05:14,240 –> 00:05:15,840
و برای آن می خواهیم
141
00:05:15,840 –> 00:05:18,560
یک رشته اتصال متغیر جدید ایجاد کنیم
142
00:05:18,560 –> 00:05:20,720
، برابر با رشته خالی است
143
00:05:20,720 –> 00:05:22,320
و من می خواهم آن رشته اتصال را
144
00:05:22,320 –> 00:05:25,039
از پنجره دیگری کپی کنم، بنابراین اگر من
145
00:05:25,039 –> 00:05:26,800
آن را بچسبانید اگر می بینید که این
146
00:05:26,800 –> 00:05:28,160
رشته اتصالی است که قرار
147
00:05:28,160 –> 00:05:30,880
است از آن استفاده کنیم، ارائه دهنده را داریم که
148
00:05:30,880 –> 00:05:33,199
منبع آن است که شماره پورت است، سپس
149
00:05:33,199 –> 00:05:34,880
کاتالوگ را داریم که نام
150
00:05:34,880 –> 00:05:37,360
مدل داده است و پس از آن می
151
00:05:37,360 –> 00:05:39,280
خواهیم یک متغیر جدید برای
152
00:05:39,280 –> 00:05:40,960
پرس و جو dax بنابراین ما می توانیم
153
00:05:40,960 –> 00:05:44,400
پرس و جو خط فاصله را بنویسیم
154
00:05:45,840 –> 00:05:49,039
و اجازه دهید enter را فشار دهیم، بنابراین برای اولین
155
00:05:49,039 –> 00:05:51,600
مثال اولیه بیایید سعی کنیم
156
00:05:51,600 –> 00:05:53,840
جدول کامل محصولات را واکشی کنیم تا بتوانم
157
00:05:53,840 –> 00:05:56,319
محصولات ارزیابی را بنویسم،
158
00:05:56,319 –> 00:05:58,800
بنابراین اگر به power bi رفتم می توانید ببینید که
159
00:05:58,800 –> 00:06:01,039
من یک جدول دارم که جدول محصولات است
160
00:06:01,039 –> 00:06:02,800
که حاوی ستون
161
00:06:02,800 –> 00:06:05,520
نام محصول کلید محصول است که زیرشاخه کلاس برند
162
00:06:05,520 –> 00:06:08,160
و رنگ است، بنابراین تنها کاری که میخواهم انجام دهم این است
163
00:06:08,160 –> 00:06:10,800
که آن مقادیر را از مدل جدولی استخراج کنم و
164
00:06:10,800 –> 00:06:13,280
پس از آن پرس و جوی dax را مشخص کنیم که
165
00:06:13,280 –> 00:06:15,280
باید اتصال را به عنوان باز کنیم. خب پس
166
00:06:15,280 –> 00:06:17,680
میخواهیم بگوییم که con برابر با
167
00:06:17,680 –> 00:06:19,280
pi a2md است
168
00:06:19,280 –> 00:06:21,360
و متغیر رشته اتصال را پاس میکنیم
169
00:06:21,360 –> 00:06:22,720
170
00:06:22,720 –> 00:06:24,240
و سپس میگوییم که con
171
00:06:24,240 –> 00:06:26,880
dot باز است و
172
00:06:26,880 –> 00:06:28,960
همچنین اتصال را میبندیم تا w بعداً
173
00:06:28,960 –> 00:06:30,400
آن را از دست ندهید
174
00:06:30,400 –> 00:06:31,440
175
00:06:31,440 –> 00:06:33,039
و ما یک
176
00:06:33,039 –> 00:06:34,720
متغیر جدید ایجاد می کنیم که نتیجه آن برابر
177
00:06:34,720 –> 00:06:37,840
با مکان نما نقطه اتصال است
178
00:06:37,840 –> 00:06:39,840
و نقطه
179
00:06:39,840 –> 00:06:42,080
کوئری ایندکس را اجرا می کند
180
00:06:42,080 –> 00:06:45,199
و بعد از آن می خواهیم از
181
00:06:45,199 –> 00:06:47,680
چارچوب داده از کتابخانه pandas استفاده کنیم بنابراین
182
00:06:47,680 –> 00:06:50,000
می رویم. برای اینکه بگوییم df برابر است با پی دی
183
00:06:50,000 –> 00:06:51,919
دات قاب داده
184
00:06:51,919 –> 00:06:54,319
نتیجه نقطه واکشی
185
00:06:54,319 –> 00:06:55,280
1
186
00:06:55,280 –> 00:06:56,800
بیایید آن را ببندیم
187
00:06:56,800 –> 00:06:58,720
و بعد از آن کاری که می توانیم انجام دهیم این است که سعی کنیم
188
00:06:58,720 –> 00:07:00,720
خود df را چاپ کنیم،
189
00:07:00,720 –> 00:07:02,960
به نظر می رسد که کد صحیح است، بنابراین
190
00:07:02,960 –> 00:07:04,880
اگر این کد را اجرا کردم
191
00:07:04,880 –> 00:07:07,440
و منتظر آن باشیم. برای اجرا می
192
00:07:07,440 –> 00:07:08,960
بینید که می توانیم
193
00:07:08,960 –> 00:07:11,360
محتوای جدول محصول را استخراج کنیم ابتدا
194
00:07:11,360 –> 00:07:12,960
کلید
195
00:07:12,960 –> 00:07:14,880
محصول را داریم سپس نام محصول را داریم و سپس کلاس را داریم
196
00:07:14,880 –> 00:07:16,960
و رنگ نام ستون ها در
197
00:07:16,960 –> 00:07:19,599
دسترس نیست زیرا استخراج نشده است.
198
00:07:19,599 –> 00:07:22,080
از پرس و جوی dax استفاده می کنیم تا یک
199
00:07:22,080 –> 00:07:24,080
پرس و جو داکس به
200
00:07:24,080 –> 00:07:26,000
نام ستون ها دسترسی
201
00:07:26,000 –> 00:07:27,840
نداشته باشد، بنابراین کاری که می توانیم انجام دهیم این است که به جای آن می
202
00:07:27,840 –> 00:07:30,400
توانیم از کتا