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
答案 0 :(得分:0)
创建表变量X1和X2
DISTINCTCOUNT()
返回一个数字,所以您的X1
和X2
变量是数字,因此您的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。