В DAX пустые строки делают использование ISONORAFTER бесполезным - PullRequest
0 голосов
/ 21 сентября 2018

У меня возникла проблема при использовании функции ISONORAFTER.Столбцы, которые я использую для условий фильтрации в ISONORAFTER, могут иметь пробелы.С условием фильтрации вокруг значения BLANK функция ISONORAFTER, похоже, не оказывает влияния.

При следующем запросе я получаю первые 10 строк с пустыми значениями, заполненными в «Городе поставщика»:

DEFINE 
VAR __ExpressionForLazyLoadingFirstBatch =
TOPN (
10,
SUMMARIZECOLUMNS (
'Spend'[Vendor City],
'Spend'[Vendor Number],
"Amount in Group Currency", [Amount in Group Currency]
),
--[Amount in Group Currency], DESC,
'Spend'[Vendor City], ASC, 
'Spend'[Vendor Number], ASC
)
EVALUATE
SELECTCOLUMNS (
__ExpressionForLazyLoadingFirstBatch,
"Vendor City", 'Spend'[Vendor City],
"Vendor Number", 'Spend'[Vendor Number],
"Amount in Group Currency", [Amount in Group Currency]
)
ORDER BY
[Vendor City] ASC,
[Vendor Number] ASC

Ниже приведен результат вышеприведенного запроса:

[город поставщика] [номер поставщика] [сумма в валюте группы]

              0008000260    47.14
              0008000280    4837986.1
              0008000320    1708206.61
              0008000325    4218.52
              0008000326    17105.47
              0008000327    48805092.15
              0008000328    1484802.63
              0008000330    210891.5
              0008000331    5210.53
              0008000335    4969431.04

Теперь, используя последнюю строку этого вывода, я хочуопубликовать следующие 10 строк в соответствии с запросом DAX.Ниже приведен запрос, который я написал для достижения этого:

DEFINE
VAR __ExpressionForLazyLoadingNextBatch =
TOPN (
10,
FILTER (
KEEPFILTERS (
SUMMARIZECOLUMNS (
'Spend'[Vendor City],
'Spend'[Vendor Number],
"Amount in Group Currency", [Amount in Group Currency]
)
),
ISONORAFTER (
'Spend'[Vendor City], BLANK(), ASC,
'Spend'[Vendor Number], "0008000335", ASC 
)
),
'Spend'[Vendor City], ASC, 
'Spend'[Vendor Number], ASC
)
EVALUATE
SELECTCOLUMNS (
__ExpressionForLazyLoadingNextBatch,
"Vendor City", 'Spend'[Vendor City],
"Vendor Number", 'Spend'[Vendor Number],
"Amount in Group Currency", [Amount in Group Currency]
)
ORDER BY
[Vendor City] ASC, 
[Vendor Number] ASC

Но результат вышеупомянутого запроса ничем не отличается от предыдущего:

[Город поставщика] [Номер поставщика] [Суммав валюте группы]

              0008000260             47.14
              0008000280        4837986.1
              0008000320        1708206.61
              0008000325           4218.52
              0008000326          17105.47
              0008000327       48805092.15
              0008000328        1484802.63
              0008000330         210891.5
              0008000331           5210.53
              0008000335        4969431.04

Однако, когда у меня есть действительные повторяющиеся значения в "Городе продавца", т.е. у меня есть "Нью-Йорк", заполненный во всех строках, второй запрос все еще может предоставить мне следующие 10ряды.

Пожалуйста, помогите мне решить эту проблему.

Спасибо и С уважением, Шрея Каушик

...