Я использую Power BI для создания отчета, но я делаю очистку данных в R-скрипте в Power Query Editor, потому что я не мог понять, как это сделать в DAX. По какой-то причине новый столбец символов, который я создал, читается как числа, подобно тому, что произойдет, если вы прочитаете факторные уровни как целые числа. Вот некоторые примеры данных.
+-----------+-------------------------+-----------------------------------+
| PatientId | LabTestName | LabTestResult |
+-----------+-------------------------+-----------------------------------+
| 1 | Veritor Rapid Influenza | NEGATIVE TYPE A / NEGATIVE TYPE B |
| 1 | Veritor Rapid Strep | Cancelled |
| 1 | NA | NA |
| 2 | NA | NA |
| 3 | Veritor Rapid Strep | Negative |
| 3 | SARS CoV 2 RNA, RT PCR | NOT DETECTED |
+-----------+-------------------------+-----------------------------------+
Некоторые примеры кода:
x %>%
group_by(PatientId) %>%
mutate(
CoV_Tested = any(!is.na(LabTestName) & str_detect(LabTestName, "CoV")),
CoV_Result = ifelse(
CoV_Tested, unique(LabTestResult[!is.na(LabTestName) & str_detect(LabTestName, "CoV")]), NA
)
) %>%
distinct(PatientId, CoV_Tested, CoV_Result)
В приведенной ниже таблице Power BI читает CoV_Tested как логический, как и ожидалось, но CoV_Result читается как текст.
+-----------+------------+--------------+
| PatientId | CoV_Tested | CoV_Result |
+-----------+------------+--------------+
| 1 | FALSE | <NA> |
| 2 | FALSE | <NA> |
| 3 | TRUE | NOT DETECTED |
+-----------+------------+--------------+
Значение «НЕ ОБНАРУЖЕНО» читается как 4. Я воспроизвел это с моим большим набором данных и этим меньшим примером один. Я также не могу просто сказать Power BI изменить тип данных на «текст», потому что он просто меняет 4 на «4» (ie, меняет цифру c «4» на текст «4»). Я мог бы просто преобразовать столбец в Power BI, чтобы заменить числа фактическим текстом, но этот шаг не требуется, и это будет хлопотно, если будет много уникальных значений.
Любая помощь будет оценена! Спасибо!