Extending Power BI with Python and R, 2nd Edition / Расширение Power BI с помощью Python и R, 2-е издание Год издания: 2024 Автор: Zavarella Luca / Заварелла Лука Издательство: Packt Publishing ISBN: 978-1-83763-953-3 Язык: Английский Формат: PDF, EPUB Качество: Издательский макет или текст (eBook) Интерактивное оглавление: Да Количество страниц: 815 Описание: Ingest, transform, manipulate, and visualize your data beyond Power BI’s capabilities. Key Features Discover best practices for using Python and R in Power BI by implementing non-trivial code Enrich your Power BI dashboards using external APIs and machine learning models Create any visualization, as complex as you want, using Python and R scripts Book Description The latest edition of this book delves deeper into advanced analytics, focusing on enhancing Python and R proficiency within Power BI. New chapters cover optimizing Python and R settings, utilizing Intel’s Math Kernel Library (MKL) for performance boosts, and addressing integration challenges. Techniques for managing large datasets beyond laptop RAM, employing parquet data format, and advanced fuzzy matching algorithms are explored. Additionally, it discusses leveraging SQL Server External Languages to overcome traditional Python and R limitations in Power BI. It also helps in crafting sophisticated visualizations using the grammar of graphics in both R and Python. This PowerBI book will help you master data validation with regular expressions, import data from diverse sources, and apply advanced algorithms for transformation. Next, you’ll learn to Safeguard personal data in Power BI with techniques like pseudonymization, anonymization, and data masking. You’ll also get to grips with the key statistical features of data sets by plotting multiple visual graphs in the process of building a machine-learning model. The book will guide you to Utilize external APIs for enrichment, enhancing I/O performance, and leveraging Python and R for analysis. You’ll also be able to reinforce learning with questions at the end of each chapter. What you will learn Configure optimal integration of Python and R with Power BI Perform complex data manipulations not possible by default in Power BI Boost Power BI logging and loading large datasets Extract insights from your data using algorithms like linear optimization Calculate string distances and learn how to use them for probabilistic fuzzy matching Handle outliers and missing values for multivariate and time-series data Apply Exploratory Data Analysis in Power BI with R Learn to use Grammar of Graphics in Python Who this book is for This book is for business analysts, business intelligence professionals, and data scientists who already use Microsoft Power BI and want to add more value to their analysis using Python and R. Working knowledge of Power BI is required to make the most of this book. Basic knowledge of Python and R will also be helpful. Использование, преобразование, манипулирование и визуализация ваших данных выходят за рамки возможностей Power BI. Ключевые функции Узнайте о лучших практиках использования Python и R в Power BI, реализовав нетривиальный код Расширьте свои информационные панели Power BI с помощью внешних API и моделей машинного обучения Создавайте любую визуализацию, какой бы сложной вы ни пожелали, используя скрипты Python и R Описание книги В последнем издании этой книги более подробно рассматривается расширенная аналитика, основное внимание уделяется повышению уровня владения Python и R в Power BI. Новые главы посвящены оптимизации настроек Python и R, использованию математической библиотеки ядра Intel (MKL) для повышения производительности и решению проблем интеграции. Рассматриваются методы управления большими наборами данных, выходящими за рамки оперативной памяти ноутбука, с использованием формата данных parquet и усовершенствованных алгоритмов нечеткого сопоставления. Кроме того, обсуждается использование внешних языков SQL Server для преодоления традиционных ограничений Python и R в Power BI. Это также помогает в создании сложных визуализаций с использованием грамматики графики как на R, так и на Python. Эта книга по PowerBI поможет вам освоить проверку данных с помощью регулярных выражений, импортировать данные из различных источников и применять передовые алгоритмы для преобразования. Далее вы узнаете, как защитить личные данные в Power BI с помощью таких методов, как псевдонимизация, анонимизация и маскировка данных. Вы также познакомитесь с ключевыми статистическими характеристиками наборов данных, построив несколько визуальных графиков в процессе построения модели машинного обучения. Книга поможет вам использовать внешние API для обогащения, повышения производительности ввода-вывода и использования Python и R для анализа. Вы также сможете подкрепить полученные знания вопросами в конце каждой главы. Чему вы научитесь Настройте оптимальную интеграцию Python и R с Power BI Выполняйте сложные манипуляции с данными, которые по умолчанию невозможны в Power BI Улучшите ведение журнала Power BI и загрузку больших наборов данных Извлекайте информацию из ваших данных, используя такие алгоритмы, как линейная оптимизация Рассчитайте расстояния между строками и узнайте, как использовать их для вероятностного нечеткого сопоставления Обработайте выбросы и пропущенные значения для многомерных данных и данных временных рядов Примените поисковый анализ данных в Power BI с помощью R Научитесь использовать графическую грамматику в Python Для кого предназначена эта книга Эта книга предназначена для бизнес-аналитиков, специалистов в области бизнес-аналитики и обработки данных, которые уже используют Microsoft Power BI и хотят повысить эффективность своего анализа с помощью Python и R. Для получения максимальной пользы от этой книги необходимы практические знания Power BI. Базовые знания Python и R также будут полезны.
Примеры страниц (скриншоты)
Оглавление
Preface xxi Chapter 1: Where and How to Use R and Python Scripts in Power BI 1 Technical requirements ............................................................................................................ 2 Injecting R or Python scripts into Power BI ............................................................................... 2 Data loading • 2 Data transformation • 6 Data visualization • 10 Using R and Python to interact with your data ......................................................................... 13 Python and R compatibility across Power BI products ............................................................. 13 Summary ............................................................................................................................... 15 Test your knowledge ............................................................................................................... 16 Chapter 2: Configuring R with Power BI 17 Technical requirements .......................................................................................................... 17 The available R engines .......................................................................................................... 18 The CRAN R distribution • 18 The Microsoft R Open distribution and MRAN • 18 Multi-threading in MRO • 19 Choosing an R engine to install ............................................................................................... 20 The R engines used by Power BI • 20 Installing the suggested R engines • 22 The R engine for data transformation • 22 The R engine for R script visuals on the Power BI service • 23 What to do when the Power BI service upgrades the R engine • 27 Installing an IDE for R development ........................................................................................ 28 Installing RStudio • 28 Installing RTools • 31 Linking Intel’s MKL to R • 32 Configuring Power BI Desktop to work with R ......................................................................... 37 Debugging an R script visual • 39 Configuring the Power BI service to work with R ..................................................................... 40 Installing the on-premises data gateway in personal mode • 41 Sharing reports that use R scripts in the Power BI service • 45 R script visuals limitations ...................................................................................................... 46 Summary ............................................................................................................................... 47 Test your knowledge ............................................................................................................... 48 Chapter 3: Configuring Python with Power BI 49 Technical requirements .......................................................................................................... 49 The available Python engines ................................................................................................. 49 Choosing a Python engine to install • 51 The Python engines used by Power BI • 51 Installing the suggested Python engines • 52 The Python engine for data transformation • 53 Creating an environment for data transformations using pip ................................................... 55 Creating an optimized environment for data transformations using conda ............................... 60 Creating an environment for Python script visuals on the Power BI service .............................. 64 What to do when the Power BI service upgrades the Python engine .......................................... 70 Installing an IDE for Python development ............................................................................... 71 Configuring Python with RStudio • 71 Configuring Python with Visual Studio Code • 74 Working with the Python Interactive window in Visual Studio Code • 78 Configuring Power BI Desktop to work with Python ................................................................. 79 Configuring the Power BI service to work with Python • 83 Sharing reports that use Python scripts in the Power BI service • 84 Limitations of Python visuals .................................................................................................. 85 Summary ............................................................................................................................... 86 Test your knowledge ............................................................................................................... 87 Chapter 4: Solving Common Issues When Using Python and R in Power BI 89 Technical requirements .......................................................................................................... 89 Avoiding the ADO.NET error when running a Python script in Power BI ................................... 89 The real cause of the problem • 90 A practical solution to the problem • 91 Avoiding the Formula.Firewall error ....................................................................................... 94 Incompatible privacy levels • 96 Indirect access to a data source • 101 The easy way • 104 Combining queries and/or transformations • 106 Encapsulating queries into functions • 108 Using multiple datasets in Python and R script steps .............................................................. 110 Applying a full join with Merge • 111 Using arguments of the Python.Execute function • 116 Dealing with dates/times in Python and R script steps ........................................................... 120 Summary ............................................................................................................................. 127 Test your knowledge ............................................................................................................. 128 Chapter 5: Importing Unhandled Data Objects 129 Technical requirements ........................................................................................................ 130 Importing RDS files in R ....................................................................................................... 130 A brief introduction to Tidyverse • 130 Creating a serialized R object • 131 Configuring the environment and installing Tidyverse • 131 Creating the RDS files • 133 Using an RDS file in Power BI • 140 Importing an RDS file into the Power Query Editor • 140 Importing an RDS file in an R script visual • 143 Importing PKL files in Python ............................................................................................... 152 A very short introduction to the PyData world • 152 Creating a serialized Python object • 153 Configuring the environment and installing the PyData packages • 153 Creating the PKL files • 153 Using a PKL file in Power BI • 157 Importing a PKL file into the Power Query Editor • 157 Importing a PKL file in a Python script visual • 159 Summary ............................................................................................................................. 164 References ........................................................................................................................... 165 Test your knowledge ............................................................................................................. 165 Chapter 6: Using Regular Expressions in Power BI 167 Technical requirements ........................................................................................................ 167 A brief introduction to regexes .............................................................................................. 168 The basics of regexes • 168 Literal characters • 169 Special characters in regex • 170 The ^ and $ anchors • 170 OR operators • 171 Negated character classes • 172 Shorthand character classes • 172 Quantifiers • 172 The dot • 173 Greedy and lazy matches • 173 Checking the validity of email addresses • 175 Checking the validity of dates • 180 Validating data using regex in Power BI ................................................................................. 182 Using regex in Power BI to validate emails with Python • 183 Using regex in Power BI to validate emails with R • 186 Using regex in Power BI to validate dates with Python • 188 Using regex in Power BI to validate dates with R • 189 Loading complex log files using regex in Power BI ................................................................. 190 Apache access logs • 191 Importing Apache access logs in Power BI with Python • 192 Importing Apache access logs in Power BI with R • 193 Extracting values from text using regex in Power BI ............................................................... 195 One regex to rule them all • 197 Using regex in Power BI to extract values with Python • 198 Using regex in Power BI to extract values with R • 199 Summary ............................................................................................................................. 201 References ........................................................................................................................... 201 Test your knowledge ............................................................................................................. 201 Chapter 7: Anonymizing and Pseudonymizing Your Data in Power BI 203 Technical requirements ........................................................................................................ 204 De-identifying data ............................................................................................................... 204 De-identification techniques • 204 Information removal • 205 Data masking • 205 Data swapping • 206 Generalization • 207 Data perturbation • 207 Tokenization • 208 Hashing • 209 Encryption • 209 Understanding pseudonymization • 210 What is anonymization? • 212 Anonymizing data in Power BI .............................................................................................. 213 Anonymizing data using Python • 213 Anonymizing data using R • 216 Pseudonymizing data in Power BI ......................................................................................... 219 Pseudonymizing data using Python • 220 Pseudonymizing data using R • 222 Summary ............................................................................................................................. 224 References ........................................................................................................................... 224 Test your knowledge ............................................................................................................. 224 Chapter 8: Logging Data from Power BI to External Sources 227 Technical requirements ........................................................................................................ 227 Logging to CSV files .............................................................................................................. 227 Logging to CSV files with Python • 229 Using the pandas module • 229 Logging emails to CSV files in Power BI with Python • 230 Logging to CSV files with R • 231 Using Tidyverse functions • 232 Logging dates to CSV files in Power BI with R • 233 Logging to Excel files ............................................................................................................ 234 Logging to Excel files with Python • 235 Using the pandas module • 235 Logging emails and dates to Excel files in Power BI with Python • 238 Logging to Excel files with R • 240 Using the readxl and openxlsx packages • 240 Logging emails and dates to Excel in Power BI with R • 242 Logging to (Azure) SQL Server ............................................................................................... 244 Installing SQL Server Express • 244 Creating an Azure SQL Database • 247 Logging to an (Azure) SQL server with Python • 252 Using the pyodbc module • 252 Logging emails and dates to an Azure SQL Database in Power BI with Python • 258 Logging to an (Azure) SQL Server with R • 261 Using the DBI and odbc packages • 261 Logging emails and dates to an Azure SQL Database in Power BI with R • 264 Managing credentials in the code • 265 Creating environment variables • 265 Using environment variables in Python • 268 Using environment variables in R • 269 Summary ............................................................................................................................. 269 References ........................................................................................................................... 269 Test your knowledge ............................................................................................................. 269 Chapter 9: Loading Large Datasets Beyond the Available RAM in Power BI 271 Technical requirements ........................................................................................................ 271 A typical analytic scenario using large datasets ...................................................................... 272 Importing large datasets with Python .................................................................................... 272 Installing Dask on your laptop • 273 Creating a Dask DataFrame • 274 Extracting information from a Dask DataFrame • 275 Importing a large dataset in Power BI with Python • 280 Importing large datasets with R ............................................................................................ 282 Introducing Apache Arrow • 282 Installing arrow on your laptop • 283 Creating and extracting information from an Arrow Dataset object • 283 Importing a large dataset in Power BI with R • 286 Summary ............................................................................................................................. 287 References ........................................................................................................................... 287 Test your knowledge ............................................................................................................. 287 Chapter 10: Boosting Data Loading Speed in Power BI with Parquet Format 289 Technical requirements ........................................................................................................ 289 From CSV to the Parquet file format ...................................................................................... 290 Limitations of using Parquet files natively in Power BI • 291 Using Parquet files with Python • 292 Analyzing Parquet data with Dask • 292 Analyzing Parquet data with PyArrow • 301 Performance differences between Dask and PyArrow • 309 Using Parquet files with R • 309 Analyzing Parquet data with Arrow for R • 309 Using the Parquet format to speed up a Power BI report ......................................................... 316 Transforming historical data in Parquet • 317 Appending new data to and analyzing the Parquet dataset • 318 Analyzing Parquet data in Power BI with Python • 320 Analyzing Parquet data in Power BI with R • 326 Summary ............................................................................................................................. 328 References ........................................................................................................................... 328 Test your knowledge ............................................................................................................. 328 Chapter 11: Calling External APIs to Enrich Your Data 329 Technical requirements ........................................................................................................ 329 What is a web service? .......................................................................................................... 330 Registering for Bing Maps web services ................................................................................. 331 Geocoding addresses using Python ....................................................................................... 333 Using an explicit GET request • 333 Using an explicit GET request in parallel • 337 Using the Geocoder library in parallel • 339 Geocoding addresses using R ................................................................................................ 340 Using an explicit GET request • 340 Using an explicit GET request in parallel • 342 Using the tidygeocoder package in parallel • 344 Accessing web services using Power BI .................................................................................. 345 Geocoding addresses in Power BI with Python • 346 Geocoding addresses in Power BI with R • 346 Summary ............................................................................................................................. 347 References ........................................................................................................................... 347 Test your knowledge ............................................................................................................. 348 Chapter 12: Calculating Columns Using Complex Algorithms: Distances 349 Technical requirements ........................................................................................................ 350 What is a distance? ............................................................................................................... 350 The distance between two geographic locations .................................................................... 351 Some theory first • 351 Spherical trigonometry • 352 The law of Cosines distance • 353 The law of Haversines distance • 355 Vincenty’s distance • 356 What kind of distance to use and when • 357 Implementing distances using Python • 357 Calculating distances with Python • 357 Calculating distances in Power BI with Python • 360 Implementing distances using R • 361 Calculating distances with R • 362 Calculating distances in Power BI with R • 364 The distance between two strings ......................................................................................... 365 Some theory first • 365 The Hamming distance • 365 The Levenshtein distance • 366 The Jaro-Winkler distance • 367 The Jaccard distance • 368 What kind of distance to use and when • 369 Deduplicating strings using Python and R • 371 Deduplicating emails with Python • 371 Deduplicating emails with R • 380 Deduplicating emails in Power BI • 385 Summary ............................................................................................................................. 387 References ........................................................................................................................... 388 Test your knowledge ............................................................................................................. 388 Chapter 13: Calculating Columns Using Complex Algorithms: Fuzzy Matching 389 Technical requirements ........................................................................................................ 389 Exploring default fuzzy matching in Power BI ....................................................................... 390 Using Power Query’s fuzzy merge • 391 Introducing probabilistic record linkage algorithms .............................................................. 402 Applying probabilistic record linkage algorithms .................................................................. 404 Applying probabilistic record linkage in Python • 404 Applying probabilistic record linkage in R • 412 Applying probabilistic record linkage in Power BI • 418 Summary ............................................................................................................................. 421 References ........................................................................................................................... 421 Test your knowledge ............................................................................................................. 421 Chapter 14: Calculating Columns Using Complex Algorithms: Optimization Problems 423 Technical requirements ........................................................................................................ 423 The basics of linear programming ........................................................................................ 423 Linear equations and inequalities • 424 Formulating a linear optimization problem • 425 Definition of the LP problem to solve • 428 Formulating the LP problem • 429 Handling optimization problems with Python and R .............................................................. 431 Solving the LP problem in Python • 432 Solving the LP problem in Power BI with Python • 435 Solving the LP problem in R • 439 Solving the LP problem in Power BI with R • 442 Summary ............................................................................................................................. 444 References ........................................................................................................................... 444 Test your knowledge ............................................................................................................. 444 Chapter 15: Adding Statistical Insights: Associations 447 Technical requirements ........................................................................................................ 447 Exploring associations between variables ............................................................................. 447 Correlation between numeric variables ................................................................................. 448 Pearson’s correlation coefficient • 450 Charles Spearman’s correlation coefficient • 454 Maurice Kendall’s correlation coefficient • 457 Description of a real case • 457 Implementing correlation coefficients in Python • 458 Implementing correlation coefficients in R • 461 Implementing correlation coefficients in Power BI with Python and R • 465 Correlation between non-numeric variables .......................................................................... 466 Harald Cramér’s correlation coefficient • 469 Henri Theil’s uncertainty coefficient • 470 Correlation between non-numeric and numeric variables ..................................................... 471 Pearson’s correlation ratio • 472 Implementing correlation coefficients in Python • 473 Implementing correlation coefficients in R • 476 Implementing correlation coefficients in Power BI with Python and R • 478 Summary ............................................................................................................................. 479 References ........................................................................................................................... 479 Test your knowledge ............................................................................................................. 480 Chapter 16: Adding Statistical Insights: Outliers and Missing Values 481 Technical requirements ........................................................................................................ 481 What outliers are .................................................................................................................. 482 The causes of outliers ........................................................................................................... 483 Identifying outliers .............................................................................................................. 483 Univariate outliers • 484 Multivariate outliers • 484 Numeric variables and categorical variables • 484 All numeric variables • 485 Dealing with outliers ............................................................................................................ 489 Implementing outlier detection algorithms ........................................................................... 490 Implementing outlier detection in Python • 490 Implementing outlier detection in R • 497 Implementing outlier detection in Power BI • 501 What missing values are and how to deal with them ............................................................... 502 The causes of missing values • 503 Handling missing values • 504 Discarding data • 504 Mean, median, and mode imputation • 505 Easy imputation by hand • 505 Multiple imputation • 505 Univariate time-series imputation • 506 Multivariate time series imputation • 507 Diagnosing missing values in R and Python ........................................................................... 507 Implementing missing value imputation algorithms .............................................................. 511 Removing missing values • 512 Imputing tabular data • 513 Imputing time series data • 515 Imputing missing values in Power BI • 517 Summary ............................................................................................................................. 518 References ........................................................................................................................... 519 Test your knowledge ............................................................................................................. 519 Chapter 17: Using Machine Learning without Premium or Embedded Capacity 521 Technical requirements ........................................................................................................ 522 Interacting with ML in Power BI with dataflows ..................................................................... 522 Using AutoML solutions ........................................................................................................ 524 PyCaret • 525 FLAML • 526 Azure AutoML • 526 AutoQuant for R • 526 Embedding training code in Power Query ............................................................................. 527 Training and using ML models with PyCaret • 527 Using PyCaret in Power BI • 530 Training and using ML models with FLAML • 531 Using FLAML in Power BI • 533 Using trained models in Power Query .................................................................................... 533 Scoring observations in Power Query using a trained PyCaret model • 534 Scoring observations in Power Query using a trained FLAML model • 535 Using trained models in script visuals ................................................................................... 536 Scoring observations in a script visual using a trained model • 537 Calling web services in Power Query ..................................................................................... 548 Using Azure AutoML models in Power Query • 549 Training a model using the Azure AutoML UI • 549 Consuming an Azure ML-deployed model in Power BI • 560 Using Azure AI Language in Power Query • 560 Configuring a new Language service • 561 Configuring your Python environment and Windows • 561 Consuming the Text Analytics API in Power BI • 562 Summary ............................................................................................................................. 563 References ........................................................................................................................... 563 Test your knowledge ............................................................................................................. 564 Chapter 18: Using SQL Server External Languages for Advanced Analytics and ML Integration in Power BI 565 Technical requirements ........................................................................................................ 566 Introducing SQL Server Machine Learning Services ............................................................... 566 The Extensibility Framework to run Python and R scripts • 567 Installing Python and R custom runtimes for SQL Server ....................................................... 568 Updating SQL Server • 569 Installing Machine Learning Services and Language Extensions • 572 Installing the Python runtime • 574 Installing the R runtime • 579 Configuring the SQL Server Language Extensions • 579 Granting access to Launchpad • 580 Configuring the Language Extensions • 582 A closer look at sp_execute_external_script • 586 Understanding input and output parameters • 586 Managing loopback requests • 590 Managing different Python environments or R installations • 593 The need for external languages with Power BI ..................................................................... 594 Architectural and security policy constraints • 594 Running analytical scripts on data stored in SQL Server • 595 Missing libraries in the Power BI service • 595 Using external languages with Power BI ................................................................................ 596 Converting an EXEC to SELECT ... FROM • 597 Implementing the predictive stored procedure • 599 Calling a stored procedure in DirectQuery • 603 Publishing the report to the Power BI service • 613 Summary ............................................................................................................................. 618 References ........................................................................................................................... 618 Acknowledgements .............................................................................................................. 619 Test your knowledge ............................................................................................................. 619 Chapter 19: Exploratory Data Analysis 621 Technical requirements ........................................................................................................ 621 What is the goal of EDA? ....................................................................................................... 622 Understanding your data ...................................................................................................... 622 Cleaning your data • 624 Discovering associations between variables • 624 EDA with Python and R ......................................................................................................... 625 EDA in Power BI ................................................................................................................... 626 Dataset summary page • 627 Missing values exploration • 632 Univariate exploration • 635 Multivariate exploration • 641 Variable associations • 647 Summary ............................................................................................................................. 651 References ........................................................................................................................... 651 Test your knowledge ............................................................................................................. 651 Chapter 20: Using the Grammar of Graphics in Python with plotnine 653 Technical requirements ........................................................................................................ 653 What is plotnine? ................................................................................................................. 654 plotnine core concepts • 654 Analyzing Titanic data with plotnine ..................................................................................... 655 Using plotnine in Power BI ................................................................................................... 661 Working with plotnine and getting an image • 662 Working with plotnine and getting a Matplotlib figure • 669 Working with plotnine in the Python script visual • 670 Summary ............................................................................................................................. 678 References ........................................................................................................................... 679 Acknowledgment .................................................................................................................. 679 Test your knowledge ............................................................................................................. 679 Chapter 21: Advanced Visualizations 681 Technical requirements ........................................................................................................ 681 Choosing a circular barplot .................................................................................................. 682 Implementing a circular barplot in R .................................................................................... 685 Implementing a circular barplot in Power BI ......................................................................... 693 Summary ............................................................................................................................. 694 References ........................................................................................................................... 695 Test your knowledge ............................................................................................................. 695 Chapter 22: Interactive R Custom Visuals 697 Technical requirements ........................................................................................................ 698 Why interactive R custom visuals? ......................................................................................... 698 Adding a dash of interactivity with Plotly ............................................................................... 699 Exploiting the interactivity provided by HTML widgets .......................................................... 701 Packaging it all into a Power BI custom visual ........................................................................ 701 Installing the pbiviz package • 702 Developing your first R HTML custom visual • 703 Importing the custom visual package into Power BI ............................................................... 712 Summary ............................................................................................................................. 716 References ........................................................................................................................... 716 Test your knowledge ............................................................................................................. 716 Appendix 1: Answers 739 Appendix 2: Glossary 759 Other Books You May Enjoy 779 Index 783
Zavarella Luca / Заварелла Лука - Extending Power BI with Python and R, 2nd Edition / Расширение Power BI с помощью Python и R, 2-е издание [2024, PDF, EPUB, ENG] download torrent for free and without registration
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum