Змініть формати дати за допомогою редактора Power Query
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Я покажу вам, як працювати з таблицею курсів валют, у якій деякі дні не враховуються . Ці дні можуть бути вихідними або святковими.
Іноді це може не бути проблемою, особливо якщо підприємство, для якого ви готуєте звіт, не працює у вихідні та святкові дні. Але якщо вони це зроблять, ви можете отримати неправильні підсумки наприкінці місяця.
Знання того, як працювати з відсутніми даними, дозволить вам справедливо порівнювати продажі, якщо використовується кілька валют. Наприклад, можуть бути дні, коли ви думаєте, що загальний обсяг продажів зменшується через падіння вартості валюти. Насправді загальний обсяг продажів може бути низьким, оскільки ви не враховуєте всі дні в заданому періоді.
У цьому прикладі я візьму останній доступний курс валюти та використаю його для відсутніх дат, щоб заповнити простір. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Зміст
Наведені дані в таблиці курсів валют
Нижче наведено таблицю фактів, яка є таблицею курсів валют . Він використовує євро як базову валюту.
Він показує дані за січень 2016 року з пов’язаним кросрейтом кожного дня.
З 1 січня все виглядає добре. Але коли я досягаю 26 числа, наступною датою в наступному рядку стає 29 число.
Це означає, що мені бракує даних за 27 і 28 число .
Зауважте, що деякі можуть віддати перевагу використанню Power Query для вирішення цієї ситуації. Наразі я просто хочу зосередитися на DAX.
Тепер припустімо, що я хочу використовувати 0,920 27 і 28 числа. Це кросрейт, який використовувався 26 числа. Як це зробити за допомогою DAX?
Хтось може сказати, що це можна легко зробити в Excel. Певною мірою вони можуть бути праві.
Але перевага LuckyTemplates над Excel — це можливість глибше заглиблюватися в дані з різних точок зору без необхідності повторювати або змінювати щось, що, швидше за все, станеться в Excel.
Я збираюся показати вам усі заходи, які вам потрібно врахувати, а також різні кроки, які я вжив би, щоб закрити будь-які відсутні дані в таблицях курсів валют.
Міра валютного курсу
Спочатку дозвольте показати вам мою головну таблицю. У мене вже є деякі дані, включаючи дату та курс валюти для євро .
У цьому випадку курс валюти просто використовуєфункція.
Оскільки я маю справу з одним курсом валюти на день, легко використовувати такі функції, як SUM ,,, чи щось подібне. Дані, що відображаються в кожному рядку, мали б повний сенс.
Єдина проблема тут полягає в тому, що станеться з Total .
Це показує загальну суму як 26,693, що взагалі не має сенсу. Це буквально просто підсумовування курсів валют за всі дні. Через це мені довелося б знайти спосіб повторювати дні, щоб отримати справжнє Total .
Тож я спробую розв’язати цю проблему на моєму показнику валютної дати .
Поточна дата
Особисто я завжди роблю міру поточної дати , яка приносить будь-яку дату, на якій я перебуваю в контексті поточного фільтра .
Я також віддаю перевагу використанню. У цьому прикладі використання функції MAX дасть мені 1/31 у Total, що було б більш доцільним, оскільки це остання вказана дата.
Остання дата валюти
Моя таблиця також містить дату останньої валюти . Я отримую це, використовуючиі посилання на таблиці FactCurrencyRates і Date .
Хоча це показує функцію LASTDATE , також можна використовувати MAX . Тут використовується та сама передумова, що й у таблиці «Поточна дата» , але вказано конкретний момент часу щодо таблиці «Курси валют» .
Прокручуючи вниз, я бачу, що немає даних за 27 і 28 число місяця.
Щоб вирішити ці відсутні дні, я розповім про стовпець «Дата останньої звітної валюти» .
Дата останньої звітної валюти
Дата останньої звітної валюти визначає, який курс використовувати для відсутніх днів. Концепція полягає в тому, що останній зареєстрований курс валюти буде тим самим курсом, який використовуватиметься в дні з відсутніми даними .
Оскільки немає даних і за 27, і за 28 число, це означає, що будуть застосовані дані за 26 число.
Наш приклад також показує, що дата останньої звітної валюти не обов’язково може бути попереднім днем. Оскільки даних за 27 число також немає, мені все одно доведеться повернутися до 26 числа, щоб визначити, яку ставку використовувати на 28 число.
Перш ніж я перейду до того, як це було зроблено, пам’ятайте, що все тут відбувається в контексті того, як працює фільтр. Мені потрібно подумати, на яких конкретних даних я хочу зосередитися.
Оскільки я перебуваю в рядку за 27 число місяця, я хочу видалити будь-які посилання на фільтр і натомість зосередитися на 26-му. Це означає приведенняабооскільки вони дозволяють мені змінювати застосований фільтр. Не плутайте це зфункція, яка може лише додатково обмежити дані.
Отже, ось показник, який я використав для дати останньої звітної валюти . Для цього прикладу я використав CALCULATE .
Я завжди намагаюся знайти якомога більше змінних. Мені просто потрібно подивитися на область кожної змінної, оскільки змінні приймають значення там, де вони визначені .
У цьому випадку я збираюся використовувати поточну дату , оскільки знаю, що ця змінна не зміниться незалежно від того, які функції я використовую.
Зауважте, що не обов’язково знаходити цю змінну. Це просто звичка, яка дозволяє мені перевіряти область кожної змінної, яку я використовуватиму в мірі.
Повертаючись до вимірювання, як мені сказати DAX видалити фільтри для поточної дати та надати мені дату останньої записаної валюти ?
Спочатку я використаю FILTER дляТаблиця (DimDate).
Функція ALL видаляє застосовані фільтри, відкриваючи для мене таблицю DimDate.
Потім я використовую MIN , щоб повідомити DAX, що я хочу використовувати частину стовпця DimDate, яка дорівнює даті останньої валюти або поточній даті .
Що робити, якщо остання дата валюти та поточна дата не збігаються? Тоді завжди використовуйте дату останньої валюти .
Ось чому між 1/26 і 1/27 мірою буде 1/26. Звідси правильна дата буде застосована до таблиці курсів валют , щоб отримати останній звітний курс валюти .
Останній зареєстрований курс валюти
Дозвольте мені перетягнути останній звітний курс валюти в свою таблицю.
Ви побачите, що 27 і 28 числа тепер використовують 0,9200 як курс валюти , оскільки це той самий курс, що використовувався 26 числа.
Нижче наведено показник, який я використовував для останнього звітного курсу валюти .
Знову ж таки, я завжди починаю з визначення деяких змінних. У цьому випадку я використовую вибрану валюту та дату останньої звітної валюти .
Я збираюся використовувати вибрану валюту , оскільки тут я маю справу з різними валютами. Ось чому мені потрібно точно визначити, яка конкретна валюта оцінюється в будь-який момент часу.
У цьому прикладі доступ до різних валют можна отримати за допомогою наданого розділювача.
Звичайно, це не обов’язково має бути слайсер, який використовується. Це також може надходити з таблиці або візуалізації. Важливо те, що існує фільтр, який дозволяє переглядати дані в різних валютах.
Що стосується LastReportedDate , то це те саме, що й дата останньої звітної валюти , про яку я говорив раніше.
Для змінної Rate я використавфункція.
Я вводжу Crossrate з таблиці фактів для CurrencyRates .
Оскільки я маю багато валют в одній таблиці, я не можу просто використовувати дату як єдину точку відліку. Це має бути поєднання правильної валюти та правильної дати.
Ось чому я також посилаюся на те, що тикер валюти дорівнює Currency Selected .
Я також посилаюся на LastReportedDate .
Ось чому, дивлячись на таблицю, вона показує 26-те три рази, перш ніж перейти до 29-го.
Конвертовані продажі з використанням останнього звітного курсу порівняно з використанням поточної дати
Зараз я на останньому етапі, який передбачає конвертацію продажів за останнім зареєстрованим курсом валюти .
По суті, показник просто бере цей останній звітний курс валюти та множить його на базовий показник , яким у цьому випадку є загальний обсяг продажів .
Після застосування цієї міри ви побачите, що ці дві дати залишаться порожніми. Це означає, що в ці дати розпродажів немає .
Також виявляється, що 27 і 28 числа є розпродажі (де раніше не було валютних даних).
Оскільки я посилався на останній звітний курс валюти , ці цифри було конвертовано в євро.
Цього разу я покажу вам конвертовані продажі з використанням поточної дати.
Цього разу враховується лише поточна дата , а не дата останнього повідомлення .
Коли я поміщаю цей показник у таблицю в інший стовпець, він показує лише порожні місця на 27-му та 28-му.
Порівнюючи конвертовані продажі між використанням коефіцієнта останнього звіту та використанням поточної дати , загальна сума показує величезну різницю.
Якщо конвертовані продажі з використанням останньої звітної дати показують загальну суму понад 4 мільйони, конвертовані продажі з використанням поточної дати показують лише 3,8 мільйонів.
Ось чому дуже важливо розуміти, яку змінну ви використовуєте. Якщо ви подивитеся на загальну суму, то здається, що євро сильно постраждав, знизивши вартість. Але насправді падіння Total пов’язане з неврахованими даними в таблиці «Курси валют».
Очищення даних
Тепер, коли я заповнив відсутні дані, я збираюся очистити таблицю.
Я щойно додав сюди стовпець Formatted Sales , який чітко показує цифри в євро.
Оскільки я пройшов стільки кроків, я накопичив тут чималу кількість колонок.
Але не всі вони потрібні для представлення даних. Тож я позбудуся їх, видаливши їх під панеллю значень .
Після того, як їх буде видалено, я отримаю чистішу таблицю з лише необхідними даними.
Зверніть увагу, що я все ще можу змінити валюту за допомогою роздільника тут праворуч.
Щоб зробити свою таблицю більш ретельною, я додам усі інші валюти, вимкнувши опцію «Один вибір» .
Це відображатиме мої номери в доларах США, євро та британських фунтах.
Я також бачу тут кілька порожніх місць, які представляють дні, коли немає розпродажів.
Я видалю їх, вимкнувши « Показувати елементи без даних ».
Тепер таблиця містить лише рядки, що представляють дати з розпродажами.
Це дає мені гарне порівняння чисел на основі різних валют.
Підсумки також показують правильні числа, оскільки я використовувавдля повторення кожного рядка.
Це дуже важливо. Якщо ви не використовуєте SUMX , це закінчиться тим, що ви просто додасте всі стовпці, не замислюючись про те, чи використовується правильний курс валюти.
Висновок
Як я вже згадував раніше, це не обов’язково єдиний спосіб усунути відсутні дані. Насправді існує маса інших способів зробити це.
У деяких випадках, наприклад, ви можете використовувати дані з початку місяця та застосовувати те саме число до всієї таблиці курсів валют. Я буду обговорювати ці інші підходи в майбутньому в окремих блогах.
Наразі я скористався цим підходом, оскільки для мене найбільш доцільним є використання останнього зареєстрованого показника. Я вважаю, що це найбільш інтуїтивно зрозумілий варіант.
Ще одну річ, яку я хотів би підкреслити, це необхідність розуміти все з контексту фільтра. Як перезаписати фільтр? Як я можу ввести останні звітні дані? Це допоможе вам зрозуміти, як зрештою отримати правильні цифри.
Все найкраще,
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.
Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.
Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.
У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.
У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.
Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.
Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.
У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.
У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.