有什么办法可以将我的mysql查询转换为power bi dax?

时间:2019-07-16 06:58:57

标签: powerbi dax

Select col1,'EOI' as col4,col2  from (
Select 'EOI' as col1,count(drmca_epcsubcontdtls_fk) as col2 from drmaincontanalytics_tbl where drmca_l1evnttype=1
union 
select 'EOI' as col1,count( drsubcontanalytics_pk) as col2 from drsubcontanalytics_tbl where drsca_l2evnttyp=1
)

我需要在dax中实现此查询

我尝试过这种方法,但是我不知道如何在x1和x2中进行合并

MEOI_TENDSTATUS =
VAR X1 =
CALCULATE (
    DISTINCTCOUNT ( drmaincontanalytics_tbl[drmca_epcsubcontdtls_fk] ),
    drmaincontanalytics_tbl[drmca_l1evnttype] = 1,
    drmaincontanalytics_tbl[drmca_tendstatus] = 5
)
VAR X2 =
CALCULATE (
    DISTINCTCOUNT ( drsubcontanalytics_tbl[drsca_epcsubcontdtls_fk] ),
    drsubcontanalytics_tbl[drsca_l2evnttyp] = 1,
    drsubcontanalytics_tbl[drsca_tendstatus] = 5
)
RETURN
X1 + X2

1 个答案:

答案 0 :(得分:0)

创建表变量X1和X2

DISTINCTCOUNT()返回一个数字,所以您的X1X2变量是数字,因此您的X1 + X2计算将为您提供总和。

您可以使用FILTER()返回表,例如:

VAR X1 = FILTER(drmaincontanalytics_tbl, drmaincontanalytics_tbl[drmca_l1evnttype] = 1)

这将返回整个表以及应用的过滤器。如果要返回一列表,可以将其包装在SELECTCOLUMNS()函数中。

在表变量中添加UNION()

DAX中有一个UNION()函数,可用于复制等效的SQL。它以表函数为参数。正确定义表变量后,就可以像这样追加它们:

VAR X1 = SELECTCOLUMNS(FILTER())
VAR X2 = SELECTCOLUMNS(FILTER())
RETURN

UNION(X1, X2)

最后,如果要返回可在数据模型中使用的表,请确保通过“新建表”选项而不是“新建列”或“新度量”来创建该表。 / p>

或者,如果导航到“源”步骤的“高级选项”,则可以在查询视图的源中直接编写SQL。