Я не уверен, возможно ли сделать этот последний аргумент переменной. Вместо этого я бы предложил следующий подход.
Previous Amount Scripted =
<...>
VAR CompareDatesTable =
SWITCH (
TRUE (),
SelectedCompare = "Previous Month",
DATEADD ( 'Date_Dimension'[Date], -1, MONTH ),
SelectedCompare = "Same Month Previous Year",
DATEADD ( 'Date_Dimension'[Date], -1, YEAR)
)
VAR ScriptTypeVar =
SWITCH (
TRUE (),
SelectedMarketShare = "Quantity",
CALCULATE (
SUM ( Scripts_Fact[Pack Quantity] ),
CompareDatesTable
),
<...>
)
<...>
Выше я передаю всю таблицу CompareDatesTable
в функцию CALCULATE
.
Мы используем тот же идентификатор приложения, только для простоты. Существует достаточно головных болей в специальном распределении, что мы не хотим путать кого-либо с, "почему там два приложения по моему телефону?" проблемы.
Я думаю, что это зависит от того, насколько важный данные в Вашем приложении. Если бы данные ценны, я не думаю, что бета-тестеры хотели бы их, подвергание опасности, следовательно имея отдельный AppID имело бы смысл. Конечно, это также означает, что они не протестируют приложение как полностью, любой и любой код "обновления" не будут протестированы.
В моем (Вкусном) случае данные являются просто кэшем delicious.com, таким образом, катастрофическая ошибка в моем коде означала бы, в худшем, загружая все Ваши закладки снова. Таким образом, я склонен использовать тот же AppID для всего.
Я использую оба различных Идентификатора Пакета, чтобы позволить моей тестирующей команде иметь несколько версий приложения установленные, а также различные Отображаемые имена Пакета, таким образом, они могут легко видеть, что используют разработку или бета-сборку и сообщают то число мне, когда проблемы найдены.