ਪਾਵਰ BI ਜਾਂ ਆਪਰੇਟਰ ਗਲਤੀ ਨੂੰ ਸਮਝਣਾ
ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ ਪਾਵਰ ਬੀ.ਆਈ, ਅਚਾਨਕ ਤਰੁੱਟੀਆਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਆਮ ਗੱਲ ਹੈ, ਖਾਸ ਕਰਕੇ ਗੁੰਝਲਦਾਰ ਲਾਜ਼ੀਕਲ ਓਪਰੇਸ਼ਨਾਂ ਦੇ ਨਾਲ। ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਅਜਿਹਾ ਇੱਕ ਮੁੱਦਾ ਪੈਦਾ ਹੁੰਦਾ ਹੈ ਜਾਂ ਆਪਰੇਟਰ ਇੱਕ DAX ਫਾਰਮੂਲੇ ਵਿੱਚ। ਇਸ ਨਾਲ ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ ਜਿਵੇਂ ਕਿ "ਟਾਈਪ ਟੈਕਸਟ ਦੇ ਮੁੱਲ 'FOULS COMMITTED' ਨੂੰ True/False ਵਿੱਚ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"
ਇਹ ਗਲਤੀ ਇਸ ਲਈ ਵਾਪਰਦੀ ਹੈ ਕਿਉਂਕਿ ਜਾਂ ਆਪਰੇਟਰ ਬੂਲੀਅਨ (ਸੱਚ/ਗਲਤ) ਮੁੱਲਾਂ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ, ਪਰ ਇਸਦੀ ਬਜਾਏ, "FOULS COMMITTED" ਵਰਗਾ ਇੱਕ ਟੈਕਸਟ ਮੁੱਲ ਪਾਸ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ। ਇਹ ਨਿਰਾਸ਼ਾਜਨਕ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਖੇਡ ਵਿਸ਼ਲੇਸ਼ਣ ਵਰਗੇ ਗੁੰਝਲਦਾਰ ਡੇਟਾਸੈਟਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ ਜਿੱਥੇ ਵੱਖ-ਵੱਖ ਮੈਟ੍ਰਿਕਸ ਦੀ ਤੁਲਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਇਸ ਮੁੱਦੇ ਦਾ ਮੂਲ ਕਾਰਨ ਅਕਸਰ ਫਾਰਮੂਲਾ ਬਣਤਰ ਵਿੱਚ ਪਿਆ ਹੁੰਦਾ ਹੈ। ਖਾਸ ਤੌਰ 'ਤੇ, ਕੋਡ ਬੂਲੀਅਨ ਮੁੱਲਾਂ ਲਈ ਤਿਆਰ ਕੀਤੇ ਗਏ ਲਾਜ਼ੀਕਲ ਓਪਰੇਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਟੈਕਸਟ-ਅਧਾਰਿਤ ਖੇਤਰਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ। ਆਪਣੇ ਫਾਰਮੂਲੇ ਦੇ ਤਰਕ ਨੂੰ ਅਨੁਕੂਲ ਕਰਨ ਨਾਲ ਤੁਹਾਨੂੰ ਇਸ ਤੋਂ ਬਚਣ ਵਿੱਚ ਮਦਦ ਮਿਲ ਸਕਦੀ ਹੈ।
ਅਗਲੇ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਇਸ ਨੂੰ ਤੋੜਾਂਗੇ ਕਿ ਤੁਸੀਂ ਇਸ ਗਲਤੀ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣ ਲਈ ਆਪਣੇ DAX ਕੋਡ ਨੂੰ ਕਿਵੇਂ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਯਕੀਨੀ ਬਣਾ ਕੇ ਕਿ ਜਾਂ ਆਪਰੇਟਰ ਸਹੀ ਡਾਟਾ ਕਿਸਮਾਂ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ, ਤੁਸੀਂ ਗਲਤੀ ਨੂੰ ਠੀਕ ਕਰਨ ਅਤੇ ਸਹੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਯੋਗ ਹੋਵੋਗੇ ਦਰਜਾਬੰਦੀ ਪਾਵਰ BI ਵਿੱਚ.
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
ਰੈਂਕਐਕਸ | ਇਹ ਫੰਕਸ਼ਨ ਇੱਕ ਸਾਰਣੀ ਦੇ ਅੰਦਰ ਇੱਕ ਖਾਸ ਮੁੱਲ ਦੀ ਰੈਂਕਿੰਗ ਵਾਪਸ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਉਦਾਹਰਨ ਵਿੱਚ, ਇਹ ਵਿੱਚ ਮੁੱਲਾਂ ਨੂੰ ਦਰਜਾ ਦੇਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਦਰਜਾਬੰਦੀ[ਮੁੱਲ] ਖਾਸ ਗੁਣਾਂ ਲਈ ਕਾਲਮ ਜਿਵੇਂ "ਗੋਲ ਸਵੀਕਾਰ ਕੀਤੇ" ਅਤੇ "ਫਾਊਲਜ਼ ਪ੍ਰਤੀਬੱਧ"। ਸੰਖਿਆਤਮਕ ਡੇਟਾ ਦੀ ਤੁਲਨਾ ਕਰਨ ਵੇਲੇ ਫੰਕਸ਼ਨ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ। |
IN | ਦ IN ਓਪਰੇਟਰ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇੱਕ ਕਾਲਮ ਦਾ ਮੁੱਲ ਮੁੱਲਾਂ ਦੀ ਸੂਚੀ ਨਾਲ ਸਬੰਧਤ ਹੈ। ਸਕ੍ਰਿਪਟ ਵਿੱਚ, IN ਕਤਾਰਾਂ ਨੂੰ ਫਿਲਟਰ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਦਰਜਾਬੰਦੀ[ਵਿਸ਼ੇਸ਼ਤਾ] ਫੀਲਡ ਵਿੱਚ ਕੁਝ ਟੈਕਸਟ ਮੁੱਲ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ, ਕੋਡ ਨੂੰ ਮਲਟੀਪਲ ਜਾਂ ਓਪਰੇਟਰਾਂ ਦੀ ਤੁਲਨਾ ਵਿੱਚ ਵਧੇਰੇ ਸੰਖੇਪ ਬਣਾਉਂਦਾ ਹੈ। |
ਸਵਿੱਚ | ਇਹ DAX ਫੰਕਸ਼ਨ ਮੁੱਲਾਂ ਦੀ ਇੱਕ ਲੜੀ ਦੇ ਵਿਰੁੱਧ ਇੱਕ ਸਮੀਕਰਨ ਦਾ ਮੁਲਾਂਕਣ ਕਰਦਾ ਹੈ ਅਤੇ ਪਹਿਲਾ ਮੈਚ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਹ ਮਲਟੀਪਲ IF ਸ਼ਰਤਾਂ ਨੂੰ ਬਦਲ ਕੇ ਤਰਕ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ। ਇਸ ਸੰਦਰਭ ਵਿੱਚ, ਇਹ "FOULS COMMITTED" ਅਤੇ "YELLO CARDS" ਵਰਗੀਆਂ ਵੱਖ-ਵੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਦਰਜਾਬੰਦੀ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਸੰਭਾਲਦਾ ਹੈ। |
ਫਿਲਟਰ | ਨਿਰਧਾਰਤ ਸ਼ਰਤਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਕਤਾਰਾਂ ਦੀ ਇੱਕ ਫਿਲਟਰ ਕੀਤੀ ਸਾਰਣੀ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਦ ਫਿਲਟਰ ਫੰਕਸ਼ਨ ਫਿਲਟਰ ਕਰਦਾ ਹੈ ਦਰਜਾਬੰਦੀ ਮੌਜੂਦਾ ਵਿਸ਼ੇਸ਼ਤਾ 'ਤੇ ਆਧਾਰਿਤ ਸਾਰਣੀ, ਇਸ ਨੂੰ ਸਹੀ ਰੈਂਕਿੰਗ ਓਪਰੇਸ਼ਨਾਂ ਲਈ ਜ਼ਰੂਰੀ ਬਣਾਉਂਦੀ ਹੈ ਰੈਂਕਐਕਸ. |
VAR | ਵਿਚਕਾਰਲੇ ਗਣਨਾਵਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ DAX ਵਿੱਚ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਦ VAR ਇਹ ਸਮੂਹ ਦੇ ਮੌਜੂਦਾ ਮੁੱਲ ਨੂੰ ਸਟੋਰ ਕਰਦਾ ਹੈ ਦਰਜਾਬੰਦੀ[ਵਿਸ਼ੇਸ਼ਤਾ] ਮੁੜ ਵਰਤੋਂ ਲਈ, ਵਾਰ-ਵਾਰ ਸਮੀਕਰਨਾਂ ਤੋਂ ਬਚ ਕੇ ਪੜ੍ਹਨਯੋਗਤਾ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣਾ। |
ਸੰਘਣਾ | ਦੇ ਅੰਦਰ ਇਹ ਦਰਜਾਬੰਦੀ ਵਿਕਲਪ ਰੈਂਕਐਕਸ ਫੰਕਸ਼ਨ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਜਦੋਂ ਦੋ ਮੁੱਲ ਬੰਨ੍ਹੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਅਗਲੀ ਦਰਜਾਬੰਦੀ ਹੇਠਾਂ ਦਿੱਤੇ ਪੂਰਨ ਅੰਕ (ਉਦਾਹਰਨ ਲਈ, ਰੈਂਕ 1, 2, 2, 3) ਹੁੰਦੀ ਹੈ, ਜੋ ਕਿ ਸਪੋਰਟਸ ਡੇਟਾ ਵਿੱਚ ਸੰਘਣੀ ਦਰਜਾਬੰਦੀ ਦੇ ਦ੍ਰਿਸ਼ਾਂ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ। |
TRUE() | ਦ TRUE() ਫੰਕਸ਼ਨ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਸਵਿੱਚ ਕਈ ਸਥਿਤੀਆਂ ਨੂੰ ਸਹੀ ਜਾਂ ਗਲਤ ਵਜੋਂ ਮੁਲਾਂਕਣ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ। ਇਹ DAX ਵਿੱਚ ਕਈ ਗੁਣਾਂ ਦੀਆਂ ਸਥਿਤੀਆਂ ਨੂੰ ਸੰਖੇਪ ਰੂਪ ਵਿੱਚ ਜਾਂਚਣ ਲਈ ਗੁੰਝਲਦਾਰ ਬ੍ਰਾਂਚਿੰਗ ਤਰਕ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। |
ਸਾਰੇ | ਦ ਸਾਰੇ ਫੰਕਸ਼ਨ ਨਿਰਧਾਰਤ ਕਾਲਮ ਜਾਂ ਸਾਰਣੀ ਤੋਂ ਫਿਲਟਰਾਂ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਰੈਂਕਐਕਸ ਸਿਰਫ਼ ਫਿਲਟਰ ਕੀਤੀਆਂ ਕਤਾਰਾਂ ਦੀ ਬਜਾਏ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਸਾਰੀਆਂ ਕਤਾਰਾਂ ਨੂੰ ਦਰਜਾ ਦੇਣ ਲਈ ਫੰਕਸ਼ਨ। ਇਹ ਉਦੋਂ ਜ਼ਰੂਰੀ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਨੂੰ ਪੂਰੇ ਡੇਟਾਸੇਟ ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। |
ਡਾਟਾ ਟਾਈਪ ਪਰਿਵਰਤਨ ਨਾਲ ਪਾਵਰ BI ਜਾਂ ਆਪਰੇਟਰ ਗਲਤੀ ਨੂੰ ਹੱਲ ਕਰਨਾ
ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ DAX ਕੋਡ ਵਿੱਚ, ਮੁੱਖ ਮੁੱਦਾ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਤੋਂ ਪੈਦਾ ਹੁੰਦਾ ਹੈ ਜਾਂ ਆਪਰੇਟਰ ਟੈਕਸਟ ਮੁੱਲਾਂ ਦੇ ਨਾਲ. ਇਸ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਗਲਤੀ ਹੁੰਦੀ ਹੈ: "ਟਾਈਪ ਟੈਕਸਟ ਦੇ ਮੁੱਲ 'FOULS COMMITTED' ਨੂੰ True/False ਟਾਈਪ ਵਿੱਚ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।" ਹੱਲ ਵਿੱਚ ਇਹ ਸਮਾਯੋਜਿਤ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ ਕਿ Power BI ਵਿੱਚ ਤਰਕਪੂਰਨ ਤੁਲਨਾਵਾਂ ਕਿਵੇਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਮੂਲ ਕੋਡ OR ਆਪਰੇਟਰ ਨਾਲ ਟੈਕਸਟ ਮੁੱਲਾਂ ਵਾਲੇ ਇੱਕ ਕਾਲਮ ਦੀ ਤੁਲਨਾ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਜੋ ਬੂਲੀਅਨ (ਸੱਚ/ਗਲਤ) ਮੁੱਲਾਂ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ। ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਅਸੀਂ ਵਰਤਦੇ ਹਾਂ IF ਅਤੇ IN ਟੈਕਸਟ ਸਤਰ ਨਾਲ ਤੁਲਨਾ ਕੰਮ ਕਰਨ ਲਈ.
ਪਹਿਲੀ ਕੁੰਜੀ ਸਕ੍ਰਿਪਟ ਪੇਸ਼ ਕਰਦੀ ਹੈ ਰੈਂਕਐਕਸ ਫੰਕਸ਼ਨ. ਇਹ ਫੰਕਸ਼ਨ ਇੱਕ ਨਿਸ਼ਚਿਤ ਸਾਰਣੀ ਦੇ ਅੰਦਰ ਸੰਖਿਆਤਮਕ ਮੁੱਲਾਂ ਦੀ ਲੜੀ ਨੂੰ ਦਰਜਾ ਦੇਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਫਿਲਟਰ ਫੰਕਸ਼ਨ, ਸਕ੍ਰਿਪਟ ਫਿਲਟਰ ਕਰਦੀ ਹੈ ਦਰਜਾਬੰਦੀ ਸਿਰਫ਼ ਮੌਜੂਦਾ ਵਿਸ਼ੇਸ਼ਤਾ ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਕਤਾਰਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਸਾਰਣੀ। ਇਹ ਦਰਜਾਬੰਦੀ ਦੀ ਗਣਨਾ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਇਹ ਦਿੱਤੇ ਵਿਸ਼ੇਸ਼ਤਾ ਦੇ ਆਧਾਰ 'ਤੇ ਗਤੀਸ਼ੀਲ, ਸੰਦਰਭ-ਵਿਸ਼ੇਸ਼ ਦਰਜਾਬੰਦੀ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਦ ਸੰਘਣਾ ਦਰਜਾਬੰਦੀ ਵਿਧੀ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਬੰਨ੍ਹੇ ਹੋਏ ਮੁੱਲਾਂ ਨੂੰ ਉਹੀ ਦਰਜਾ ਪ੍ਰਾਪਤ ਹੁੰਦਾ ਹੈ, ਜੋ ਖਾਸ ਤੌਰ 'ਤੇ ਖੇਡਾਂ ਦੇ ਅੰਕੜਿਆਂ ਵਰਗੇ ਦ੍ਰਿਸ਼ਾਂ ਵਿੱਚ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਿੱਥੇ ਸਬੰਧ ਆਮ ਹੁੰਦੇ ਹਨ।
ਦੂਜੇ ਹੱਲ ਵਿੱਚ, ਸਵਿੱਚ ਫੰਕਸ਼ਨ ਨੂੰ ਕਈ OR ਸ਼ਰਤਾਂ ਨੂੰ ਬਦਲਣ ਲਈ ਲਗਾਇਆ ਜਾਂਦਾ ਹੈ। ਸਵਿੱਚ ਫੰਕਸ਼ਨ ਇੱਕ ਤੋਂ ਵੱਧ ਸਥਿਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਵੇਲੇ ਬਹੁਤ ਕੁਸ਼ਲ ਹੁੰਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਕ੍ਰਮ ਵਿੱਚ ਹਰੇਕ ਕੇਸ ਦਾ ਮੁਲਾਂਕਣ ਕਰਦਾ ਹੈ ਅਤੇ ਮੇਲ ਖਾਂਦਾ ਨਤੀਜਾ ਦਿੰਦਾ ਹੈ। ਇਹ ਪਹੁੰਚ ਮਲਟੀਪਲ IF ਸਟੇਟਮੈਂਟਾਂ ਜਾਂ OR ਓਪਰੇਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲੋਂ ਵਧੇਰੇ ਅਨੁਕੂਲਿਤ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਕੋਡ ਦੀ ਗੁੰਝਲਤਾ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਪੜ੍ਹਨਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ। ਵਰਤ ਕੇ TRUE() ਸਵਿੱਚ ਦੇ ਅੰਦਰ, ਕੋਡ ਹਰੇਕ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਵੱਖ-ਵੱਖ ਦ੍ਰਿਸ਼ਾਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਦਾ ਹੈ ਜਿਵੇਂ ਕਿ "ਫਾਊਲਜ਼ ਕਮਿਟੇਡ" ਜਾਂ "ਯੈਲੋ ਕਾਰਡ।"
ਅੰਤ ਵਿੱਚ, ਯੂਨਿਟ ਟੈਸਟ ਸਕ੍ਰਿਪਟ ਵੱਖ-ਵੱਖ ਡੇਟਾਸੈਟਾਂ ਵਿੱਚ ਹੱਲਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਦਾ ਇੱਕ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਟੈਸਟ ਵਰਤਦਾ ਹੈ ADDCOLUMNS ਟੈਸਟਿੰਗ ਉਦੇਸ਼ਾਂ ਲਈ ਇੱਕ ਅਸਥਾਈ ਕਾਲਮ ਜੋੜਨ ਲਈ, ਰੈਂਕਿੰਗ ਗਣਨਾਵਾਂ ਦੀ ਸੌਖੀ ਤਸਦੀਕ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋਏ। ਇਹ ਸਕ੍ਰਿਪਟ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਦਰਜਾਬੰਦੀ ਸਾਰੇ ਸੰਭਾਵਿਤ ਡੇਟਾ ਪੁਆਇੰਟਾਂ ਵਿੱਚ ਉਹਨਾਂ ਦੀ ਤੁਲਨਾ ਕਰਕੇ ਹਰੇਕ ਵਿਸ਼ੇਸ਼ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਸਹੀ ਹੈ। ਦੀ ਵਰਤੋਂ ਸਾਰੇ ਇਸ ਸੰਦਰਭ ਵਿੱਚ ਫੰਕਸ਼ਨ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਟੈਸਟ ਰੈਂਕਾਂ ਦੀ ਗਣਨਾ ਡੇਟਾ ਵਿੱਚ ਮੌਜੂਦਾ ਫਿਲਟਰਾਂ ਦੁਆਰਾ ਪ੍ਰਭਾਵਿਤ ਕੀਤੇ ਬਿਨਾਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਇੱਕ ਵਿਆਪਕ ਟੈਸਟ ਵਾਤਾਵਰਣ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
ਡਾਟਾ ਟਾਈਪ ਪਰਿਵਰਤਨ ਨਾਲ ਪਾਵਰ BI ਜਾਂ ਆਪਰੇਟਰ ਗਲਤੀ ਨੂੰ ਸੰਭਾਲਣਾ
ਇਹ ਹੱਲ Power BI ਵਿੱਚ DAX ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਅਤੇ ਲਾਜ਼ੀਕਲ ਤੁਲਨਾ ਨੂੰ ਸੋਧ ਕੇ ਟਾਈਪ ਬੇਮੇਲ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ।
MyRank =
VAR ThisGroup = Rankings[Attribute]
RETURN
IF(
Rankings[Attribute] IN { "GOALS CONCEDED", "FOULS COMMITTED", "OWN HALF BALL LOSS", "YELLOW CARDS", "RED CARDS" },
RANKX(
FILTER(
Rankings,
Rankings[Attribute] = ThisGroup
),
Rankings[Value],
, ASC,
DENSE
)
)
ਤਰਕ ਤੋਂ ਬਚਣ ਲਈ ਸਵਿੱਚ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਅਨੁਕੂਲਿਤ ਹੱਲ
ਇਹ ਹੱਲ DAX ਵਿੱਚ SWITCH ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਤੁਲਨਾਤਮਕ ਤਰਕ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ, ਜੋ ਕਿ ਅਕਸਰ ਕਈ OR ਸਟੇਟਮੈਂਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲੋਂ ਵਧੇਰੇ ਕੁਸ਼ਲ ਹੁੰਦਾ ਹੈ।
MyRank =
VAR ThisGroup = Rankings[Attribute]
RETURN
SWITCH(
TRUE(),
Rankings[Attribute] = "GOALS CONCEDED",
RANKX(FILTER(Rankings, Rankings[Attribute] = ThisGroup), Rankings[Value],, ASC, DENSE),
Rankings[Attribute] = "FOULS COMMITTED",
RANKX(FILTER(Rankings, Rankings[Attribute] = ThisGroup), Rankings[Value],, ASC, DENSE),
Rankings[Attribute] = "OWN HALF BALL LOSS",
RANKX(FILTER(Rankings, Rankings[Attribute] = ThisGroup), Rankings[Value],, ASC, DENSE),
Rankings[Attribute] = "YELLOW CARDS",
RANKX(FILTER(Rankings, Rankings[Attribute] = ThisGroup), Rankings[Value],, ASC, DENSE),
Rankings[Attribute] = "RED CARDS",
RANKX(FILTER(Rankings, Rankings[Attribute] = ThisGroup), Rankings[Value],, ASC, DENSE)
)
ਪਾਵਰ BI ਵਿੱਚ ਹੱਲ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟ
ਇਹ DAX ਕੋਡ ਵੱਖ-ਵੱਖ ਸਥਿਤੀਆਂ ਵਿੱਚ ਹਰੇਕ ਰੈਂਕਿੰਗ ਫਾਰਮੂਲੇ ਦੀ ਸ਼ੁੱਧਤਾ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ Power BI ਦੇ ਅੰਦਰ ਯੂਨਿਟ ਟੈਸਟ ਚਲਾਏਗਾ।
TestRankings =
VAR TestData = ADDCOLUMNS(
Rankings,
"TestRank",
IF(
[Attribute] IN { "GOALS CONCEDED", "FOULS COMMITTED", "OWN HALF BALL LOSS", "YELLOW CARDS", "RED CARDS" },
RANKX(ALL(TestData), [Value],, ASC, DENSE)
)
)
RETURN
SUMMARIZE(TestData, [Attribute], [Value], [TestRank])
Power BI DAX ਸਮੀਕਰਨਾਂ ਵਿੱਚ ਡੇਟਾ ਕਿਸਮ ਦੀ ਅਨੁਕੂਲਤਾ ਨੂੰ ਸਮਝਣਾ
Power BI ਵਿੱਚ, DAX ਸਮੀਕਰਨਾਂ ਨੂੰ ਲਾਜ਼ੀਕਲ ਓਪਰੇਸ਼ਨਾਂ ਲਈ ਡਾਟਾ ਕਿਸਮਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣਾ ਚਾਹੀਦਾ ਹੈ। ਇੱਕ ਪ੍ਰਮੁੱਖ ਪਹਿਲੂ ਇਹ ਸਮਝਣਾ ਹੈ ਕਿ ਟੈਕਸਟ ਅਤੇ ਬੂਲੀਅਨ ਮੁੱਲ ਕਿਵੇਂ ਪਰਸਪਰ ਕ੍ਰਿਆ ਕਰਦੇ ਹਨ। ਉਦਾਹਰਨ ਲਈ, "True/False ਟਾਈਪ ਕਰਨ ਲਈ ਟੈਕਸਟ ਦੇ ਮੁੱਲ 'FOULS COMMITTED' ਨੂੰ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ" ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਮੁੱਦਾ ਤਰਕਪੂਰਨ ਤੁਲਨਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਵਿੱਚ ਹੈ ਜਾਂ ਟੈਕਸਟ ਮੁੱਲਾਂ ਦੇ ਨਾਲ, ਜੋ ਕਿ ਬੂਲੀਅਨ ਓਪਰੇਟਰਾਂ ਨਾਲ ਅਸੰਗਤ ਹਨ। ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਕਿ ਡੇਟਾ ਕਿਸਮਾਂ ਤਰਕ ਆਪਰੇਟਰਾਂ ਨਾਲ ਇਕਸਾਰ ਹਨ ਇਸ ਕਿਸਮ ਦੀਆਂ ਗਲਤੀਆਂ ਤੋਂ ਬਚਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
ਪਾਵਰ BI ਡੇਟਾ ਮਾਡਲਿੰਗ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਟੂਲ ਹੈ, ਪਰ ਇਸਨੂੰ ਡੇਟਾ ਕਿਸਮਾਂ ਵੱਲ ਧਿਆਨ ਨਾਲ ਧਿਆਨ ਦੇਣ ਦੀ ਲੋੜ ਹੈ। ਲਾਜ਼ੀਕਲ ਫੰਕਸ਼ਨ ਜਿਵੇਂ ਕਿ IF, ਸਵਿੱਚ, ਅਤੇ ਰੈਂਕਐਕਸ ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਕਰਨ ਲਈ ਸਹੀ ਡਾਟਾ ਕਿਸਮ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਕਾਲਮ ਵਿੱਚ ਟੈਕਸਟ ਮੁੱਲ ਹਨ, ਤਾਂ ਡੇਟਾ ਕਿਸਮ ਨੂੰ ਅਨੁਕੂਲ ਕੀਤੇ ਬਿਨਾਂ ਫਿਲਟਰ ਕਰਨ ਲਈ ਇੱਕ OR ਸ਼ਰਤ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਨਾਲ ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਸ ਦੀ ਬਜਾਏ, ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ IN ਆਪਰੇਟਰ ਜਾਂ ਫਾਰਮੂਲੇ ਦਾ ਪੁਨਰਗਠਨ ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇਕ ਹੋਰ ਅਕਸਰ ਨਜ਼ਰਅੰਦਾਜ਼ ਪਹਿਲੂ ਇਹ ਹੈ ਕਿ ਕਿਵੇਂ ਫਿਲਟਰ DAX ਵਿੱਚ ਡੇਟਾ ਕਿਸਮਾਂ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰੋ। ਅਪਲਾਈ ਕਰਨ ਵੇਲੇ ਏ ਫਿਲਟਰ ਇੱਕ ਟੈਕਸਟ ਕਾਲਮ ਲਈ ਫੰਕਸ਼ਨ, ਤਰਕ ਨੂੰ ਬੂਲੀਅਨ ਤੁਲਨਾਵਾਂ ਦੀ ਬਜਾਏ ਸਟ੍ਰਿੰਗ ਤੁਲਨਾਵਾਂ ਲਈ ਖਾਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਪਾਵਰ BI ਵਿੱਚ ਗਲਤੀ-ਮੁਕਤ ਅਤੇ ਅਨੁਕੂਲਿਤ DAX ਫਾਰਮੂਲੇ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੇ ਡੇਟਾਸੈਟ ਦੀ ਪ੍ਰਕਿਰਤੀ ਨੂੰ ਸਮਝਣਾ ਅਤੇ ਸਹੀ ਫੰਕਸ਼ਨ ਵਰਤੋਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ਪਾਵਰ BI ਜਾਂ ਆਪਰੇਟਰ ਅਤੇ ਡਾਟਾ ਕਿਸਮ ਦੀਆਂ ਗਲਤੀਆਂ 'ਤੇ ਆਮ ਸਵਾਲ ਅਤੇ ਹੱਲ
- ਪਾਵਰ BI ਵਿੱਚ "ਟਾਈਪ ਟੈਕਸਟ ਦੇ ਮੁੱਲ ਨੂੰ ਸਹੀ/ਗਲਤ ਵਿੱਚ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ" ਗਲਤੀ ਦਾ ਕੀ ਕਾਰਨ ਹੈ?
- ਇਹ ਗਲਤੀ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ ਬੁਲੀਅਨ ਤਰਕ ਆਪਰੇਟਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ OR ਟੈਕਸਟ ਖੇਤਰਾਂ 'ਤੇ. ਓਪਰੇਟਰ ਉਮੀਦ ਕਰਦਾ ਹੈ True/False ਮੁੱਲ, ਟੈਕਸਟ ਸਤਰ ਨਹੀਂ।
- ਮੈਂ ਆਪਣੇ DAX ਫਾਰਮੂਲੇ ਵਿੱਚ ਇਸ ਤਰੁੱਟੀ ਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਦੀ ਵਰਤੋਂ ਕਰੋ IN ਵਰਤਣ ਦੀ ਬਜਾਏ ਟੈਕਸਟ ਮੁੱਲਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨ ਲਈ ਆਪਰੇਟਰ OR ਸਤਰ ਦੇ ਵਿਚਕਾਰ, ਜੋ ਪਾਵਰ BI ਨੂੰ ਡਾਟਾ ਕਿਸਮਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
- ਕੀ SWITCH ਫੰਕਸ਼ਨ ਕਈ ਹਾਲਤਾਂ ਨੂੰ ਸੰਭਾਲਣ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ?
- ਹਾਂ, ਦ SWITCH ਫੰਕਸ਼ਨ ਮਲਟੀਪਲ ਨੂੰ ਬਦਲਣ ਦਾ ਇੱਕ ਕੁਸ਼ਲ ਤਰੀਕਾ ਹੈ IF ਸ਼ਰਤਾਂ, ਖਾਸ ਤੌਰ 'ਤੇ ਟੈਕਸਟ ਤੁਲਨਾਵਾਂ ਨਾਲ ਨਜਿੱਠਣ ਵੇਲੇ। ਇਹ ਕੋਡ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਕਿਸਮ ਦੀ ਬੇਮੇਲਤਾ ਤੋਂ ਬਚਦਾ ਹੈ।
- ਪਾਵਰ BI ਵਿੱਚ RANKX ਫੰਕਸ਼ਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ?
- RANKX ਇੱਕ ਖਾਸ ਕਾਲਮ ਵਿੱਚ ਇੱਕ ਮੁੱਲ ਦੇ ਅਧਾਰ ਤੇ ਕਤਾਰਾਂ ਨੂੰ ਦਰਜਾ ਦੇਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਅਕਸਰ ਇਸ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ FILTER ਖਾਸ ਸ਼੍ਰੇਣੀਆਂ ਦੇ ਅੰਦਰ ਰੈਂਕ ਦੇਣ ਲਈ ਫੰਕਸ਼ਨ।
- DAX ਵਿੱਚ OR ਅਤੇ IN ਵਿੱਚ ਕੀ ਅੰਤਰ ਹੈ?
- OR ਬੂਲੀਅਨ ਹਾਲਤਾਂ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਦਕਿ IN ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕੀ ਕੋਈ ਮੁੱਲ ਟੈਕਸਟ ਜਾਂ ਸੰਖਿਆਤਮਕ ਮੁੱਲਾਂ ਦੀ ਸੂਚੀ ਨਾਲ ਸਬੰਧਤ ਹੈ।
OR ਆਪਰੇਟਰ ਗਲਤੀ ਹੱਲ ਨੂੰ ਸਮੇਟਣਾ
ਇਸ ਲੇਖ ਵਿੱਚ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ Power BI ਵਿੱਚ ਆਮ ਗਲਤੀ ਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰਨਾ ਹੈ ਜਿੱਥੇ OR ਆਪਰੇਟਰ "FOULS COMMITTED" ਵਰਗੇ ਟੈਕਸਟ ਮੁੱਲਾਂ ਨਾਲ ਅਸੰਗਤ ਹੈ। ਹੱਲ ਵਿੱਚ ਕਿਸਮ ਦੀ ਬੇਮੇਲਤਾ ਤੋਂ ਬਚਣ ਲਈ ਤਰਕਪੂਰਨ ਤੁਲਨਾਵਾਂ ਲਈ ਸਹੀ ਓਪਰੇਟਰਾਂ ਦੀ ਵਰਤੋਂ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ।
DAX ਕੋਡ ਨੂੰ ਸੋਧ ਕੇ ਅਤੇ SWITCH ਅਤੇ RANKX ਵਰਗੇ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰਕੇ, ਤੁਸੀਂ ਡਾਟਾ ਨੂੰ ਵਧੇਰੇ ਕੁਸ਼ਲਤਾ ਨਾਲ ਰੈਂਕ ਅਤੇ ਫਿਲਟਰ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀਆਂ ਪਾਵਰ BI ਰਿਪੋਰਟਾਂ ਸਟੀਕ ਅਤੇ ਗਲਤੀ-ਰਹਿਤ ਰਹਿਣ, ਵੱਖ-ਵੱਖ ਡੇਟਾਸੈਟਾਂ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਉਪਯੋਗਤਾ ਨੂੰ ਵਧਾਉਂਦੀਆਂ ਹਨ।
ਪਾਵਰ BI ਜਾਂ ਆਪਰੇਟਰ ਐਰਰ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਲਈ ਹਵਾਲੇ ਅਤੇ ਸਰੋਤ
- DAX ਫਾਰਮੂਲਾ ਬਣਤਰ ਅਤੇ ਪਾਵਰ BI ਤਰੁੱਟੀਆਂ ਦੇ ਨਿਪਟਾਰੇ ਬਾਰੇ ਜਾਣਕਾਰੀ ਅਧਿਕਾਰਤ Microsoft Power BI ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੀ ਗਈ ਸੀ: ਮਾਈਕ੍ਰੋਸਾੱਫਟ ਪਾਵਰ BI ਦਸਤਾਵੇਜ਼
- DAX ਫੰਕਸ਼ਨਾਂ 'ਤੇ ਵਾਧੂ ਹਵਾਲਾ ਜਿਵੇਂ ਕਿ ਰੈਂਕਐਕਸ, ਸਵਿੱਚ, ਅਤੇ ਫਿਲਟਰ DAX ਗਾਈਡ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਗਿਆ ਸੀ: DAX ਗਾਈਡ
- Power BI ਵਿੱਚ ਜਾਂ ਆਪਰੇਟਰ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਹੋਰ ਉਦਾਹਰਣਾਂ ਅਤੇ ਹੱਲ Power BI ਕਮਿਊਨਿਟੀ ਦੇ ਕਮਿਊਨਿਟੀ ਫੋਰਮਾਂ ਤੋਂ ਲਏ ਗਏ ਸਨ: ਪਾਵਰ BI ਕਮਿਊਨਿਟੀ