|
|
|
SSAS Tabular DAX CROSSFILTER скорость работы без/с фильтрами таблицы с фактами
|
|||
|---|---|---|---|
|
#18+
добрый день! вот эта мера работает быстро EVALUATE ROW ( "MyResult", CALCULATE ( DISTINCTCOUNT ( 'ClientProduct'[Client_ID] ), CROSSFILTER ( 'Fact'[Product_ID], ClientProduct[Product_ID], BOTH ) ) ) а вот эта медленно? та, что выше и не нужна в таком чистом виде, нужно, чтобы считалось не по всей таблице фактов буду признателен, если кто-то сталкивался, или как решал подобные задачи DEFINE VAR HelpTest = CALCULATETABLE ( 'Fact', 'VidOfSum'[VidOfSumID] = 1, 'Fact'[FlagSumValNotNull] = 2, FIRSTDATE ( 'Calendar'[Date] ) ) EVALUATE ROW ( "MyResult", CALCULATE ( CALCULATE ( DISTINCTCOUNT ( 'ClientProduct'[Client_ID] ), CROSSFILTER ( 'Fact'[Product_ID], ClientProduct[Product_ID], BOTH ) ), HelpTest ) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 09:25 |
|
||
|
SSAS Tabular DAX CROSSFILTER скорость работы без/с фильтрами таблицы с фактами
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. могу в синтаксисе ошибаться, но суть понятна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 11:15 |
|
||
|
SSAS Tabular DAX CROSSFILTER скорость работы без/с фильтрами таблицы с фактами
|
|||
|---|---|---|---|
|
#18+
IDVT, вот с этой мерой сравниваю, так по старинке делал EVALUATE ROW ( "MyResults", CALCULATE ( DISTINCTCOUNT ( 'ClientProduct'[Client_ID] ), CALCULATETABLE ( 'Fact', 'VidOfSum'[VidOfSumID] = 1, 'Fact'[FlagSumValNotNull] = 2, FIRSTDATE ( 'Calendar'[Date] ) ) ) ) и проверяю через DAX Studio ваш подход дает лучше результаты, а я упершись в старинку никогда бы не стал писать фильтры просто, как вы к вашему варианту только два калькулейта сделал: внешний фильтрует, потом внутренний кроссит спасибо вам большое-большое!!! сделали мой день!!! с уважением! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 11:42 |
|
||
|
SSAS Tabular DAX CROSSFILTER скорость работы без/с фильтрами таблицы с фактами
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. Фильтр будет оцениваться первым, все выражение будет выполнено именно так: Код: sql 1. 2. 3. а у Вас два расчета (Calculate), отсюда и стоимость не лучшая, все дело в оценке контекста, лучше откажитесь от своей привычки. Об этом есть отлична статью у Руссо на SQLBI.... там же прочтите про оценку фильтра (порядок действий движка). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2017, 12:23 |
|
||
|
|

start [/forum/topic.php?fid=49&fpage=26&tid=1858033]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 363ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...