加载 base64 编码字段
Load base64 encoded field
我正在从 Microsoft CRM 读取数据库。那很好用。我需要从数据库 (annotationbase) 中读取注释字段。就像这个截图:
我加载我需要的信息的代码:
LIB CONNECT TO 'CRM';
LOAD someuninterestingfield1,
someuninterestingfield2,
someuninterestingfield3,
someuninterestingfield4,
someuninterestingfield5,
someuninterestingfield6,
BASE64ENCODEDFIELDINEED;
SQL SELECT someuninterestingfield1,
someuninterestingfield2,
someuninterestingfield3,
someuninterestingfield4,
someuninterestingfield5,
someuninterestingfield6,
BASE64ENCODEDFIELDINEED
FROM "CRM_DATABASE".usr.AnnotationBase;
BASE64ENCODEDFIELDINEED 有一个 base64 编码的 xml 文件,我需要进行分析。
我不知道(在 Qlik Sense 中加载时或加载后我找不到任何关于解码数据的信息)如何解码内容以最终接收我的 xml-数据。
我正在使用 Qlik Sense 3.0 和 MS CRM 2015(内部部署)。
有人可以帮助我吗?
此致
您只需要解码 Base64 字符串。
A quick search in Google suggests TSQL 看起来像这样:
cast(” as xml).value(‘xs:base64Binary(sql:variable("@source"))’, ‘varchar(max)’)
虽然显然 QilkSense 已经为此内置了函数,例如 utility.custom_decrypt
或 byte.decode(base64_encoded_private_key)
。
我找到了解决方案:
演员是正确的方向,但不是詹姆斯伍德所说的方式。
SQL-对 Cast 函数有很大帮助,问题是您需要进行强制转换(先转换为二进制再转换为 char):
SQL SELECT CAST( CAST( "BASE64ENCODEDFIELDINEED" as XML ).value('.','varbinary(max)') AS varchar(max) ) as decodedField
我项目的另一部分是将 decodedField 解释为 XML-File。 Qlik Sense 中有一个名为 From_Field 的函数(当然是 + Load),使用 Qlik 中的 xmlsimple 解析结果:
LOAD * From_Field(<TABLEYOUNEEDTOLOADFROM>, decodedField)(xmlsimple, table is [<TABLEINYOURXMLFILE>]);
我希望这对遇到完全相同问题的人有所帮助,因为我认为这里的 Qlik Sense 开发人员并不像您想象的那么多。
最诚挚的问候
我正在从 Microsoft CRM 读取数据库。那很好用。我需要从数据库 (annotationbase) 中读取注释字段。就像这个截图:
我加载我需要的信息的代码:
LIB CONNECT TO 'CRM';
LOAD someuninterestingfield1,
someuninterestingfield2,
someuninterestingfield3,
someuninterestingfield4,
someuninterestingfield5,
someuninterestingfield6,
BASE64ENCODEDFIELDINEED;
SQL SELECT someuninterestingfield1,
someuninterestingfield2,
someuninterestingfield3,
someuninterestingfield4,
someuninterestingfield5,
someuninterestingfield6,
BASE64ENCODEDFIELDINEED
FROM "CRM_DATABASE".usr.AnnotationBase;
BASE64ENCODEDFIELDINEED 有一个 base64 编码的 xml 文件,我需要进行分析。 我不知道(在 Qlik Sense 中加载时或加载后我找不到任何关于解码数据的信息)如何解码内容以最终接收我的 xml-数据。 我正在使用 Qlik Sense 3.0 和 MS CRM 2015(内部部署)。
有人可以帮助我吗?
此致
您只需要解码 Base64 字符串。
A quick search in Google suggests TSQL 看起来像这样:
cast(” as xml).value(‘xs:base64Binary(sql:variable("@source"))’, ‘varchar(max)’)
虽然显然 QilkSense 已经为此内置了函数,例如 utility.custom_decrypt
或 byte.decode(base64_encoded_private_key)
。
我找到了解决方案: 演员是正确的方向,但不是詹姆斯伍德所说的方式。
SQL-对 Cast 函数有很大帮助,问题是您需要进行强制转换(先转换为二进制再转换为 char):
SQL SELECT CAST( CAST( "BASE64ENCODEDFIELDINEED" as XML ).value('.','varbinary(max)') AS varchar(max) ) as decodedField
我项目的另一部分是将 decodedField 解释为 XML-File。 Qlik Sense 中有一个名为 From_Field 的函数(当然是 + Load),使用 Qlik 中的 xmlsimple 解析结果:
LOAD * From_Field(<TABLEYOUNEEDTOLOADFROM>, decodedField)(xmlsimple, table is [<TABLEINYOURXMLFILE>]);
我希望这对遇到完全相同问题的人有所帮助,因为我认为这里的 Qlik Sense 开发人员并不像您想象的那么多。
最诚挚的问候