我正在Power BI中构建一个报告,我希望比较拥有帐户的个人与积极使用该帐户的个人,但我无法弄清楚我需要的DAX查询,或者至少我没有正确的语法。
我有两个表 - 一个包含订阅数据(用户,applicationID,开始日期,结束日期),另一个包含使用数据(用户,applicationID,使用日期)
我需要具有特定applicationID但尚未使用它的用户子集(在过滤器设置的时间范围内,以及applicationID的另一个过滤器)
我想我需要一些Except的组合(评估(if(用户和应用程序)),(用户有用))但我无法正确使用语法。当我尝试引用表格/列时,列名称显示为灰色,因此公式不会返回任何结果。
这是我正在使用的整个数据集的简化模型,但我有一个包含用户订阅数据的表和一个包含使用数据的表:
订阅数据: Subscriptiondata 使用数据: Usagedata 加入它们的字段是: 订阅" Sub_User_TIMSS_id" =用法" app_user" 订阅" mti_role_name" = Usage" app_name"
用法表指示特定用户每次访问特定应用程序
此报告的最终目标是识别订阅应用但未在指定时间段内使用该应用的个人。
满足此需求的MySQL查询示例是针对一个特定的应用程序:
SELECT Subscription_App.Sub_User_TIMSS_id,
Subscription_App.App_id,
Subscription_App.Sub_Start_Date,
Subscription_App.Sub_End_Date,
Subscription_App.mti_role_name
FROM MTI.Subscription_App Subscription_App
WHERE (Subscription_App.mti_role_name = 'ForeignTrade')
AND (Subscription_App.Sub_User_TIMSS_id NOT IN
(
SELECT app_usage.app_user
FROM `usage`.app_usage app_usage
WHERE (app_usage.app_name = 'ForeignTrade')
))
但是,我不能简单地在Power BI中使用查询作为我的数据源,因为我希望报表的用户能够指定应用程序和时间范围 - 过滤器将指示查询而不是指定应用程序名称的查询本身(在上面的示例中,查询将表示用户是否选择了应用程序名称外贸和过滤器中的所有时间)。有人可能在过去一年内使用过该应用程序但未在上个月内使用该应用程序 - 或者他们可能使用过一个应用程序而不是另一个应用程序,因此最终结果需要考虑到这一点。
我在DAX中没有足够的经验来弄清楚如何实现这一目标。