将此 Tableau 计算转换为 DAX PBI 衡量标准

问题描述 投票:0回答:1

我有这个 Tableau 计算:

if [wlb_metric_name]='Count at Shift End'
and date([Interval_end_Datetime_ET]) = [Shift End Time]
and date([Shift Start Datetime])= [Overnight Shift Start Date]
and [Date] = Date([Interval_Start_Datetime_ET])
and [Date] = [Shift End Time]
then [wlb_metric_value] else 0 end
)/
COUNT(
if [wlb_metric_name]='Count at Shift End'
and date([Interval_end_Datetime_ET]) = [Shift End Time]
and date([Shift Start Datetime])= [Overnight Shift Start Date]
and [Date] = Date([Interval_Start_Datetime_ET])
and [Date] = [Shift End Time]
then [wlb_metric_value] else null end
),0) 

我需要将其转换为 PBI Dax 度量。这是我尝试过的代码,但显然它是不正确的

IF(
    ISBLANK(SUMX(
        FILTER(
            'Workload Balancing Fact',
            [wlb_metric_name] = "Count at Shift End"
                && [Interval_end_Datetime_ET].[Date] = [Shift End Time]
                && [Shift Start Datetime].[Date] = [Overnight Shift Start Date]
                && [Date] = [Interval_Start_Datetime_ET].[Date]
                && [Date] = [Overnight Shift Start Date].[Date]
        ),
        [wlb_metric_value]
    ) / COUNTX(
        FILTER(
            'Workload Balancing Fact',
            [wlb_metric_name] = "Count at Shift End"
                && [Interval_end_Datetime_ET].[Date] = [Shift End Time]
                && [Shift Start Datetime].[Date] = [Overnight Shift Start Date]
                && [Date] = [Interval_Start_Datetime_ET].[Date]
                && [Date] = [Overnight Shift Start Date]
        ),
        [wlb_metric_value]
    )),
    0,
    SUMX(
        FILTER(
            'Workload Balancing Fact',
            [wlb_metric_name] = "Count at Shift End"
                && [Interval_end_Datetime_ET].[Date] = [Shift End Time]
                && [Shift Start Datetime].[Date] = [Overnight Shift Start Date]
                && [Date] = [Interval_Start_Datetime_ET].[Date]
                && [Date] = [Overnight Shift Start Date]
        ),
        [wlb_metric_value]
    ) / COUNTX(
        FILTER(
            'Workload Balancing Fact',
            [wlb_metric_name] = "Count at Shift End"
                && [Interval_end_Datetime_ET].[Date] = [Shift End Time]
                && [Shift Start Datetime].[Date] = [Overnight Shift Start Date]
                && [Date] = [Interval_Start_Datetime_ET].[Date]
                && [Date] = [Shift End Time]
        ),
        [wlb_metric_value]
    )
)

我一直在绞尽脑汁地思考我在哪里计算错误。我没有收到错误,这在技术上更糟糕。请帮忙!

powerbi dax tableau-api measure
1个回答
0
投票

不要使用

.[Date]
(日期层次结构) - 所以尝试忽略这些。

这是您的表达式的清理版本:

Your Measure = 
  var factFilter = FILTER(
    'Workload Balancing Fact',
    [wlb_metric_name] = "Count at Shift End"
        && [Interval_end_Datetime_ET] = [Shift End Time]
        && [Shift Start Datetime] = [Overnight Shift Start Date]
        && [Date] = [Interval_Start_Datetime_ET]
        && [Date] = [Shift End Time]
  )
  var sumValue = SUMX(factFilter, [wlb_metric_value])
  var cntValue = COUNTX(factFilter, [wlb_metric_value])

  RETURN DIVIDE(sumValue, cntValue, 0)
© www.soinside.com 2019 - 2024. All rights reserved.