Как получить количество строк в таблице визуальных - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь создать визуал карты в Power BI, который отображает оператор "Визуал таблицы пуст" или "Визуал таблицы не пуст".В большинстве случаев я мог написать меру COUNT(SUMMARIZE([Table],[Col1],[Col2])), чтобы оценить количество записей и вернуть результат.

Однако этот визуал содержит столбцы из более чем одной исходной таблицы.Насколько мне известно, COUNT(SUMMARIZE()) не может вместить более одной таблицы.Аналогичным образом, если моя таблица будет отфильтрована в 0 строк с помощью среза, мера не отреагирует на изменение и отобразит неверный результат.

Моя текущая мера:

EmptyTable = IF(COUNT(SUMMARIZE([Table1],[Col1],[Col2]...,[Col9])) = 0
, "Table has no rows", "Table contains rows")

Но какЯ сказал, что этот оператор SUMMARIZE учитывает только одну таблицу, тогда как визуал содержит поля из двух других таблиц.

Есть ли способ подсчета строк в визуальном элементе таблицы с учетом влияния на него срезов?

Пример набора данных: базовое состояние

[Slicer]     [Table Visual]
ID 1 [✓]     ID   Value
ID 2 [✓]     1    10
ID 3 [✓]     2    20
ID 4 [✓]     4    40


[Dax Measure]: "Table Visual Is Not Empty"

Пример набора данных: предпочтительныйКонечное состояние

[Slicer]     [Table Visual]
ID 1 [ ]      ID   Value
ID 2 [ ]     
ID 3 [✓]
ID 4 [ ]     


[Dax Measure]: "Table Visual Is Empty"

Базовое состояние:

Base State

Текущее состояние:

Current state

В таблице 2 должна отображаться «Таблица 2 Визуализация пуста»

Модель данных:

Data model

Формула Дакса, которую я использую:

Table2.Measure = IF(COUNT(Table1[Value])=0 , "Table2 visual is empty", "Table2 visual is not empty")

1 Ответ

1 голос
/ 15 мая 2019

Измените свою меру следующим образом:

Table Is Empty = 
   VAR 
     Visible_Rows_Count = COUNTROWS( VALUES(Table2[ID2]))
   RETURN
     IF(Visible_Rows_Count > 0, "Table is not empty", "Table is empty")

Результат:

enter image description here

enter image description here

Я не могу помочь вам в ситуации, когда у вас есть значения из более чем одной таблицы, потому что невозможно ответить, не зная, что это за вторая таблица и как она связана с другими таблицами.Основная причина:

DAX не может видеть "визуальные эффекты".Он может видеть только базовые данные и фильтры.

Визуалы существуют для вас, человека.Для DAX это только место, где Power BI публикует результаты формулы DAX.Сама формула не имеет понятия «визуальный».Он знает только об исходных данных и соответствующих фильтрах (которые поступают из срезов, строк и столбцов таблицы и других визуальных элементов на странице).

Итак, когда мы говорим «таблица пуста», для вас это означает «таблица визуальная пуста».Для DAX это означает: «после применения всех соответствующих фильтров на странице формула не возвращает записей из модели данных».

Поэтому, чтобы ответить на ваш вопрос, необходимо знать модель данных, формулы DAX и все соответствующие фильтры.

...