Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
Сегодня я хочу поговорить о таблицах в LuckyTemplates. Мы постоянно сталкиваемся с таблицами при каждой проблеме, но на самом деле мы не тратим много времени на размышления только о них. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Недавно был опубликован пост от участника LuckyTemplates Эштона, который всегда задает хорошие, наводящие на размышления вопросы. Его вопрос заставил меня задуматься о шаблоне, который я вижу довольно часто и хочу рассмотреть в этом уроке.
Это не было ошибкой, которую он совершил, но это обычная ошибка. Я много раз видел, как люди говорили, что у них проблемы с виртуальным столом, например, когда это не виртуальный стол.
Существует реальное различие между типами таблиц в LuckyTemplates.
Я бы привел аналогию, если бы кто-то сказал: «Эй, я недавно взял собаку, и у меня проблемы с собакой, и я хотел бы узнать, можете ли вы помочь», и это не собака, а волк. Они оба собаки, но есть некоторые довольно большие различия, которые вы должны принять во внимание.
Таким образом, хотя все они относятся к одному семейству, как и таблицы в LuckyTemplates, они являются важными отличиями, которые действительно влияют на решение и то, как вы используете эти таблицы. Итак, что я хотел сделать, так это вернуться к вопросу Эштона, а затем немного углубиться в различия между таблицами, которые вы найдете в LuckyTemplates, и показать, как это влияет на то, как вы с ними работаете.
Вопрос был довольно простым, но в нем немного больше, чем кажется на первый взгляд. У него был простой набор данных, в котором были только клиенты, тип фруктов, которые они купили, количество, а затем просто порядковый номер.
Он хотел иметь слайсер с возможностью множественного выбора , чтобы, если вы выберете, скажем, апельсин, он вытащил бы всех клиентов, которые купили апельсины, но также показывал бы, что еще они купили.
Итак, если мы отключим этот выбор (оранжевый), мы сможем увидеть полный набор данных. Мы также можем видеть, что это два клиента (Джо и Мэри), которые купили апельсины, но у каждого из них была дополнительная покупка.
Итак, первое, что мы знаем о том, что фруктовый слайсер должен быть отключенным столом слайсера. Если бы это был обычный слайсер, вы бы нажали на апельсин, и он практически удалил бы все, кроме апельсина, со стола. Мы также знаем, что из-за динамизма у нас возникла проблема с виртуальной таблицей.
Итак, давайте немного углубимся в это, но прежде чем мы это сделаем, давайте взглянем на различные типы таблиц, которые мы находим в LuckyTemplates.
Оглавление
Три типа таблиц в LuckyTemplates
Мы регулярно находим три типа таблиц. Первый из них является наиболее распространенным, это физическая таблица, и это действительно ваши первичные данные. Всякий раз, когда вы выполняете «Получить данные» или «Вводите данные» напрямую с помощью этой опции или в Power Query , вы выполняете «Ссылка» или «Дублировать» или загружаете данные через пустой запрос, например таблицу «Дата», которая является физической таблицей.
Физическая таблица не является полностью динамической, но у нее есть все другие характеристики, которые увеличивают размер файла, потому что это физические данные. Он доступен в Power Query. Обычно отношения в модели данных строятся через физические отношения. Они не должны быть, но они обычно есть. Они используются для первичных данных, и вы визуализируете их либо с помощью представления данных, либо с помощью Power Query.
Физическая таблица не является полностью динамической, но у нее есть все другие характеристики, которые увеличивают размер файла, потому что это физические данные. Он доступен в Power Query. Обычно отношения в модели данных строятся через физические отношения. Они не должны быть, но они обычно есть. Они используются для первичных данных, и вы визуализируете их либо с помощью представления данных, либо с помощью Power Query.
Та, которую часто путают с виртуальной таблицей, — это вычисляемая таблица или то, что мы также можем назвать таблицей выражений DAX. Это имеет прямую аналогию с вычисляемыми столбцами, которые создаются с помощью выражений DAX . Это делается с помощью вкладки «Моделирование» и параметра «Новая таблица», а затем вы вводите выражение DAX.
Та, которую часто путают с виртуальной таблицей, — это вычисляемая таблица или то, что мы также можем назвать таблицей выражений DAX. Это имеет прямую аналогию с вычисляемыми столбцами, которые создаются с помощью выражений DAX. Это делается с помощью вкладки «Моделирование» и параметра «Новая таблица», а затем вы вводите выражение DAX.
Как видно из сравнительной таблицы ниже, расчетная таблица сильно отличается по профилю от физической или виртуальной таблицы. Он не полностью динамичен.
Его необходимо обновить, чтобы получить новую информацию. Это увеличивает физический размер файла. В отличие от обычной физической таблицы, она недоступна в Power Query. Точно так же, как вычисляемый столбец не отображается в Power Query, вычисляемая таблица тоже не отображается. Но он обладает другими аспектами физической таблицы.
Как правило, вычисляемые таблицы используются для вспомогательных таблиц и чаще используются для отладки. Сейчас есть более совершенные инструменты, такие как DAX Studio и Tabular Editor, поэтому они используются для этого не так часто. Вы просматриваете эту таблицу через представление данных.
И, честно говоря, как и в случае с вычисляемыми столбцами, от этого следует держаться подальше. Есть лучшие способы делать вещи, чем с помощью вычисляемых таблиц.
И тогда аналогией мер являются настоящие виртуальные таблицы . Они создаются в контексте мер с помощью кода меры DAX. Они полностью динамические, в отличие от двух других типов таблиц. Они не увеличивают размер файла, потому что они доступны по запросу. Как и меры, виртуальные таблицы рассчитываются по запросу в памяти и используются в тех контекстах, для которых они необходимы.
Они недоступны в Power Query. Вы не можете положить физические отношения на них. Если вы связываете их в своей модели данных, вы делаете это с помощью виртуальных отношений, чаще всего с помощью .
Виртуальные таблицы используются для промежуточных вычислений в мерах, поскольку мера не может возвращать табличное значение и должна возвращать скалярное значение. Таким образом, вы обычно используете их в качестве промежуточных вычислений, на основе которых вы создаете свои шкалы, которые являются результирующим продуктом вашей меры.
Вы можете визуализировать эти таблицы в таких инструментах, как DAX Studio, Tabular Editor или New Table, что опять же, вероятно, является наименее желательным способом, поскольку он загромождает вашу модель данных кучей дополнительных таблиц, если вы не удалите это.
Решение для измерения DAX для виртуальной таблицы
Возвращаясь к вопросу Эштона, взглянув на таблицу, мы можем сказать, что она динамическая. Мы также можем сделать несколько вариантов, и это полностью меняется на лету. И поэтому мы знаем, что это виртуальная таблица, потому что две другие (физическая и вычисляемая таблицы) не являются полностью динамическими. Мы также знаем, что это отсоединенная таблица, как я упоминал в начале.
Я использовал концепцию резиновой уточки, чтобы решить эту проблему. В предыдущем уроке я говорил об этой концепции резинового уклонения, которая разрабатывает концептуальное решение проблемы, прежде чем вы начнете копаться в конкретном DAX.
Итак, для решения с резиновой уткой здесь я в основном собрал этот отсоединенный стол для нарезки. Затем я собрал ценность этих слайсеров. Затем я придумал виртуальную таблицу, которая фильтровала клиентов по тем, кто купил выборки в отключенной таблице.
Затем я взял этот список клиентов и отфильтровал наши исходные данные, установленные этими клиентами, чтобы найти клиентов и покупки, сделанные этими клиентами, в дополнение к значению среза.
Давайте взглянем на конкретную меру, чтобы увидеть, как это работает, и некоторые соображения, которые вы должны учитывать при работе с виртуальными столами.
Первым делом нужно было разработать две меры сбора урожая для наших ценностей. Первый из них является значением отключенного слайсера.
Поскольку в требовании у нас был множественный выбор, это означало, что мы не могли просто использовать . Итак, что я сделал, так это использовал функцию , чтобы потенциально захватить один или несколько вариантов выбора в этом отключенном слайсере. Для клиентов, поскольку у нас будет по одному клиенту в каждой оцениваемой строке, мы можем использовать SELECTEDVALUE.
Следующее, что я сделал, это переменная виртуальной таблицы ( VAR Buyers ), которая начинается с . Затем он переходит к фильтрации клиентов по тому, совершили ли они покупку фруктов, которая была в наших значениях отключенного слайсера.
Мы можем проверить это, выполнив запрос DAX. Мы можем сделать это либо в DAX Studio, либо в табличном редакторе. Итак, давайте возьмем нашу меру виртуальной таблицы, скопируем ее в табличный редактор. Мы позаботимся о том, чтобы он давал нам значения, которые мы ожидаем увидеть, а именно Джо и Мэри.
Запросы DAX всегда возвращают таблицы и всегда начинаются с EVALUATE, поэтому мы добавляем сюда EVALUATE. Однако в результате мы ничего не получаем. Это связано с тем, что выбранная переменная урожая отключенных фруктов ( SelDisconnFruit ) не знает о слайсере. Это вне контекста.
Таким образом, способ проверить это — искусственно установить значение слайсера. Здесь мы заменим SelDisconnFruit небольшой таблицей. Введите Orange (значение этого слайсера) между волнистыми скобками . И теперь мы получаем здесь результат, а именно Джо и Мэри. При этом виртуальный стол работает именно так, как мы и предполагали.
Итак, теперь мы можем вернуться к нашему выражению меры. Одна из сложностей, связанных с виртуальными таблицами, заключается в том, что их легко создавать в рамках меры . Но вы не можете вернуть виртуальную таблицу как результат измерения . Итак, нам нужно вернуть скаляр, но это отражает соответствующий аспект виртуальной таблицы.
Итак, у нас есть виртуальная таблица, которая сообщает нам, какие клиенты купили фрукты, которые были в слайсере стоимости. Мы можем настроить другую переменную ( VAR BuyerIn ), которая говорит, что если выбранный клиент был в таблице этого покупателя, то он получает единицу . А если нет, то получает ноль .
Затем мы берем результаты и помещаем их в панель фильтров. Мы говорим, что ключевой показатель покупателей — один, и это будут клиенты, которые купили, в данном случае, апельсины.
Таким образом, мы фильтруем нашу исходную таблицу данных до правильных записей. Вы можете видеть, что теперь он создает эту виртуальную таблицу и правильно выполняет фильтрацию на основе каждого выбора.
Виртуальные таблицы внутри повторяющихся функций в LuckyTemplates — концепции DAX
Создание виртуальных отношений в LuckyTemplates с использованием функции TREATAS
Как использовать функцию DAX COUNTROWS в виртуальных таблицах
Заключение
Это основная часть того, что я хотел осветить сегодня. Это довольно простой пример виртуальной таблицы, но с акцентом на разницу между физическими таблицами, вычисляемыми таблицами и виртуальными таблицами.
Есть много интересных вопросов, которые нужно рассмотреть в отношении виртуальных таблиц, особенно при отладке показателей виртуальных таблиц. Это то, к чему я вернусь в течение следующих нескольких недель, но пока это все в этом руководстве.
Ваше здоровье!
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать