Методи стиснення LuckyTemplates у DAX Studio

У цьому посібнику ви дізнаєтеся про різні методи стиснення LuckyTemplates, які допоможуть оптимізувати ваш звіт.

Після завантаження даних сегмент за сегментом службами аналізу в LuckyTemplates Power Pivot і відбувається дві події. Перший полягає в тому, що вони намагаються використовувати різні методи кодування для . Другий полягає в тому, що вони намагаються знайти найкращий порядок сортування, який розміщує повторювані значення разом. Цей метод також збільшує стиснення та, у свою чергу, зменшує навантаження на пам’ять.

Служби аналізу використовують різні методи стиснення. Цей підручник охоплює три методи, зокрема, кодування значень, кодування довжини серії та кодування словника. В останньому розділі цього підручника буде описано, як сортувати порядок у службах аналізу.

Зміст

Техніка стиснення LuckyTemplates №1: кодування значень

Перший називається кодуванням значень.

Кодування значень шукає математичне співвідношення між кожним значенням у стовпці, щоб зменшити пам’ять. Ось приклад у Microsoft Excel:

Цей стовпець потребує 16 384 біт для збереження значень.

Методи стиснення LuckyTemplates у DAX Studio

Щоб обчислити необхідні біти, спочатку скористайтеся функцією MAX() в Excel, щоб отримати найбільше значення в стовпцях. У цьому випадку це 9144. Потім скористайтеся функцією POWER(), щоб обчислити необхідні біти. Використовуйте аргумент POWER(2, X), де X — будь-яке додатне значення, яке поверне відповідь, більшу за значення MAX. X у цьому випадку також представляє необхідні біти. Отже, для цього прикладу значення X дорівнює 14, що призводить до 16384 . Таким чином, стовпець вимагає 14 біт пам'яті.

Щоб зменшити необхідні біти за допомогою кодування значень, VertiPaq шукає MIN значення в стовпці та віднімає його від кожного значення. У цьому випадку MIN значення в стовпці дорівнює 9003. Якщо відняти це значення зі стовпця, він поверне такі значення:

Методи стиснення LuckyTemplates у DAX Studio

Використовуючи ті самі функції та аргументи, ви можете побачити, що для нового стовпця значення MAX дорівнює 141. А використання 8 як значення X призводить до 256 . Тому для нового стовпця потрібно лише 8 біт.

Ви можете побачити, наскільки стиснутий другий стовпець порівняно з першим.

Після стиснення даних і спроби запиту нового стовпця цей стовпець сканується. Вони не просто повернуть нові значення стовпця. Натомість вони додають відняте значення перед тим, як повернути результат назад користувачеві.

Однак кодування значень працює лише зі стовпцями, що містять цілі числа або значення з фіксованими десятковими числами.

Техніка стиснення LuckyTemplates №2: кодування довжини серії

Другий метод кодування називається Run Length Encoding.

Кодування довжини циклу створює структуру даних, яка містить окреме значення, стовпець «Початок» і стовпець «Кількість».

Наведемо приклад:

Методи стиснення LuckyTemplates у DAX Studio

У цьому випадку він визначає, що в першому рядку доступне одне червоне значення. Потім він дізнається, що значення чорного починається з другого рядка та доступне для наступних чотирьох клітинок. Він переходить до третього значення, Blue , яке починається з шостого рядка та доступне для наступних трьох рядків. І так триває, доки не досягне останнього значення в стовпці.

Таким чином, замість того, щоб зберігати весь стовпець, він створює структуру даних, яка містить лише інформацію про те, де починається і де закінчується конкретне значення, і скільки воно має дублікатів.

Методи стиснення LuckyTemplates у DAX Studio

Для стовпців з однаковою структурою дані можна додатково стиснути, упорядкувавши значення в порядку зростання або спадання.

Методи стиснення LuckyTemplates у DAX Studio

З цим правильно відсортованим стовпцем ви можете побачити, що метод Run Length Encoding тепер повертає структуру даних з одним рядком менше.

Методи стиснення LuckyTemplates у DAX Studio

