Що таке Power Query та мова M: детальний огляд
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
У цій публікації блогу ми дізнаємося, як використовувати функцію одночасного використання в Power Apps. Паралельна функція, як випливає з назви, дозволяє одночасно запускати функції в Power Apps.
Зазвичай, коли ви запускаєте будь-які процеси або робочі цикли, вони повинні запускатися відразу за одним. Але є особливі випадки, коли ви можете оптимізувати свою програму, змусивши їх працювати паралельно або одночасно . І саме про це ми поговоримо в цій публікації.
У мене є дуже проста програма, яку ми хочемо оптимізувати. Коли користувач вводить тут фразу, кнопка «Запустити послідовність» виконує багато різних дій.
Давайте перейдемо до властивості OnSelect кнопки Run Sequence .
Як ми бачимо тут, відбувається досить багато речей. Спочатку ми встановлюємо змінну StartTime = Now , щоб ми могли визначити, скільки часу це займе.
Потім ми очищаємо змінну колекції під назвою Output.
А потім ми робимо ряд речей, які, ймовірно, займають найбільше часу. В основному ми просимо Microsoft Translator перекласти будь-який текст, який ми вводимо у введений текст, французькою, німецькою, голландською, корейською, грецькою, іспанською та гінді. Крапка з комою в кінці кожного рядка означає, що це відбувається послідовно.
Одне з останніх речей, які ми робимо, це беремо всі ці вхідні дані, усі ці змінні, і з них. Ця колекція містить фактичний текст, який ми хочемо перекласти, мову, якою ми будемо перекладати, а також фактичний перекладений текст. І знову ж таки, ми робимо це для французької, німецької, голландської тощо.
Зміст
Оновіть підключення SharePoint
Ми також оновимо з’єднання, щоб додати додатковий рівень часу обробки. Потім ми встановимо змінну EndTime = Now , оскільки ми хочемо відстежити, скільки часу займає вся ця послідовність.
Знову ж таки, це послідовність, яку ми знаємо за наявністю тут крапки з комою. Кожна крапка з комою представляє нову функцію, яка починається, тому все це відбувається в послідовному порядку.
Давайте запустимо цю програму, натиснувши кнопку Run Sequence. Ми бачимо, що він виводить таблицю з фактичною фразою Hello , мовою та її відповідним перекладом.
Ми також бачимо внизу, що коли ми оновили список SharePoint, це зайняло 500 мілісекунд.
Очевидно, це зайняло недовго. І ніхто не буде нервувати через те, що обробляється за 500 мілісекунд.
Але що, якщо ці процеси (які використовують сторонні сервіси) займають багато часу? Що, якщо замість того, щоб просто писати тут одне слово, ми скопіюємо та вставимо сюди другий розділ Конституції США, а потім запустимо послідовність?
Це зайняло трохи більше часу. Це зайняло 1700 мілісекунд або приблизно 1,7 секунди.
Якщо я скопіюю та вставлю розділ 3 Конституції США, це займе експоненціально більше часу. Зараз ми приблизно на чотирьох секундах.
Послідовна проти паралельної функції в Power Apps
Ви можете побачити варіант використання одночасного запуску цих функцій, тому що якщо ви запускаєте їх послідовно і якщо у вас є дуже складні функції, це справді займе деякий час.
Тепер давайте зробимо те ж саме, але з правого боку ми зробимо це одночасно. Давайте повернемо це на Hello , запустимо послідовність, зробимо копію цього та перенесемо це в праву сторону.
Нам потрібно перейти до властивості OnSelect цієї кнопки, і нам потрібно змінити його, щоб зробити його паралельним. Після Clear Output ми введемо слово Concurrent .
Одночасна функція в Power Apps приймає різні функції як аргументи або те, що Power Apps називає формулами . Отже, ми збираємося зробити все це одночасно, що означає, що замість того, щоб Power Apps працювати спочатку французькою, потім німецькою, а потім голландською, вона робитиме все це одночасно.
Ми об’єднаємо всі ці функції в паралельну функцію. Причина, чому вона дає нам помилку, полягає в тому, що паралельна функція приймає аргументи як формули, розділені комами . Зараз ми використовуємо крапки з комою, тому все, що нам потрібно зробити, це зайти в кожну з цих речей і змінити їх на коми.
Остання крапка з комою, ми просто позбудемося її, оскільки це останній аргумент у цій функції. Тоді нам знадобиться крапка з комою в самому кінці цього, тому що concurrent технічно також є функцією.
Одна з останніх речей, яку ми зробимо, це переміститидо паралельної функції, оскільки тут немає залежності.
Знову ж таки, причина, чому ми робимо це, полягає в тому, що всі ці функції не залежать одна від одної, а це означає, що вони не повинні виконуватися послідовно. Вони можуть статися одночасно, тому ми це робимо в першу чергу.
Отже, після того, як ми все це зробили, нам потрібно переконатися, що ми переходимо сюди та встановлюємо значення Start Time two і End Time two , щоб це не конфліктувало з іншими змінними часу початку та часу закінчення .
І ми також змінимо Output на Output Two , щоб змінні не змішувалися.
Давайте закриємо цю функцію та перевіримо її. Ми змінимо змінні з End Time на End Time Two і Start Time на Start Time Two .
Потім ми змінимо таблицю даних, щоб переглянути вихідні дані два , тому що це те, що створює ця кнопка. Ми змінимо кнопку з Run Sequence на Run Concurrent .
Тож тепер у нас є дві речі, які роблять те саме. Один робить це послідовно, а інший – одночасно.
Давайте зробимо кілька тестів. Ми введемо Hello і запустимо послідовність. Спочатку ми запустимо послідовну кнопку, а потім паралельну.
Ми бачимо, що одночасний приблизно вдвічі або втричі швидше, ніж послідовний. Тепер давайте скопіюємо розділи 1, 2, 3, 4, 5, 6 і 7 Конституції США та подивимось, скільки часу знадобиться для цього, якщо використовувати кнопки послідовності та одночасності.
Кнопка послідовності зайняла багато часу, і була помітна пауза. Вашим користувачам це не сподобається. Але якщо ви запустите його одночасно, це займе лише одну секунду.
Це ще займає деякий час. Але ви знаєте, що робите це максимально оптимізованим способом. Різниця між однією та трьома секундами для ваших користувачів може багато означати.
3x множник досить хороший для .
Перевага паралельної функції в Power Apps
Зауважте, що деякі речі тут не оптимізовані. Скажімо, у вас 40, 50 або 60 мов, тоді ви помітите не лише множник 2x або 3x, ви можете помітити множник 10x або 12x, оскільки ви робите більше речей одночасно, ніж ви робили послідовно.
Тож у цьому прикладі ви бачите лише 3-кратний множник, але знову ж таки, якщо у вас більше одночасних процесів, ніж той, який ми виконуємо тут, ви помітите ще більшу швидкість.
Висновок
У цій публікації в блозі ми обговорили, що таке паралельна функція та як її використовувати, щоб оптимізувати ваші Power Apps. Коли ви виконуєте кілька оновлень даних або читаєте кілька джерел даних, ви можете зробити це швидше за допомогою функції одночасного використання.
Всього найкращого,
Генрі Хабіб
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
Дізнайтеся, як створити звіт із розбивкою на сторінки, додати тексти та зображення, а потім експортувати звіт у різні формати документів.
Дізнайтеся, як використовувати функцію автоматизації SharePoint для створення робочих процесів і допомоги в мікрокеруванні користувачами, бібліотеками та списками SharePoint.
Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!
Дізнайтеся, як обчислювати поточні підсумки в LuckyTemplates за допомогою DAX. Поточні підсумки дозволяють вам не потрапити в окремий результат.
Зрозумійте концепцію змінних у DAX у LuckyTemplates і значення змінних для обчислення показників.
Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.
Відкрийте для себе кольорові теми в LuckyTemplates. Це необхідно для того, щоб ваші звіти та візуалізації виглядали та працювали без проблем.
Розрахувати середнє значення в LuckyTemplates можна кількома способами, щоб отримати точну інформацію для ваших бізнес-звітів.
Давайте заглибимося в стандартну тематику LuckyTemplates і розглянемо деякі функції, вбудовані в саму програму LuckyTemplates Desktop.