Уважаемые слушатели! Обращаем ваше внимание, что 01.05.2024 и 09.05.2024 у нас выходные дни. Вы можете оставить сообщение в чате, мы обязательно ответим!

Корзина

Корзина

Частным лицам +7 (495) 232-32-16

Слушателям
от организации
+7 (495) 780-48-44

+7 (495) 780-48-49

Частным лицам +7 (495) 232-32-16

Слушателям
от организации
+7 (495) 780-48-44

+7 (495) 780-48-49

Используйте функции Excel и VBA в MDX-запросах

Самородов Федор Анатольевич: Используйте функции Excel и VBA в MDX-запросах

СФА

А вы знаете, что из MDX-запроса можно вызывать экселевские (и ВБА) функции? Да, это то самое чувство, когда вы легко можете добиться желаемого результата в Экселе, а вот в MDX...

Попробуйте обратиться к внешним функциям через префикс Excel! или VBA!. Вот так:

Используйте функции Excel и VBA в MDX-запросах

Студия подчёркивает вызов функции Format красным - это ошибка? Ведь такой функции нет в языке MDX! Верно, нет. Но зато она есть в VBA.

Обращаться к функциям VBA можно либо через приставку "VBA!", либо через "VBAMDX.", а можно и вообще без префикса:

Используйте функции Excel и VBA в MDX-запросах

А ещё вы можете аналогичным образом задействовать функции Excel. Вот так:

Используйте функции Excel и VBA в MDX-запросах

Однако, прежде чем использовать такой "ход конём", примите во внимание три вещи.

Во-первых, вам доступны не все функции, а только те, использование которых в контексте MDX-запроса не противоречит здравому смыслу. Из всего богатства ВБА можете использовать вот эти девяносто функций:

  • Abs
  • Asc
  • AscW
  • Atn
  • CBool
  • CByte
  • CCur
  • CDate
  • CDbl
  • CDec
  • Choose
  • Chr
  • CInt
  • CLng
  • Cos
  • CSng
  • CStr
  • CVar
  • Date
  • DateAdd
  • DateDiff
  • DatePart
  • DateSerial
  • DateValue
  • Day
  • DDB
  • Exp
  • Fix
  • Format
  • FV
  • Hex
  • Hour
  • Iif
  • InStr
  • Int
  • IPmt
  • IRR
  • IsArray
  • IsDate
  • IsEmpty
  • IsError
  • IsMissing
  • IsNull
  • IsNumeric
  • LCase
  • Left
  • Len
  • Log
  • LTrim
  • Mid
  • Minute
  • MIRR
  • Month
  • Now
  • NPer
  • NPV
  • Oct
  • Partition
  • Pmt
  • PPmt
  • PV
  • QBColor
  • Rate
  • RGB
  • Right
  • Rnd
  • Round
  • RTrim
  • Second
  • Sgn
  • Sin
  • SLN
  • Space
  • Sqr
  • Str
  • StrComp
  • StrConv
  • String
  • Switch
  • SYD
  • Tan
  • Timer
  • TimeSerial
  • TimeValue
  • Trim
  • TypeName
  • UCase
  • Val
  • Weekday
  • Year

Во-вторых, учтите, что если вам понадобятся функции из Экселя, то вам придётся установить сам эксель на машину с аналитическим сервером (следите за совпадением битности). И, кстати, экселевские функции также доступны далеко не все.

Используйте функции Excel и VBA в MDX-запросах

И в-третьих, не ждите от этого механизма высокой производительности. Если требуется высокомасштабируемое решение, то применять функции VBA и Excel следует с осторожностью.

Подробнее об этом вы сможете узнать на курсе: М50578A: Язык запросов MDX для аналитических служб SQL Server (OLAP)

envelope

Спасибо! Вам на e-mail отправлено письмо со ссылкой для подтверждения

Если письмо не пришло, поищите его в папке со спамом или повторите подписку

email-checked.png

Вы подписались на рассылку

Спасибо за обращение! Ваш менеджер свяжется с Вами в течение нескольких минут.