Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

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

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

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

Зміст

Наведені дані в таблиці курсів валют

Нижче наведено таблицю фактів, яка є таблицею курсів валют . Він використовує євро як базову валюту.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Він показує дані за січень 2016 року з пов’язаним кросрейтом кожного дня.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

З 1 січня все виглядає добре. Але коли я досягаю 26 числа, наступною датою в наступному рядку стає 29 число.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Це означає, що мені бракує даних за 27 і 28 число .

Зауважте, що деякі можуть віддати перевагу використанню Power Query для вирішення цієї ситуації. Наразі я просто хочу зосередитися на DAX.

Тепер припустімо, що я хочу використовувати 0,920 27 і 28 числа. Це кросрейт, який використовувався 26 числа. Як це зробити за допомогою DAX?

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Хтось може сказати, що це можна легко зробити в Excel. Певною мірою вони можуть бути праві.

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

Я збираюся показати вам усі заходи, які вам потрібно врахувати, а також різні кроки, які я вжив би, щоб закрити будь-які відсутні дані в таблицях курсів валют.

Міра валютного курсу

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

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

У цьому випадку курс валюти просто використовуєфункція.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Оскільки я маю справу з одним курсом валюти на день, легко використовувати такі функції, як SUM ,,, чи щось подібне. Дані, що відображаються в кожному рядку, мали б повний сенс.

Єдина проблема тут полягає в тому, що станеться з Total .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Це показує загальну суму як 26,693, що взагалі не має сенсу. Це буквально просто підсумовування курсів валют за всі дні. Через це мені довелося б знайти спосіб повторювати дні, щоб отримати справжнє Total .

Тож я спробую розв’язати цю проблему на моєму показнику валютної дати .

Поточна дата

Особисто я завжди роблю міру поточної дати , яка приносить будь-яку дату, на якій я перебуваю в контексті поточного фільтра .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Я також віддаю перевагу використанню. У цьому прикладі використання функції MAX дасть мені 1/31 у Total, що було б більш доцільним, оскільки це остання вказана дата.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Остання дата валюти

Моя таблиця також містить дату останньої валюти . Я отримую це, використовуючиі посилання на таблиці FactCurrencyRates і Date .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Хоча це показує функцію LASTDATE , також можна використовувати MAX . Тут використовується та сама передумова, що й у таблиці «Поточна дата» , але вказано конкретний момент часу щодо таблиці «Курси валют» .

Прокручуючи вниз, я бачу, що немає даних за 27 і 28 число місяця.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Щоб вирішити ці відсутні дні, я розповім про стовпець «Дата останньої звітної валюти» .

Дата останньої звітної валюти

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

Оскільки немає даних і за 27, і за 28 число, це означає, що будуть застосовані дані за 26 число.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

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

Оскільки я перебуваю в рядку за 27 число місяця, я хочу видалити будь-які посилання на фільтр і натомість зосередитися на 26-му. Це означає приведенняабооскільки вони дозволяють мені змінювати застосований фільтр. Не плутайте це зфункція, яка може лише додатково обмежити дані.

Отже, ось показник, який я використав для дати останньої звітної валюти . Для цього прикладу я використав CALCULATE .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

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

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

Повертаючись до вимірювання, як мені сказати DAX видалити фільтри для поточної дати та надати мені дату останньої записаної валюти ?

Спочатку я використаю FILTER дляТаблиця (DimDate).

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Функція ALL видаляє застосовані фільтри, відкриваючи для мене таблицю DimDate.

Потім я використовую MIN , щоб повідомити DAX, що я хочу використовувати частину стовпця DimDate, яка дорівнює даті останньої валюти або поточній даті .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Що робити, якщо остання дата валюти та поточна дата не збігаються? Тоді завжди використовуйте дату останньої валюти .

Ось чому між 1/26 і 1/27 мірою буде 1/26. Звідси правильна дата буде застосована до таблиці курсів валют , щоб отримати останній звітний курс валюти .

Останній зареєстрований курс валюти

Дозвольте мені перетягнути останній звітний курс валюти в свою таблицю.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Ви побачите, що 27 і 28 числа тепер використовують 0,9200 як курс валюти , оскільки це той самий курс, що використовувався 26 числа.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Нижче наведено показник, який я використовував для останнього звітного курсу валюти .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

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

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

У цьому прикладі доступ до різних валют можна отримати за допомогою наданого розділювача.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

Що стосується LastReportedDate , то це те саме, що й дата останньої звітної валюти , про яку я говорив раніше.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Для змінної Rate я використавфункція.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Я вводжу Crossrate з таблиці фактів для CurrencyRates .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

Ось чому я також посилаюся на те, що тикер валюти дорівнює Currency Selected .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Я також посилаюся на LastReportedDate .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Конвертовані продажі з використанням останнього звітного курсу порівняно з використанням поточної дати

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

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

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Після застосування цієї міри ви побачите, що ці дві дати залишаться порожніми. Це означає, що в ці дати розпродажів немає .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Також виявляється, що 27 і 28 числа є розпродажі (де раніше не було валютних даних).

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

Цього разу я покажу вам конвертовані продажі з використанням поточної дати.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Цього разу враховується лише поточна дата , а не дата останнього повідомлення .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Коли я поміщаю цей показник у таблицю в інший стовпець, він показує лише порожні місця на 27-му та 28-му.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Якщо конвертовані продажі з використанням останньої звітної дати показують загальну суму понад 4 мільйони, конвертовані продажі з використанням поточної дати показують лише 3,8 мільйонів.

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

Очищення даних

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

Я щойно додав сюди стовпець Formatted Sales , який чітко показує цифри в євро.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Оскільки я пройшов стільки кроків, я накопичив тут чималу кількість колонок.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Але не всі вони потрібні для представлення даних. Тож я позбудуся їх, видаливши їх під панеллю значень .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Після того, як їх буде видалено, я отримаю чистішу таблицю з лише необхідними даними.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Зверніть увагу, що я все ще можу змінити валюту за допомогою роздільника тут праворуч.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Щоб зробити свою таблицю більш ретельною, я додам усі інші валюти, вимкнувши опцію «Один вибір» .

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Це відображатиме мої номери в доларах США, євро та британських фунтах.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

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

Я видалю їх, вимкнувши « Показувати елементи без даних ».

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Тепер таблиця містить лише рядки, що представляють дати з розпродажами.

Таблиця курсів валют – облік відсутніх даних за допомогою DAX

Це дає мені гарне порівняння чисел на основі різних валют.

Підсумки також показують правильні числа, оскільки я використовувавдля повторення кожного рядка.

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




Висновок

Як я вже згадував раніше, це не обов’язково єдиний спосіб усунути відсутні дані. Насправді існує маса інших способів зробити це.

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

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

Ще одну річ, яку я хотів би підкреслити, це необхідність розуміти все з контексту фільтра. Як перезаписати фільтр? Як я можу ввести останні звітні дані? Це допоможе вам зрозуміти, як зрештою отримати правильні цифри.

Все найкраще,


Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.

Вилучення тем і зображень LuckyTemplates із PBIX

Вилучення тем і зображень LuckyTemplates із PBIX

Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Python у LuckyTemplates: як встановити та налаштувати

Python у LuckyTemplates: як встановити та налаштувати

Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

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

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

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

Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.

Вимір сміття: що це таке і чому це щось інше, але не сміття

Вимір сміття: що це таке і чому це щось інше, але не сміття

Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.