Создание мер
Применимо к: SQL Server 2019 и более поздних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium
В этом занятии вы будете создавать меры для включения в модель. Аналогично созданным вами вычисляемым столбцам, мера представляет собой расчет, создаваемый с помощью формулы DAX. Но в отличие от вычисляемых столбцов меры вычисляются на основе выбранного пользователем фильтра. Например, в поле "Метки строк" сводной таблицы добавляется имя определенного столбца или среза. Значение для каждой ячейки в фильтре вычисляется с учетом применимой меры. Меры — это эффективные и гибкие средства вычисления, которые пригодятся почти в любых табличных моделях для динамических расчетов с числовыми данными. Дополнительные сведения см. в статье Меры.
Для создания мер используйте сетку мер. По умолчанию в каждой таблице есть пустая сетка мер. Но меры обычно требуется создавать не для всех таблиц. Сетка мер появляется внизу таблицы в конструкторе моделей, когда открыто представление данных. Чтобы скрыть или отобразить сетку мер для таблицы, откройте меню Таблица и выберите Показать сетку мер.
Чтобы создать меру, щелкните пустую ячейку в сетке мер и введите формулу DAX в строке формул. После нажатия клавиши ВВОД для завершения формулы мера появится в ячейке. Кроме того, можно создать меры с помощью стандартной статистической функции, щелкнув столбец и нажав кнопку "Автосумма" (∑) на панели инструментов. Меры, созданные с помощью функции "Автосумма", появляются в ячейке сетки мер прямо под соответствующим столбцом, но их можно перемещать.
На этом занятии вы создадите меры путем ввода формулы DAX в строке формул и с помощью функции "Автосумма".
Предполагаемое время для завершения этого урока: 30 минут
Предварительные требования
Эта статья является одной из частей руководства по созданию табличных моделей. Эти части следует изучать в предложенном порядке. Прежде чем выполнять задачи в этом разделе, нужно завершить предыдущее занятие: Занятие 5. Создание вычисляемых столбцов.
Создание мер
Создание меры DaysCurrentQuarterToDate в таблице DimDate
В конструкторе моделей щелкните таблицу DimDate.
В сетке мер щелкните верхнюю левую пустую ячейку.
В строке формул введите следующую формулу:
DaysCurrentQuarterToDate:=COUNTROWS( DATESQTD( 'DimDate'[Date]))
В отличие от вычисляемых столбцов для формул мер можно указать имя меры, затем двоеточие и затем выражение формулы.
Обратите внимание, что верхняя левая ячейка теперь содержит имя меры DaysCurrentQuarterToDate, за которым следует результат. На этом этапе не учитывается результат, так как ни один фильтр пользователя не применялся.
Создание меры DaysInCurrentQuarter в таблице DimDate
Пока таблица DimDate активна в конструкторе моделей, щелкните пустую ячейку под созданной мерой в сетке мер.
В строке формул введите следующую формулу:
DaysInCurrentQuarter:=COUNTROWS( DATESBETWEEN( 'DimDate'[Date], STARTOFQUARTER( LASTDATE('DimDate'[Date])), ENDOFQUARTER('DimDate'[Date])))
При создании соотношения между одним неполным периодом и предыдущим периодом формула должна вычислить пропорцию прошедшего периода и сравнить ее с той же пропорцией за предыдущий период. В этом случае [DaysCurrentQuarterToDate]/[DaysInCurrentQuarter] дает пропорцию для текущего периода.
Создание меры InternetDistinctCountSalesOrder в таблице FactInternetSales
Щелкните таблицу FactInternetSales.
Щелкните заголовок столбца SalesOrderNumber.
На панели инструментов щелкните стрелку вниз рядом с кнопкой "Автосумма" (∑) и выберите DistinctCount.
Функция "Автосумма" автоматически создает меру для выбранного столбца с помощью стандартной статистической формулы DistinctCount.
Щелкните новую меру в сетке мер, а затем в поле Имя меры окна Свойства переименуйте эту меру в InternetDistinctCountSalesOrder.
Создание дополнительных мер в таблице FactInternetSales
С помощью функции "Автосумма" создайте и назовите следующие меры:
Столбец Имя меры Автосуммирование (∑) Формула SalesOrderLineNumber InternetOrderLinesCount Count =COUNTA([SalesOrderLineNumber]) OrderQuantity InternetTotalUnits SUM =SUM([OrderQuantity]) DiscountAmount InternetTotalDiscountAmount SUM =SUM([DiscountAmount]) TotalProductCost InternetTotalProductCost SUM =SUM([TotalProductCost]) SalesAmount InternetTotalSales SUM =SUM([SalesAmount]) Маржа InternetTotalMargin SUM =SUM([маржа]) TaxAmt InternetTotalTaxAmt SUM =SUM([TaxAmt]) Freight InternetTotalFreight SUM =SUM([Freight]) Щелкнув пустую ячейку в сетке мер и используя строку формул, создайте следующие настраиваемые меры по порядку:
InternetPreviousQuarterMargin:=CALCULATE([InternetTotalMargin],PREVIOUSQUARTER('DimDate'[Date]))
InternetCurrentQuarterMargin:=TOTALQTD([InternetTotalMargin],'DimDate'[Date])
InternetPreviousQuarterMarginProportionToQTD:=[InternetPreviousQuarterMargin]*([DaysCurrentQuarterToDate]/[DaysInCurrentQuarter])
InternetPreviousQuarterSales:=CALCULATE([InternetTotalSales],PREVIOUSQUARTER('DimDate'[Date]))
InternetCurrentQuarterSales:=TOTALQTD([InternetTotalSales],'DimDate'[Date])
InternetPreviousQuarterSalesProportionToQTD:=[InternetPreviousQuarterSales]*([DaysCurrentQuarterToDate]/[DaysInCurrentQuarter])
Меры, созданные для таблицы FactInternetSales, используются для анализа критически важных финансовых данных, таких как продажи, затраты и маржа прибыли для элементов, определенных выбранным пользователем фильтром.
Теперь, когда вы создали набор мер, взгляните на меры в табличной модели Обозреватель. Вы увидите все новые меры. Щелкните правой кнопкой мыши меру, и вы увидите действия, которые теперь можно выполнить с ней.