Отже, якщо ви маєте справу з багатьма різними значеннями, рекомендується відсортувати стовпець найоптимальнішим способом. Це дасть вам структуру даних із меншою кількістю рядків, що, у свою чергу, займає менше оперативної пам’яті.

Кодування довжини циклу не можна застосувати до первинних ключів, оскільки стовпці первинного ключа містять лише унікальні значення. Тож замість того, щоб зберігати один рядок для кожного значення, він зберігатиме стовпець таким, яким він є.

Техніка стиснення LuckyTemplates №3: кодування словника

Третій метод кодування називається Словникове кодування.

Кодування словника створює структуру, схожу на словник, яка містить окреме значення стовпця. Він також призначає індекс цьому унікальному значенню.

Використовуючи попередній приклад, давайте розглянемо, як працює словникове кодування. У цьому випадку значенням Red, Black і Blue присвоюється індекс 0, 1 і 2 відповідно.

Методи стиснення LuckyTemplates у DAX Studio

Потім створюється структура даних, подібна до структури кодування довжини серії. Однак замість того, щоб зберігати фактичні значення, Dictionary Encoding зберігає призначений індекс кожного значення.

Методи стиснення LuckyTemplates у DAX Studio

Це додатково зменшує споживання оперативної пам’яті, оскільки числа займають менше місця, ніж рядкові значення.

Словникове кодування також робить табличний тип даних незалежним. Тобто, незалежно від того, чи є у вас стовпець, який можна зберігати в різних типах даних, це не матиме значення, оскільки структура даних зберігатиме лише значення індексу.

Однак, навіть якщо він незалежний, тип даних все одно матиме вплив на розмір словника. Залежно від типу даних, у якому ви вирішите зберегти стовпець, розмір словника (або структури даних) буде коливатися. Але розмір самої колони залишиться колишнім.

Отже, залежно від того, який тип даних ви виберете, після застосування словникового кодування до стовпця можна буде застосувати кодування довжини серії.

У цьому випадку Analysis Services створить дві структури даних. Спочатку буде створено словник, а потім застосовано до нього кодування довжини серії, щоб ще більше збільшити стиснення стовпця.

Порядок сортування в Analysis Services

В останній частині цього посібника давайте обговоримо, як Analysis Services вирішує найоптимальніший спосіб сортування даних.

Як приклад, давайте розглянемо стовпець, що містить значення червоного, синього, чорного, зеленого та рожевого. Їм також присвоєно номери від 1 до 5. Це діє як словник нашої колонки.

Методи стиснення LuckyTemplates у DAX Studio

Тепер заповніть весь стовпець у Excel цими значеннями. Використовуйте цей аргумент, щоб створити стовпець, який містить ці значення випадковим чином.

Методи стиснення LuckyTemplates у DAX Studio

Перетягніть формулу до останнього рядка. Натисніть OK , якщо з’явиться спливаюче вікно «Велика операція» . Тепер це виглядатиме так:

Методи стиснення LuckyTemplates у DAX Studio

Потім скопіюйте весь стовпець і вставте його як значення .

Методи стиснення LuckyTemplates у DAX Studio

Тепер, якщо ви перейдете до параметра «Файл» у своєму документі Excel і клацнете « Інформація» , ви побачите, що стовпець займає 14,1 МБ .

Щоб зменшити обсяг споживаної оперативної пам’яті, ви можете відсортувати стовпець від А до Я. Якщо ви ще раз перевірите розмір, ви побачите, що його зменшено до 12,5 МБ .

Зменшення на 1,9 МБ може здатися незначним. Це пояснюється тим, що для демонстрації в прикладі використано один стовпець у Excel. Excel обмежений лише 1 мільйоном рядків. Однак у LuckyTemplates ваші дані можуть містити мільярди рядків і стовпців. Скорочення використовуваного простору зростає експоненціально.

Висновок

Коли ваші дані відсортовано найбільш оптимальним чином, Analysis Services застосовує один із трьох методів стиснення залежно від типу даних.

Це посилить стиснення ваших даних, що значно зменшить обсяг пам’яті, споживаної вашим пристроєм. Це робить ваш звіт більш оптимальним, полегшуючи його виконання та завантаження.


Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.